贪吃蛇C语言图形化编程.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
贪吃蛇C语言图形化编程

//////////////////////////////////////////// // 程序名称:贪吃蛇 // 编译环境:Visual C++ 6.0 / 2010,EasyX_2011惊蛰版 // 程序编写:轻雨漫步 512655756@ // 最后更新:2011-3-11 // //////////////////////////////////////////// //开始编写游戏需要的类 //////////////////////////////////////////// #include graphics.h //EasyX_2011惊蛰版(绘图库) #include stdio.h #include conio.h #include time.h #define UP 1 #define DOWN 2 #define LEFT 3 #define RIGHT 4 //////////////////////////////////////////// //格子类,定义一个格子的属性及行为 //////////////////////////////////////////// class Cell { public: friend class GameArea; //设置友元函数 void setxy(short x, short y) //设置格子左上角坐标 { m_x = x, m_y = y; } void setfull(short full) //设置格子属性,0为空,1为障碍,2为食物 { m_full = full; } void display(COLORREF color) //设置格子颜色并显示 { m_color = color; setfillstyle(m_color); bar(m_x, m_y, m_x+7, m_y+7); } void LaserDisplay() //显示镭射状态的格子 { IMAGE image(10,10); SetWorkingImage(image); DWORD* pMem = GetImageBuffer(image); for(int i = 0; i 10 * 10; i++) pMem[i] = BGR(RGB(0, 0, i * 256 / (10*10) )); SetWorkingImage(NULL); putimage(m_x,m_y,image); } short ReturnFull() //返回格子状态 { return m_full; } Cell() //构造函数 { m_x = 0,m_y = 0,m_full = 0; m_color = BLACK; } private: short m_x; //格子的左上角X坐标 short m_y; //格子的左上角Y坐标 short m_full; //0为空,1为阻挡,2为食物 COLORREF m_color; //格子颜色 }; //////////////////////////////////////////// //游戏区类,编写有关游戏区的一些操作 //////////////////////////////////////////// class GameArea //游戏区域 { public: Cell m_game[60][60]; //定义游戏区域(由360个格子组成) friend void MessageDispose(); //设置友元函数 bool CreatFood() //产生随机食物 { 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) //检查生成的食物坐标是否在障碍上 { m_game[m_random1][m_random2].display(GREEN); m_game[m_random1][m_random2].m_full = 2; return true; } //如果随机的食物正好出现在蛇身上,则进入下面的循环寻找可以生成食物的地方 for(m_random1 = 1;m_random1 59;m_random1++) { for

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档