“贪吃蛇”游戏程序代码.doc

“贪吃蛇”游戏程序代码.doc

ID:61903856

大小:63.50 KB

页数:12页

时间:2021-03-26

“贪吃蛇”游戏程序代码.doc_第1页
“贪吃蛇”游戏程序代码.doc_第2页
“贪吃蛇”游戏程序代码.doc_第3页
“贪吃蛇”游戏程序代码.doc_第4页
“贪吃蛇”游戏程序代码.doc_第5页
资源描述:

《“贪吃蛇”游戏程序代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、“贪吃蛇”游戏程序代码我个人是比较喜欢玩游戏的,所以学习编程二年多了,很想做个游戏程序,由于能力有限,一直没能做好,后来突然看同学在手机上玩“贪吃蛇”,故想做出来,其一是因为此游戏界面容易设计,算法也比较简单,今天我就把我程序的代码和算法介绍一下,顺便把程序界面皮肤设计说一下......   程序中一个关于游戏信息的类如下,由于类的说明在程序中写的很清楚了,就不再多解释了:#include"time.h"   //方向定义   constCPointUP(CPoint(0,-1));   constCPoin

2、tDOWN(CPoint(0,1));   constCPointLEFT(CPoint(-1,0));   constCPointRIGHT(CPoint(1,0));   //速度快慢定义   constintHIGH=75;   constintNORMAL=180;   constintSLOW=300;   constintMAX=80;//表示转向数   constintLENGTH=10;   classGameMsg   {   public:   GameMsg(void)   :m_ico

3、n(0)   {   InitGame();   }   voidInitGame(intup=VK_UP,intdown=VK_DOWN,intleft=VK_LEFT,intright=VK_RIGHT)   {   srand((unsigned)time(NULL));   m_gameSpeed=NORMAL;   m_speedNum=2;   m_snakeNum=4;   for(inti=0;i

4、H*2*5+LENGTH,LENGTH*2*(i+5));   m_run=true;   m_direction=RIGHT;   turnUP=up;   turnDOWN=down;   turnLEFT=left;   turnRIGHT=right;   }   public:   intm_gameSpeed;//游戏速度   intm_speedNum;//游戏速度数   CPointm_foodPoint;//食物定义   boolm_run;//游戏状态,运得态还是暂停(结束)态   CPo

5、intm_snakePoint[MAX];//蛇身定义   CPointm_direction;//蛇运动方向   intm_snakeNum;//蛇身结点数   intm_icon;//用来设定食物是那种图标的   intturnUP;//用来表示玩家“上”键设的键intturnDOWN;//用来表示玩家“下”键设的键intturnLEFT;//用来表示玩家“左”键设的键intturnRIGHT;//用来表示玩家“右”键设的键   intm_num;//用来记录所选水果的编号   };   再让读者看一下程

6、序主干类的设计,其中以下只列出由我们自己添加的一些变量的说明,其他的是由程序向导自动生成的,我就不说了:   public:   afx_msgvoidOnTimer(UINT_PTRnIDEvent);//程序中运行函数,即是一个定时器,时间就是上面类中的m_gameSpeed来控制的CStatic*m_staticArray;//这是一个蛇定义,是用来显示蛇的,上面只告诉蛇身结点的中心点位置坐标,然后在此中心画一个控件就类似于蛇身了afx_msgvoidOnClose();//结束,主要是在其中销毁定时器

7、的   voidGameOver(void);//游戏结束函数   afx_msgvoidOnRButtonDown(UINTnFlags,CPointpoint);//当点击鼠标右键出现菜单afx_msgvoidOnNewGame();//菜单选项,新游戏afx_msgvoidOnPauseOrStart();//菜单选项,暂停/开始游戏afx_msgvoidOnUpdateQuick(CCmdUI*pCmdUI);//这3个函数本来是来标记速度的,和上面类中的m_speedNum对应,但是没有标记成功  

8、 afx_msgvoidOnUpdateNormal(CCmdUI*pCmdUI);   afx_msgvoidOnUpdateSlow(CCmdUI*pCmdUI);   afx_msgvoidOnNormal();//菜单选项,设定为普通速度afx_msgvoidOnSlow();//菜单选项,设定为慢速度afx_msgvoidOnQuick();//菜单选项,设定为快速度afx_msgvoid

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

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

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