贪吃蛇C语言图形化编程

贪吃蛇C语言图形化编程

ID:37791220

大小:20.35 KB

页数:12页

时间:2019-05-31

贪吃蛇C语言图形化编程_第1页
贪吃蛇C语言图形化编程_第2页
贪吃蛇C语言图形化编程_第3页
贪吃蛇C语言图形化编程_第4页
贪吃蛇C语言图形化编程_第5页
资源描述:

《贪吃蛇C语言图形化编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、//////////////////////////////////////////////程序名称:贪吃蛇//编译环境:VisualC++6.0/2010,EasyX_2011惊蛰版//程序编写:轻雨漫步<512655756@qq.com>//最后更新:2011-3-11////////////////////////////////////////////////开始编写游戏需要的类////////////////////////////////////////////#include

2、ics.h>//EasyX_2011惊蛰版(绘图库)#include#include#include#defineUP1#defineDOWN2#defineLEFT3#defineRIGHT4//////////////////////////////////////////////格子类,定义一个格子的属性及行为////////////////////////////////////////////classCell{public:friendc

3、lassGameArea;//设置友元函数voidsetxy(shortx,shorty)//设置格子左上角坐标{m_x=x,m_y=y;}voidsetfull(shortfull)//设置格子属性,0为空,1为障碍,2为食物{m_full=full;}voiddisplay(COLORREFcolor)//设置格子颜色并显示{m_color=color;setfillstyle(m_color);bar(m_x,m_y,m_x+7,m_y+7);}voidLaserDisplay()//显示镭射状

4、态的格子{IMAGEimage(10,10);SetWorkingImage(&image);DWORD*pMem=GetImageBuffer(&image);for(inti=0;i<10*10;i++)pMem[i]=BGR(RGB(0,0,i*256/(10*10)));SetWorkingImage(NULL);putimage(m_x,m_y,&image);}shortReturnFull()//返回格子状态{returnm_full;}Cell()//构造函数{m_x=0,m_y=0,

5、m_full=0;m_color=BLACK;}private:shortm_x;//格子的左上角X坐标shortm_y;//格子的左上角Y坐标shortm_full;//0为空,1为阻挡,2为食物COLORREFm_color;//格子颜色};//////////////////////////////////////////////游戏区类,编写有关游戏区的一些操作////////////////////////////////////////////classGameArea//游戏区域{pub

6、lic:Cellm_game[60][60];//定义游戏区域(由360个格子组成)friendvoidMessageDispose();//设置友元函数boolCreatFood()//产生随机食物{srand(time(NULL));//初始化随机数种子m_random1=rand()%58+1;//随机生成一个0-58的整数m_random2=rand()%58+1;//随机一个0-58的整数if(m_game[m_random2][m_random2].m_full==0)//检查生成的食物坐

7、标是否在障碍上{m_game[m_random1][m_random2].display(GREEN);m_game[m_random1][m_random2].m_full=2;returntrue;}//如果随机的食物正好出现在蛇身上,则进入下面的循环寻找可以生成食物的地方for(m_random1=1;m_random1<59;m_random1++){for(m_random2=1;m_random2<59;m_random2++){if(m_game[m_random2][m_random2

8、].m_full==0){m_game[m_random1][m_random2].display(GREEN);m_game[m_random1][m_random2].m_full=2;returntrue;}}}//如果没有找到可以生成食物的地方,则通关returnfalse;//返回false即表示通关}voidDelFood()//删除食物{m_game[m_random1][m_random2].m_full=0;//设置为0即代表格子属性为

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

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

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