贪吃蛇-实验报告

贪吃蛇-实验报告

ID:41575545

大小:364.03 KB

页数:19页

时间:2019-08-28

贪吃蛇-实验报告_第1页
贪吃蛇-实验报告_第2页
贪吃蛇-实验报告_第3页
贪吃蛇-实验报告_第4页
贪吃蛇-实验报告_第5页
资源描述:

《贪吃蛇-实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验报告课程名称:Windows程序设计实验名称:贪吃蛇设计成员:漆咏康彭哲李佩东程離桥康勇周涛高志奇专业年级:2011级软件工程填写时间:2012/12/24贪吃蛇一所要实现贪吃蛇的功能:1、点击“上”、“下”、“左”、“右”,蛇想相应的方向移动;每吃到一个豆子,蛇的长度增加一个,然后又生成一个食物;当蛇撞界或者吃到自己时,游戏结束并显示“GAMEOVER”;蛇每吃一个食物,右边得分就增加;2、在右边区域显示此游戏的作者姓名;3、去掉工具栏,将应用程序的图标和名称改变;4、当点击游戏菜单下的“新

2、游戏”、“游戏开始”、“游戏暂停”、“游戏继续”相关按钮时,就会执行相应的功能;5、当点击音效菜单下的“开启声音”、“关闭声音”时,就会响起声音或者关闭声音;6、当在难度设置菜单下设置了难度后,游戏的难度就会做相应的变化;7、当不了解游戏规则吋,单击帮助菜单下的“游戏规则说明”就会弹出一个消息框;相关界面如下:铁贪吃蛇•经芟游戏I匸

3、徹(Y)言效(S)难度设1(D)帮助(H)就绪■贪吃蛇-经典槪二贪吃蛇的设计思想:1、界面布局的实现:采用图形工具(位图、画笔、文本文字)在单文档上显示出来;装载应用

4、程序图标及修改应用程序图标;修改菜单栏以及去掉工具栏并固定应用程序窗口大小,取消最大化;2、在视类源文件定义一个蛇类和食物类的结构体变量,并初始化蛇的各项成员变量,包括蛇出现在客户区的初始位置、长度以及蛇的行驶方向;同时也要初始化食物类:食物岀现的初始位置以及食物是否被吃掉的判断;用初始化长度为3的蛇,并且默认食物为0,未岀现;3、为视类添加一个公共成员变量,用来存放分数;在视类源文件处定义一个静态变量,用来存放吋间timel;4、给视类添加一个WM_TIMER消息,用OnTimer()函数不断更

5、新游戏;同时也要添加一个WM_KEYDOWN,用OnKeyDown()来响应玩家的实际操作;另外,也要添加一个WM_RBUTTONDOWN消息,此消息只是为了获取客户区相应位置的位置,用于显示文字而用;5、具体游戏实现,还要包括蛇撞到墙或吃到自己都会结束游戏并输出“GAMEOVER”,显示得分,还有判断吃豆以及通过时间来改变游戏的难度。注:我们小组的贪吃蛇设计实现全部是在视类中实现的,在其它类不要添加代码;我们主要用到的知识点有:视类的消息响应、菜单栏的消息响应、结构体变量及数组、CDC类画图三实

6、验具体步骤:1、打开VisualC++新建一个单文档应用程序,默认工程名文件夹为Snake32、然后为视类添加3个消息映射,WM_KEYDOWN、WM_RUTTONDOWN、WM.TIMER;同时为视类增加一个消息OnlnitialUpdate()用來初始化;3、为视类添加一个公共成员变量soure,存放分数;为视类添加2个成员函数oninit()和grade(),分别用来贪吃蛇的外观的初始化以及显示分数而用;4、在视类源文件开头定义一个静态变量time1=500,存放吋间;然后构造一个蛇类和食物

7、类;5、引入图标和位图,用于修改应用程序图标和添加围墙;7、新游戏:游戏开始:游戏暂停:游戏继续:游戏退岀:开启声音:关闭咅效:简单:中等.困难:游戏规则说明:6、更改应用程序图标和名称,去掉工具栏,修改菜单栏;图形如下:新游戏游戏珈经典游戏游戏暂停laMTsT磁躍(

8、=等科助(可1游戏退出St游戏规则说明■贪吃蛇.经典游戏为个菜单项添加消息映射如下:OnReopen()OnStart()OnPause()OnContinue()OnExit()OnSoundOpen()OnSoundCloseO

9、OnSimple()OnMiddle()OnDifficult()OnShuomingOIDM_REOPENIDM_STARTIDM_PAUSEIDM_CONTINUEIDM_EXITIDM_SOUND_OPENIDM_SOUND_CLOSEIDM.SIMPLEIDM_MIDDLEIDM_DIFFICULTIDM.SHUOMING8、取消最大化按钮并固定应用程序窗口大小,如下9、在右边显示文字,如下得分:0作者:漆咏康彭哲李佩东程鎂桥康勇里涛咼/dAPJ10、添加背景位图、砖并画出白色游戏区11、

10、具体代码实现12>调试并修改错误13、完成实验并写实验报告注:视类中添加函数如下:7)*5CSnackViewI$AssertValidOI%CSnackView0IQ^CSnackView0oDu叩(CDu叩Context&dcIQGetDocument()I•…Qgrade0I%OnBeginPrinting(CDC*I%OnContinue0I%OnDifficu110I$OnDraw(CDC*pDC)I^OnEndPrinting(CDC*pD%OnEraseBkgnd(C

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。