贪吃蛇vc语言源代码流程图课程设计报告-课程设计内容摘要:
//游戏帮助说明 IDD_YS_BEST //英雄榜 IDD_YS_RETRY //停止游戏确认 IDD_ABOUTBOX //关于游戏版本 音乐 IDR_YS_BKGMUSIC //游戏背景音乐 IDR_YS_EAT //贪吃蛇吃到食物的音乐 IDR_YS_LOWSCORE //游戏结束后得低分音乐 IDR_YS_HIGHSCORE //游戏结束后得高分音乐 位图 IDB_YS_BITMAP //游戏背景图 菜单 /工具栏 IDR_MAINFRAME //系统自带菜 单 IDR_YS_TOOLBAR //自己创建的工具条 头文件 //播放音乐的相应文件 //文件流文件 主要功能的实现 游戏界面 贪吃蛇游戏的游戏界面包括背景图片、蛇身体的绘制、蛇移动范围的绘制等等。 其中贪吃蛇的身体用什么方法绘制,才可以使得其在游戏过程中可以实现 “吃”的功能是很重要的。 因此在游戏界面的初始绘制时就必须考虑到游戏时可能遇到的问题。 本程序采用点数组 CArrayCPoint,CPoint m_ysBody 来存储贪吃蛇,点数组的功能很强大,可以添加点,同时可以获得蛇的长度,对于而后进行游戏中控制蛇的颜色以及音效的播放等都有很大的帮助。 导入位图以及菜单工具条后,游戏未开始前( XP 系统下)的界面显示如图 31所示 图 31 游戏初始界面显示 初始化食物 确定用点数组存储贪吃蛇以后,贪吃蛇的食物如何达到随机出现,并且能够按照网格式与蛇头无偏差 相接就是一个亟待解决的问题。 随机出现应采用 rand()函数来实现,而食物与蛇头无偏差相接则利用坐标来解决。 设置两个整型变量 m_ysX,m_ysY 作为食物出现的点的坐标,令 m_ysX= rand()%30, ,m_ysY= rand()%40 即可。 使随机出现的点能够整除最小网格,也就是使食物与蛇头无偏差相接。 再由食物坐标( m_ysX,m_ysY)与蛇头坐标是否相同判断蛇是否“吃”到了食物,设置判断标签 ysTag,如果吃到了, ysTag 为 1,则再出现下一个食物,反之,如果没吃到,则不出现食物直到标签为 1 为止。 最后,再将( m_ysX,m_ysY)赋给 m_ysFood 作为食物坐标,以便在其他函数中调用。 在下面的图 32 中,我们可以看到,蛇的身体是与出现的食物在一条直线上的,完全可以达到相接的目的。 图 32 蛇与食物的相接 开始游戏 开始游戏后的重点是如何用键盘来控制蛇的移动并传递到 OnTimer(UINT nIDEvent)函数中去以及。贪吃蛇vc语言源代码流程图课程设计报告-课程设计
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。