傻大方


首页 > 学习 >

基于|基于mfc的贪吃蛇程序设计(课程设计报告)( 四 )



按关键词阅读: 报告 课程设计 基于 程序设计 贪吃 MFC


my2DC-SetTextColor(RGB(255,0,255);
my2DC-TextOut(800,4 。

26、30,请不要咬到自己或撞到围墙!);
/在界面右下角分别出现三行背景色为黑色的彩色文本9.3.9对OnTimer(UINT nIDEvent)添加具体代码void CMFCexp8_4View:OnTimer(UINT nIDEvent) CDC *pDC=GetDC();
CString soure;
if(Snake0.len=2)SetTimer(1,370,NULL);
if(Snake0.len=3)SetTimer(1,270,NULL);
if(Snake0.len=6)SetTimer(1,200,NULL);
if(Snake0.len=9)SetTimer(1,100,NULL);
/这 。

27、段代码的作用是根据蛇的长度来进行SetTimer()函数的定义 , 可以根据长度来进行游戏难度的设定/如上代码分别370ms 270ms 200ms 100ms进行一次新的移动 。
soure.Format(当前得分:%d!,(Snake0.len-3)*10);
my2DC-SetTextColor(RGB(0,255,0);
my2DC-TextOut(800,460,soure);
/撞界判断if(Snake0.x*20=462|Snake0.y*20=462)KillTimer(1);
AfxMessageBox(soure);
CMFCexp8_4View:OnExit();
/蛇身相撞判断if(Sn 。

28、ake0.len3)for(int sn=Snake0.len-1;
sn0;
sn-)/根据蛇长sn , 进行sn次for sn-1次循环,判断蛇自己是否咬到了自己if(Snake0.x*20=Snakesn.x*20&Snake0.y*20=Snakesn.y*20)KillTimer(1);
/止计时器,和之前的SetTimer()对应AfxMessageBox(soure);
CMFCexp8_4View:OnExit();
/pDC-SelectStockObject(WHITE_PEN);
/把白色的“PEN”选入设备进行画图pDC-Rectangle(SnakeSnake0.len-1.x*20 。

29、,SnakeSnake0.len-1.y*20,(SnakeSnake0.len-1.x+1)*20,(SnakeSnake0.len-1.y+1)*20);
/让它去画最后一个节点for(int i=Snake0.len-1;
i0;
i-)/贪吃蛇的蛇身移动Snakei.x=Snakei-1.x;
Snakei.y=Snakei-1.y;
/行走方向判断if(Snake0.direct=1)Snake0.y-;
if(Snake0.direct=2)Snake0.y+;
if(Snake0.direct=3)Snake0.x-;
if(Snake0.direct=4)Snake0.x+;
/“1234”本别 。

30、代表“上下左右” x+,y+进行移动/然后用选定画刷画出一个新节点的矩形作为头结点pDC-SelectStockObject(BLACK_PEN);
CBrush DrawBrush=(RGB(255,0,0);
/控制蛇和食物的颜色CBrush *Drawbrush=pDC-SelectObject(&DrawBrush);
pDC-Rectangle(Snake0.x*20,Snake0.y*20,(Snake0.x+1)*20,(Snake0.y+1)*20);
pDC-SelectObject(DrawBrush);
/判断吃豆的条件,撞到就吃if(Snake0.x*20=Food.x*20&S 。

31、nake0.y*20=Food.y*20)Snake0.len+;
Food.isfood=1;
SnakeSnake0.len-1.x=SnakeSnake0.len-2.x;
SnakeSnake0.len-1.y=SnakeSnake0.len-2.y;
/如果食物被吃了 就生成if(Food.isfood=1)srand(unsigned)time(NULL);
/当食物被吃了 , 指定食物在小于70 和大于430的矩形区域内出现dofor(int isfo=Snake0.len-1;
isfo=0;
isfo-)if(Snake0.x*20=Snakeisfo.x*20&Snake0.y*20=Sna 。

32、keisfo.y*20)Food.x=rand()%25;
Food.y=rand()%25;
while(Food.x*20430|Food.y*20430);
pDC-Rectangle(Food.x*20,Food.y*20,(Food.x+1)*20,(Food.y+1)*20);
Food.isfood=0;
/把食物的属性更改为“存在”CView:OnTimer(nIDEvent);
10运行界面1 运行程序后开始游戏时11总结这次课程设计 , 我选择用编写一个贪食蛇的程序 。
在编写程序之前 , 我只有很少的关于的程序设计知识 , 因此 , 在刚开始 , 我遇到了很多困难 。
为此 , 我查阅了许多关于贪食蛇的资料 , 也在网 。

33、上看了许多关于贪食蛇的算法 。
做好了准备之后 , 才开始写我的贪食蛇 , 并且加了很多附加功能 。
这次课程设计锻炼了我的动手能力 。
通过完成贪食蛇游戏的程序设计 , 累积了我的实际编程经验 , 也提高了我独立解决问题的能力 。
12参考文献1. 欧阳志宏 , MFC程序设计轻松入门 , 人民邮电出版社 , 北京 , 2009-4-12. 姚领田 , MFC窗口程序设计 , 水利水电出版社 , 北京 , 2007-5-13. 侯俊杰 , 深入浅出MFC(第2版) ,华中科技大学出版社 , 武汉 , 2001-1-24.邹筝、康晓林、袁建州 , Visual C+6.0实用教程 , 电子工业出版社 , 北京 , 2008-1-1 5. 任哲 , MFC Windows 应用程序设计 , 清 。

34、华大学出版社 , 北京 , 2007-9-1大 学毕业设计(论文)(页面设置:论文版心大小为155mm245mm , 页边距:上2.6cm , 下2.6cm , 左2.5cm , 右2cm , 行间距20磅 , 装订线位置左 , 装订线1cm , )此处为论文题目 , 黑体2号字(以下各项居中列 , 黑体小四号)年 级: 学 号: 姓 名: 专 业: 指导老师: (填写时间要用中文)二零零八年六月西南交通大学本科毕业设计(论文) 第V页大学本科毕业设计(论文)院 系 专 业 年 级 姓 名 题 目 指导教师评 语 指导教师 (签章)评 阅 人评 语 评 阅 人 (签章)成 绩 答辩委员会主任 (签章)年 月 日 毕 业 设 计 任 务 书班 。

35、 级 学生姓名 学 号 专 业 发题日期: 年 月 日 完成日期: 年 月 日题 目 题目类型:工程设计 技术专题研究 理论研究 软硬件产品开发一、 设计任务及要求二、 应完成的硬件或软件实验三、 应交出的设计文件及实物(包括设计论文、程序清单或磁盘、实验装置或产品等)四、 指导教师提供的设计资料五、 要求学生搜集的技术资料(指出搜集资料的技术领域)六、 设计进度安排第一部分 (4 周)第二部分 (6 周)第三部分 (2 周)评阅及答辩 (1 周)指导教师: 年 月 日系主任审查意见:审 批 人: 年 月 日注:设计任务书审查合格后 , 发到学生手上 。


稿源:(未知)

【傻大方】网址:/a/2021/0707/0022751787.html

标题:基于|基于mfc的贪吃蛇程序设计(课程设计报告)( 四 )


上一篇:基于|基于mfc的贪吃蛇程序设计(课程设计报告)

下一篇:六一|庆六一领导讲话稿