欢迎来到天天文库
浏览记录
ID:19640153
大小:499.00 KB
页数:46页
时间:2018-10-04
《课程设计贪吃蛇_1》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、课程设计报告课程名称:面向对象程序设计C++设计题目:贪吃蛇专业:计算机科学与技术姓名:学号:指导教师:李晓虹2015年12月20日46一、系统需求分析贪吃蛇游戏作为一款经典小游戏,版本多样,娱乐性也很高,适合在闲暇时放松心神。并且可在多个平台上实现,程序简单易懂,非常适合初学者学习制作。1、语言的使用现在的贪吃蛇游戏一般是用C语言实现的,用C语言编写贪吃蛇游戏比较简单易懂,当然也可以用其他语言来实现,比如Java、C++、C#等,这里我们用C++来实现。2、用C++的优势C++在一定程度上可以和C语言很好的结合,甚至大多数C语言程序是在C++的集成开发环境中完成的。C++相对众多
2、的面向对象的语言,具有相当高的性能。C++引入了面向对象的概念,使得开发人机交互类型的应用程序更为简单、快捷。很多优秀的程序框架包括Boost、Qt、MFC、OWL、WTL就是使用的C++。二、系统总体设计1.游戏界面设计⑴运行程序。⑵点击“游戏->开始游戏”,出现围墙界面,一条蛇在密闭的围墙内,在围墙内随机出现一食物,游戏开始。⑶游戏开始后,通过四个方向键控制蛇的运动方向,吃掉随机出现的豆子,若不小心碰到墙壁或者与自身相交,则该轮游戏结束。⑷游戏结束后,会弹出游戏得分。⑸点击“游戏->退出游戏”,退出游戏。⑹点击“游戏设置->等级设置”,设置游戏相应等级。⑺点击“游戏帮助->帮助
3、”,查看游戏的玩法。⑻点击“游戏帮助->关于”,查看游戏的版本信息。⑼单击“英雄榜”,查看高手信息。2.游戏运行流程图如下:46三、详细设计1.新建工程打开VC++6.0,选择文件—新建命令,新建一个工程,再选择MFCAPPwizard[exe],工程名取为:Snake。新建Menu菜单,其ID设置为IDR_MAIN_MENU。2.控件的设计各控件设置属性如下:464646463.添加主菜单对象成功设置ID之后我们通过类向导添加相应函数,设置完毕后再在头文件中增加一个主菜单对象,代码如下:4.具体实现游戏4.1菜单响应函数的声明,代码如下://SnakeDlg.h:headerfi
4、le#if!defined(AFX_SNAKEDLG_H__275E8D1B_43B7_4FE8_B6AF_4897C77E9FED__INCLUDED_)#defineAFX_SNAKEDLG_H__275E8D1B_43B7_4FE8_B6AF_4897C77E9FED__INCLUDED_#if_MSC_VER>1000#pragmaonce#endif//_MSC_VER>1000///////////////////////////////////////////////////////////////////////////////CSnakeDlgdialog#inc
5、lude"SnakeGame.h"classCSnakeDlg:publicCDialog{//Constructionpublic:voidHelp();voidHeroList();voidPlayBackMusic(BOOLbflg);voidInitMenu();46CSnakeDlg(CWnd*pParent=NULL);//standardconstructor//DialogData//{{AFX_DATA(CSnakeDlg)enum{IDD=IDD_SNAKE_DIALOG};//NOTE:theClassWizardwilladddatamembershere/
6、/}}AFX_DATA//ClassWizardgeneratedvirtualfunctionoverrides//{{AFX_VIRTUAL(CSnakeDlg)protected:virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDVsupport//}}AFX_VIRTUAL//Implementationprotected:HICONm_hIcon;//主图标CMenum_main_menu;//主菜单对象BOOLm_bStart;//游戏开始标志CSnakeGamem_snake;//主游戏对象//Generated
7、messagemapfunctions//{{AFX_MSG(CSnakeDlg)virtualBOOLOnInitDialog();afx_msgvoidOnSysCommand(UINTnID,LPARAMlParam);afx_msgvoidOnPaint();afx_msgHCURSOROnQueryDragIcon();afx_msgvoidOnUpdatePlayMusic(CCmdUI*pCmdUI);afx_msgvoidOnUpdateHigh(CC
此文档下载收益归作者所有