- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
vc可视化课程设计mfc贪吃蛇
PAGE 3
课程名称
可视化编程(VC)
学 院
计算机科学与技术学院
专 业
软件工程专业
班 级
姓 名
指导教师
2012——2013学年 第2学期
PAGE
PAGE 24
PAGE \* MERGEFORMAT
PAGE \* MERGEFORMAT 1
目录
课程设计要求 2
系统功能实现与操作 2
系统设计概述 2
3.1添加结构体说明 2
3.2模块说明 3
3.3主要功能函数代码及注释 3
4、调试过程11
4.1添加功能说明 11
4.2错误及解决方案 11
程序运行结果 12
附:主要类Cview的成员函数代码15
1、课程设计要求
题目:基于MFC的贪吃蛇游戏设计与实现。
要求:1.游戏界面设计
2.食物的初始化
3.游戏开始以及具体实现
2、系统功能实现与操作
本系统运用API函数的相关功能进行界面设计和功能实现。通过Rectangle()函数绘制操作区域及障碍物。通过连续的小矩形实现蛇身的绘制。通过srand()函数和
rand()函数生成随机数,完成生成食物功能的实现。综合运用多种if条件判断和for循环的嵌套使用的算法完成各种条件判断。
该系统功能简单,操作简易。打开程序后,点击菜单栏的游戏按钮,点击开始游戏,系统弹出对话框,提示还有3秒开始。游戏开始后,贪吃蛇开始移动,通过操作键盘上的上下左右方向键控制蛇的移动,躲避障碍物并吃掉食物。当吃掉的食物累计到达一定数量后,蛇行速度加快。直至撞到边界或障碍物或撞到自身,游戏结束。此时弹出对话框,提示所得分数。游戏中途可通过暂停和继续按钮执行相应操作。
系统设计概述
3.1 添加结构体说明
struct Snake
{
int x,y;
int len;
int direct;
}Snake[50];
struct Food
{
int x;
int y;
int food;
}Food;
Snake结构体数组用于存放贪吃蛇的相关数据,其中x,y存放当前节点矩形左上角的坐标,(Snake[0]为蛇头),len存放当前蛇身的长度,direct存放蛇的行进方向,可在1~4取值。
Food结构体用于存放食物的位置信息。其中x,y存放食物小矩形左上角左标,food存放食物存在的布尔判断值。
3.2 模块说明
系统代码部分主要分为三个模块,界面控制模块、初始化模块和功能模块。
界面控制模块包括函数:OnStart(),OnPause(),OnContinue(),OnExit()
初始化模块包括函数:OnInitialUpdate(),OnDraw(),oninit()
功能模块包括函数:OnKeyDown(),OnTimer()
3.3 主要功能函数代码及注释
①OnStart()
void CSnakeView::OnStart()
{
// TODO: Add your command handler code here
SetTimer(1,3000,NULL);
AfxMessageBox(还有3秒开始~~!);
}
点击开始游戏触发,设置定时器控制三秒后开始游戏。
②OnPause()
void CSnakeView::OnPause()
{
// TODO: Add your command handler code here
KillTimer(1);
AfxMessageBox(不要让人家等太久);
}
关闭定时器,暂停游戏
③OnContinue()
void CSnakeView::OnContinue()
{
// TODO: Add your command handler code here
SetTimer(1,10,NULL);
}
重启定时器,恢复游戏
④OnExit()
void CSnakeView::OnExit()
{
// TODO: Add your command handler code here
AfxMessageBox(欢迎下次再来!);
exit(0);
}
弹出对话框提示退出。
⑤OnInitialUpdate()
void CSnakeView::OnInitialUpdate()
{
CView::OnInitialUpdate();
// TODO: Add your specialized code here and/or call the base class
Snake[0].x=10;
Snake[0].y=10;
Snake[1].x=10;
Snake[1].y=10;
Snake[2].x=10;
Snake[2].y=
您可能关注的文档
- (乡)镇人大主席团20xx年度工作计划工作计划大全.doc
- (参考)一般设区的市地方立法问题探析.doc
- (参考)人民监督员制度有关问题探析.doc
- 2005生态旅游节情况汇报环境旅游.doc
- 2005年交通运输管理工作要点杂锦.doc
- 2006年供电局工作会议讲话市政公用.doc
- 2006年后勤工作计划工作计划大全.doc
- 2007年土右旗宣传文化广电工作要点宣传思想.doc
- 2008年全市司法行政系统政治工作意见.doc
- 2008年市卫生工作要点.doc
- vmi策略研究.doc
- What is English?History of the English Language.doc
- What do you mean by a ′Thesis Statement′.doc
- xxx公交枢纽智能化系统设计方案与预算价格书.doc
- xx市档案局20xx年工作完成情况和20xx年工作思路的报告.doc
- xx镇计划生育工作交流材料计划生育.doc
- x县“困难职工援助中心”管理办法管理制度与规章制度.doc
- z3040b摇臂钻床电气控制系统的设计.doc
- ×乡二oo四安全文明创建活动工作计划工作计划大全.doc
- ×小学20xx年上期少先队工作计划工作计划大全.doc
最近下载
- 维生素B市场现状及发展前景分析报告.docx VIP
- 2025年公务员类辅警协警-行政职业能力测验参考题库含答案解析.docx VIP
- 广东省广州市第六十五中学2023-2024学年高二10月考试历史试题(原卷版).pdf VIP
- 钢结构生产工艺流程课件.pptx VIP
- DB34T 4402-2023 817肉鸡养殖技术规程.docx VIP
- 7年级上学期英语StarterLeeson18复习卷.docx VIP
- 2025年房地产经纪人职业资格考试模拟试卷:房地产经纪人职业资格考试备考策略与技巧.docx VIP
- 2025年房地产经纪人职业资格考试模拟试卷:房地产经纪人职业资格考试高分备考策略.docx VIP
- 临高话俚语的语言特点探析.doc
- 2025年房地产经纪人职业资格考试模拟试卷:房地产经纪人职业资格考试实战技巧与高分策略.docx VIP
文档评论(0)