Windows 编程大作业贪吃蛇设计与实现学 校:武汉轻工大学院 系:班 级:姓 名:学 号:2015 年 12 月 16 日目录1、题目介绍2、设计目的3、 关于 核心设计4、功能测试5、总结6、参考文献一、题目介绍:编写一个基于 MFC 的小游戏。基本要求:1、实现一个小游戏2、实现基本游戏控制功能3、具有游戏数据保存功能4、界面布局合理、美观;2、设计目的:通过使用 vc++ 实现一个小游戏的课程设计,进一步掌握 MFC 的高级使用方法和锻炼自己动手写程序的能力。了解游戏设计的整个过程,通过熟练使用 MFC 来设计游戏。程序主要包括:游戏界面设计,游戏菜单栏设计,游戏初始化,游戏控制等。培养和锻炼开发游戏的能力。三、 贪吃蛇的本体设计贪吃蛇的头部拥有一个坐标(x,y),蛇体有一个长度 len,蛇有一个运动方向 direct,故定义一个结构体如下:struct Snake{int x,y;int len;int direct;}Snake[50]; 贪吃蛇食物设计贪吃蛇的食物有一个坐标(x,y),此食物有一个标志 isfood,当 isfood 为 0 时,表示食物还没被吃,为 1 时,表示被吃。struct Food{int x;int y;int isfood;}Food; 游戏初始化游戏初始蛇体长度为 3,颜色为灰色,食物标志为 1,因为此时没有显示出食物,需要随机生成后,才置为 0;void CSNAKEView::OnInitialUpdate(){CView::OnInitialUpdate();Snake[0].x=10;Snake[0].y=10;Snake[1].x=11;Snake[1].y=10;Snake[2].x=12;Snake[2].y=10;Snake[0].direct=3;Snake[0].len=3;=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=pDC->SelectObject(&DrawBrush);for(int i=0;i<=Snake[0].len-1;i++)pDC->Rectangle(Snake[i].x*20,Snake[i].y*20,(Snake[i].x+1)*20,(Snake[i].y+1)*20);pDC->SelectObject(DrawBrush);} 游戏开始点击游戏开始菜单后,出现一个对话框,提示一秒后,将开始游戏。void CSNAKEView::OnStart(){// TODO: Add mand handler code hereSetTimer(1,1000,NULL);AfxMessageBox("1 秒后开始游戏!");} 游戏暂停点击游戏暂停菜单后,出现显示“已暂停游戏”的对话框。void CSNAKEView::OnPause(){// TODO: Add mand handler code hereKillTimer(1);AfxMessageBox("已暂停游戏");} 游戏退出点击游戏退出菜单,显示“退出游戏”的对话框,随后关闭游戏界面。void CSNAKEView::OnExit(){// TODO: Add mand handler code hereAfxMessageBox("退出游戏...");exit (0);} 游戏总界面大小设计使用 CMainFrame 的 PreCreateWindow 函数对总界面进行初始化。BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs){if( !CFrameWnd::PreCreateWindow(cs) )return FALSE;// TODO: Modify the Window class or styles here by modifying// the CREATESTRUCT
贪吃蛇游戏程序设计实验报告 来自淘豆网www.taodocs.com转载请标明出处.