欢迎来到天天文库
浏览记录
ID:8482706
大小:137.50 KB
页数:14页
时间:2018-03-29
《贪吃蛇mfc的vc++编辑毕业设计论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、目录第1章需求分析2第2章游戏设计32.1游戏介绍32.2游戏结构32.2.1控制面板结构52.2.2贪吃蛇行动指令系统逻辑流程设计5第3章游戏详细设计与实现103.1.定义蛇和食物3.2蛇形和食物绘制3.3.开始游戏暂停游戏继续游戏退出游戏3.4.初始化界面3.5.蛇在行走的运动,蛇头方向,吃食物判定,蛇身变长,游戏结束等判定第4章编码与调试22第5章系统使用手册23第6章总结23第1章需求分析贪吃蛇是一款老少皆宜的益智类竞技游戏,操作简单广受大众喜爱,因程序简易模式多样支持多平台而被我们选为本次课设题目,我们将基于MFC的VC++编
2、辑。第2章游戏设计2.1游戏介绍本游戏讲述了一只可怜的像素蛇snake,被两个可怕的猥琐怪蜀黍囚禁在一个凄凉的幽闭空间中不停追逐像素果子的故事。在幽闭空间中每当snake碰撞到像素果子时就会伸长而且移动速度会随之变快,当snake碰触到自己身体或四壁时gameover。1.控制面板功能(1)开始游戏;(2)暂停游戏;(3)继续游戏;(4)退出游戏;2.游戏功能(1)snake初始位置,初始移动;(2)方向移动snake;(3)果子随机出现;(4)snake吃掉像素果子后伸长;(5)果子再生;(6)snake碰撞四壁以及身体后死亡;2.2
3、游戏结构整个软件根据游戏需求分析,可得出系统控制面板结构图和snake程序整体调用关系流程图。2.2.1控制面板结构有操作需制作控制板结构来控制游戏控制面板结构图如下所示控制面板退出游戏继续游戏暂停游戏开始游戏图2.1控制面板结构图2.2.2贪吃蛇行动指令系统逻辑流程设计分析贪吃蛇游戏功能以及操作后得出贪吃蛇行动逻辑方案,按照方案编写程序函数以及构造程序逻辑流程图主要运行函数以及逻辑流程图如下:voidCSNAKEView::OnDraw(CDC*pDC)绘制蛇与食物voidCSNAKEView::OnContinue()继续菜单voi
4、dCSNAKEView::OnExit()退出菜单voidCSNAKEView::OnStart()开始菜单voidCSNAKEView::OnStop()暂停菜单voidCSNAKEView::OnInitialUpdate()初始界面voidCSNAKEView::OnTimer(UINTnIDEvent)蛇身行动判定表2.2主要函数表图2.3贪吃蛇行动逻辑流程图第3章游戏细设计与实现我们将游戏的制作重点放在实现snake的各种行动指令以及实现snake的伸长和果实的随机出现3.1游戏运行中的设计与实现1.定义蛇和食物开始定义游戏中
5、的蛇与食物两个单位structSnake{intx,y;intlen;intdirect;}Snake[50];structFood{intx;inty;intisfood;}Food;2蛇形和食物绘制voidCSNAKEView::OnDraw(CDC*pDC){CSNAKEDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);//TODO:adddrawcodefornativedatahereCBrushbackBrush(RGB(100,100,0));CBrush*pOldBrush=pDC->S
6、electObject(&backBrush);CRectrect;pDC->GetClipBox(&rect);pDC->PatBlt(rect.left,rect.top,rect.Width(),rect.Height(),PATCOPY);pDC->SelectObject(pOldBrush);3.开始游戏暂停游戏继续游戏退出游戏游戏中的各菜单功能的设计与实现(1)Continue菜单voidCSNAKEView::OnContinue(){//TODO:AddyourcommandhandlercodehereSetTime
7、r(1,10,NULL);}(2)Exit菜单voidCSNAKEView::OnExit(){//TODO:AddyourcommandhandlercodehereAfxMessageBox("退出游戏...");}(3)Start菜单voidCSNAKEView::OnStart(){//TODO:AddyourcommandhandlercodehereSetTimer(1,3000,NULL);AfxMessageBox("3秒后开始游戏!");OnInitialUpdate();}(4)Stop菜单voidCSNAKEVie
8、w::OnStop(){//TODO:AddyourcommandhandlercodehereKillTimer(1);AfxMessageBox("暂停游戏...");}4.初始化界面voidCSNAK
此文档下载收益归作者所有