贪吃蛇游戏程序设计实验报告(优选.).docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《贪吃蛇游戏程序设计实验报告(优选.).docx》由会员分享,可在线阅读,更多相关《贪吃蛇游戏程序设计实验报告(优选.).docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、贪吃蛇游戏程序设计实验报告(优选.) 最新文件- 仅供参考-已改成-word文本 - 方便更改 赠人玫瑰,手留余香。 Windows编程大作业 贪吃蛇设计与实现 学校:武汉轻工大学 院系: 班级: 姓名: 学号: 2022年12月16日 目录 一、题目介绍 二、设计目的 三、详细设计 3.1贪吃蛇本体设计 3.2贪吃蛇食物设计 3.3游戏界面设计 3.3.1游戏初始化 3.3.2游戏开始 3.3.3游戏暂停 3.3.4游戏退出 3.3.5游戏总界面 3.3.6游戏区域与背景 3.3.7关于SNAKE 3.4玩法规则设计 3.5核心设计 四、功能测试 五、总结 六、参考文献 一、题目介绍: 编写
2、一个基于MFC的小游戏。 基本要求: 1、实现一个小游戏 2、实现基本游戏控制功能 3、具有游戏数据保存功能 4、界面布局合理、美观; 二、设计目的: 通过使用vc+6.0实现一个小游戏的课程设计,进一步掌握MFC的高级使用方法和锻炼自己动手写程序的能力。了解游戏设计的整个过程,通过熟练使用MFC来设计游戏。程序主要包括:游戏界面设计,游戏菜单栏设计,游戏初始化,游戏控制等。培养和锻炼开发游戏的能力。 三、详细设计 3.1贪吃蛇的本体设计 贪吃蛇的头部拥有一个坐标(x,y),蛇体有一个长度len,蛇有一个运动方向direct,故定义一个结构体如下: struct Snake int x,y;
3、int len; int direct; Snake50; 3.2贪吃蛇食物设计 贪吃蛇的食物有一个坐标(x,y),此食物有一个标志isfood,当isfood为0时,表示食物还没被吃,为1时,表示被吃。 struct Food int x; int y; int isfood; Food; 3.3游戏界面设计 3.3.1游戏初始化 游戏初始蛇体长度为3,颜色为灰色,食物标志为1,因为此时没有显示出食物,需要随机生成后,才置为0; void CSNAKEView:OnInitialUpdate() CView:OnInitialUpdate(); Snake0.x=10; Snake0.y=1
4、0; Snake1.x=11; Snake1.y=10; Snake2.x=12; Snake2.y=10; Snake0.direct=3; Snake0.len=3; Food.isfood=1;/初始化贪吃蛇起初有3个节点,长度为3,起始坐标;食物默认为1无0有 / TODO: Add your specialized code here and/or call the base class void CSNAKEView:oninit() CDC *pDC=GetDC(); CBrush DrawBrush=(RGB(100,100,100); CBrush *Drawbrush=pD
5、C-SelectObject(&DrawBrush); for(int i=0;iRectangle(Snakei.x*20,Snakei.y*20,(Snakei.x+1)*20,(Snakei.y+1)*20); pDC-SelectObject(DrawBrush); 3.3.2游戏开始 点击游戏开始菜单后,出现一个对话框,提示一秒后,将开始游戏。 void CSNAKEView:OnStart() / TODO: Add your command handler code here SetTimer(1,1000,NULL); AfxMessageBox(1秒后开始游戏!); 3.3.
6、3游戏暂停 点击游戏暂停菜单后,出现显示“已暂停游戏”的对话框。 void CSNAKEView:OnPause() / TODO: Add your command handler code here KillTimer(1); AfxMessageBox(已暂停游戏); 3.3.4游戏退出 点击游戏退出菜单,显示“退出游戏”的对话框,随后关闭游戏界面。void CSNAKEView:OnExit() / TODO: Add your command handler code here AfxMessageBox(退出游戏.); exit (0); 3.3.5游戏总界面大小设计 使用CMai
7、nFrame的PreCreateWindow函数对总界面进行初始化。BOOL CMainFrame:PreCreateWindow(CREATESTRUCT& cs) if( !CFrameWnd:PreCreateWindow(cs) ) return FALSE; / TODO: Modify the Window class or styles here by modifying / the CREATESTRUCT cs cs.style &= WS_OVERLAPPED; cs.cy = 615; cs.cx = 530; return TRUE; 3.3.6操作游戏界面大小及背景色
8、设计 将背景色设置为黑色,并将游戏区域显示出来。 void CSNAKEView:OnDraw(CDC* pDC) CSNAKEDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); / TODO: add draw code for native data here CBrush backBrush(RGB(0,0,0);/设置画刷为希望的背景色 CBrush* pOldBrush = pDC-SelectObject(&backBrush);/保存旧画刷 CRect rect; pDC-GetClipBox(&rect);/擦除需要的区域 pDC-Pa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 贪吃 游戏 程序设计 实验 报告 优选
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内