VC可视化课程设计MFC贪吃蛇【参考】.docVIP

  • 27
  • 0
  • 约1.69万字
  • 约 26页
  • 2017-01-06 发布于浙江
  • 举报
课程名称 可视化编程(VC) 学 院 计算机科学与技术学院 专 业 软件工程专业 班 级 姓 名 指导教师 2012——2013学年 第2学期 目录 课程设计要求----------------------------------------------------- 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(不要让人家等太久); } 关闭定时器,暂停游戏

文档评论(0)

1亿VIP精品文档

相关文档