您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > C语言吃金豆游戏程序设计实验报告
实训报告实训题目:吃金豆游戏程序设计院系:计算机科学与工程学院专业:软件工程(单招)学号:092213112姓名:刘泽中指导教师:周荣实训地点:N6-109开课时间:至学年第学期常熟理工学院计算机科学与工程学院制常熟理工学院学生姓名刘泽中实训报告成绩评语:指导教师(签名)年月日说明:指导教师评分后,实训报告交院办公室保存。092213112刘泽中目录1.实训的目的和任务......................................................31.1实训目的.........................................................31.2实训任务.........................................................32.开发环境..............................................................32.1硬件环境........................................................32.2软件环境.........................................................33.PACMAN游戏功能描述与分析..............................................43.1功能描述:.......................................................43.2游戏软硬件最低标配设施:.........................................53.3需求分析.........................................................53.4总体功能要求.....................................................63.5程序用到的知识点.................................................63.6游戏各功能流程图.................................................64.程序详细分析..........................................................94.1部分函数功能描述.................................................94.2结构体的定义....................................................104.3部分函数源码分析................................................104.4程序运行界面图示................................................225.个人总结.............................................................26实训报告要求与排版字号:1.实训报告排版打印统一用A4(21X29.7cm)格式。2.标题用小二号黑体加粗,正文用四号宋体。行距为固定值20磅。3.页面上边距2.54cm,下边距2.54cm,左边距3cm,右边距2.2cm;4.实训报告页码从正文页面起计算。页码字号,选用小四号粗黑体并居中。常熟理工学院092213112刘泽中1.实训的目的和任务1.1实训目的进一步加深、巩固所学专业课程(《C语言程序设计》)的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。掌握运用C语言独立地编写、调试应用程序和进行其它相关设计的技能。使学生在掌握C语言的基本语法的基础上,能够更好的理解和运用其解决实际问题。在实践实习操作中让学生对结构化程序设计有更进一步深刻的认识与了解,提高学生的实践操作能力。1.2实训任务1.2.1游戏基本功能:游戏屏幕是一个NxN的网格,其中某些格子是固定的墙壁,其他网格是可以通行的,开始的时候放满了金豆。游戏开始后,玩家通过键盘的方向键控制游戏主角PACMAN移动,经过的地方,金豆被吃掉,同时加分。游戏屏幕上还有一个怪物,它会随机地移动。PACMAN如果碰到怪物,游戏失败。如果吃掉了全部金豆,则游戏成功。1.2.2附加功能1.2.2.1.游戏主菜单:开始游戏、查看成绩排行榜、退出游戏等项目。1.2.2.2.每次游戏成功结束,要求输入用户名,并记录成绩到文件score.txt。如果已有同名用户,且本次得分更高,则替代之。在显示排行榜时,按得分高低排序。1.2.2.3.使用不同的关卡,即使用多个场景文件scene(0-n).txt,在开始游戏时选择。1.2.2.4.加入声音效果,吃到金豆时,Win/Lost时显示不同的声音。2.开发环境2.1硬件环境常熟理工学院软件实验室机房九章楼N6-109机房12号机器2.2软件环境2.2.1系统开发工具:WIN-TC是一个TC2WINDOWS平台开发工具。该软常熟理工学院件使用TC2为内核,提供Windows平台的开发界面,因此也就支持Windows平台下的功能,列如剪切、复制、粘贴和查找替换等功能。而且在功能上也有它独特特色列如语法加亮、C内嵌汇编、自定义扩展库的支持等。并提供一组相关辅助工具令你在编程过程中更加游刃有余,如虎添翼。本软件主要用于编写C语言程序。2.2.2软件开发程序:C语言。C语言是目前国际上比较流行的计算机高级编程语言之一,因其简洁、使用方便且具备强大的功能而受到编程人员的普遍青睐。它既适合作为系统描述语言,也可以用来编写系统软件,还可以来编写应用软件。用C语言来编写Pacman这个游戏有较大优势:C语言具有各种各样的数据类型,并引入了指针概念,使得程序效率更高;C语言还包含很广泛的运算符;另外C语言具有强大的图形功能,支持多种显示器和驱动器,而且计算功能、逻辑判断能力也比较强大。2.2.3操作系统:WindowsxP操作系统。3.PACMAN游戏功能描述与分析3.1功能描述:3.1.1游戏菜单:可通过上下键选择开始游戏、选择关卡、查看最高分排名以及退出功能。3.1.2开始游戏:本游戏预设共八个关卡,每个关卡难度均不同。通过各种条件的判断,玩家可以通过上下左右键控制Pacman小人四处移动,同时地图中也有一个小妖怪随机的四处移动,玩家必须躲避小妖怪并四处移动吃掉图中的金豆。若玩家不幸碰撞到小妖怪Monster,游戏结束,显示Gameover界面并显示分数,若你所获得的分数大于排行榜中最后一名的分数,则游戏界面会让你输入姓名,计入排行榜。若全部金豆吃完,进入下一关。若八关全通过,则显示Win界面,显示所获得的分数,并计入排行榜。3.1.2.1Gameover界面有再玩一次和退出两个按钮,如果选择再玩一次,那么游戏重新开始(从第一关开始),若选择退出按钮,则游戏返回到菜单主界面。3.1.2.2Win界面同Gameover界面;3.1.3选择关卡:092213112刘泽中当进入选择关卡页面后,屏幕显示出八块地图的缩略图,并有相关功能按钮。玩家可以按键盘的上下左右键选择关卡,如若选择,可按Enter键选中地图,并进入游戏。另外分别有F6载入地图功能、F1、F2或PgUp、PgDn进行缩略图的翻页功能、F8显示帮助功能和F10或ESC的回到主菜单功能。3.1.3.1F6载入地图功能:因为本游戏的默认地图有限,玩家可以按格式自己画制地图,并保存txt格式。然后选择F6进入输入路径的页面,输入完正确的路径后按回车键就可以载入并玩起自己编写的地图啦!3.1.3.2F1、F2或PgUp、PgDn进行缩略图的翻页功能:由于屏幕显示大小有限,所以一幅画面只能显示四幅地图,还有4幅地图则可以通过F1、F2或PgUp、PgDn键进行翻页查看。同时这也方便了日后添加多个地图的问题,也是程序的美化度大大提高。3.1.3.3F8帮助功能:每一款游戏不管难易程度如何,都有个帮助界面。同样Pacman游戏也需要,对于新手来说是必不可少的,前提是亲你要看的懂英文喔(Tc软件不支持显示中文啦-。-)。3.1.3.4F10或Esc键退出功能:用来回到主菜单界面的一个基本功能;3.1.4排行榜功能:本游戏使用C语言文件的读写及排序实现了游戏的排行榜功能。排行榜默认显示玩过本游戏并取得高分的前八个高分,记录他们的姓名及对应的分数(姓名是英文的哟~),前三名红名显示,以示他们很牛逼!3.1.5退出功能键:退出整个游戏。3.2游戏软硬件最低标配设施:3.2.1软件配备:TurboC2.0,windows2000/2003/xp等3.2.2硬件配备:内存:512MB及以上外存:60GB及以上CPU:奔4及以上3.3需求分析常熟理工学院3.3.1用C语言实现系统;3.3.2实现Pacman游戏的基本功能:吃豆、躲怪、过关;3.3.3实现游戏的菜单界面;3.3.4实现游戏排行榜功能;3.3.5实现游戏中加入声音功能。3.4总体功能要求Pacman游戏界面,主要显示开始游戏,选择关卡,查看排名及退出功能。开始游戏后Pacman吃金豆加分并过关卡,碰到怪物游戏结束。游戏结束后输入姓名载入排行榜;并可在排行榜中查看到分数的排名及对应的姓名。若玩家不想从第一关开始玩而是想自由选择其中关卡或载入自己的地图,则可通过选择关卡来实现。3.5程序用到的知识点3.5.1数组:一维数组、二维数组以及字符数组和字符串的定义和引用;3.5.2函数:函数的定义、调用、嵌套调用、递归调用、局部变量及全局变量;3.5.3指针:指针变量的定义和引用、指针与数组、指针与字符串、指针与函数;3.5.4结构体和链表:结构体类型变量的定义和引用、结构体与数组、结构体与指针、结构体指针处理链表;3.5.5文件:文件的打开与关闭、文件的读写操作;3.5.6图形模式:作图、画图以及动画技术;3.6游戏各功能流程图3.6.1程序主界面流程图运行程序,进入主界面退出游戏查看排行榜选择关卡开始游戏092213112刘泽中3.6.2开始游戏流程图是否否是否是否是是开始游戏调用gamplay函数进入主循环判断是否有键按下判断是否为Esc键判断按键并执行相应动作输出动作声音吃掉金豆并加分判断是否撞到妖怪判断是否吃掉所有金豆Level++,重新载入地图调用gamePlay进入下一关游戏结束,输出分数判断分数是否能进排行榜用户输入姓名选择重新开始游戏或退出返回主界面Pacman按原有方向自动行走常熟理工学院3.6.3选择关卡模块流程图是否3.6.4查看排行榜流程图是选择进入选择关卡模块显示所有地图的缩略图显示菜单部分判断是否有键按下判断按键并执行相应操作判断是否是退出键返回游戏主界面进入排行榜界面打开文件读取数据显示数据判断是否有键按下关闭文件返回游戏主界面092213112刘泽中3.6.5退出程序流程图(略)4.程序详细分析4.1部分函数功能描述4.1.1voidinit();/*用于图形模式初始化*/4.1.2voidinitPacman(Face*face,intr,intc,intsize,intx0,inty0)/*pacman的一些初始值设置(坐标,初始位置,大小等)*/4.1.3voidinitMonster(Monster*monster,intx,inty,enumDirectiondir)/*Monster的一些初始设置(坐标,运动方向)*/4.1.4voiddrawBlock(inti,intj)/*用于画整个地图盘面*/4.1.5voiddrawBall(inti,intj)/*用于画地图上的金豆*/4.1.6voiddrawWall(inti,intj)/*画地图中的墙*/4.1.7void
本文标题:C语言吃金豆游戏程序设计实验报告
链接地址:https://www.777doc.com/doc-7367349 .html