mfc写的贪吃蛇代码.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
手把手教 “MFC版贪吃蛇教程” 写在前面的话 本次贪吃蛇教程主要知识点包括以下几个方面 1 CView 类中的消息响应 2 控件的消息响应 3 基于 CView 类内的具体游戏实现 4 数组 5 游戏图形的实现用 CDC 类实现。 本版游戏的具体实现是在 CViewl 类中实现,所以其他类不用添加任何代码。 由于此次贪吃蛇需要MFC 的开发环境,所以打开VisualC++新建一个 MFC AppWizard 单文档 工程,随意取名一个工程名称。 本次贪吃蛇基本流程与大体思想 1 定义蛇类和食物类,初始化贪吃蛇各项成员变量,包括图像的出现在屏幕的初始位置,长 度,以及蛇的行走方向。食物类的定义包括出现的初始位置,以及食物是否被吃掉的判断。 2 用数组初始化长度为 3 的贪吃蛇,并且默认食物未出现 3 在 CView 类上运用 MFC 提供的 Windows 消息中 WM_TIMER 消息,运用 OnTimer()函数让系统 提供一个时钟节拍,更新游戏 4 具体游戏实现,包括蛇撞到自己和围墙都将使游戏结束,判断吃豆等,其中还包括根据蛇 的长度来进行游戏难度的改变。 5 具体键盘游戏操作运用到 Windows 消息响应中的 WM_KEYDOWN,用OnKeyDown()来响应玩家 的实际操作。 /////////////////////////////////////////////////////////////////////// 第一部分 首先在已有工程下的 “ClassView”中右键CView 类添加以 Windows 信息 1 WM_KEYDOWN 2 WM_RBUTTONDOWN 3 WM_TIMER 再右键 CView 类选择 “ADD Virtual Funciton”选 OnInitialUpdate() OnInitialUpdate()的功能如下: 视图窗口完全建立后第一个被框架调用的函数。框架在第一次调用 OnDraw 前会调用 OnInitialUpdate,因此 OnInitialUpdate 是设置滚动视图的逻辑尺寸和映射模式的最合适 的地方。 时间上,两者先后顺序不同,构造函数生成本类的对象,但没有产生窗口,OnCreate 后窗 口产生,然后才是视图的OnInitialUpDate,一般在这里对视图的显示做初始化。简单点, 就是 ONCREATE 只是产生 VIEW 的基本结构和变量而在OnInitialUpDate()中,主要初始化视 图中控件等。对各个变量进行初始化操作 所以我们要用这个函数来进行贪吃蛇的初始化工作。 再者还要添加一个成员函数 oninit() 进行贪吃蛇外观的初始化 控件的设计 再者是设计游戏的一些控件来控制 “游戏开始” “游戏结束” 和 “游戏暂停”。 我们可以点击 “工作空间”的 “ResourceView”进行控件的具体设计,这里我们在 Menu 文 件夹中把 “IDR_MAINFRAME”中默认的控件全部删除 右键其中的标题栏,点击属性,会得到一个菜单栏标题,我们分别建立 1 个菜单栏标题。这 里我们分别建 “游戏”。 点击并且在已有控件中的列表中点击属性,进行 “菜单项目属性”的设置。我们本别建立的 属性 “标明”与对应的 ID 有 游戏开始 IDM_START 游戏暂停 IDM_PAUSE 游戏继续 IDM_CONTINUE 游戏退出 IDM_EXIT 此处控件的设计是 “可见即可得”的控件操作 成功设置 ID 之后 我们分别右键 各项属性进行消息响应处理函数的生成 具体方法操作例子如 1 右键 “游戏开始” 2 点击 “类向导建立” 3 在 Message Maps 页面,在要进行消息响应的控件 ID 列表 Object IDs 中上选择对应的 ID, 这里我们选择 IDM_START,具体实现的环境是CView 类,所以我们必须把 “Class name”的默认 “CMainFrame”改为 “CView类”,并且在 “Messages”类型设置中,用 “COMMAND”设置为其为命令消息。其余各项也按照同理进行设置。 PS:Windows 消息的分类有 3 种,标准消息,命令消息,通告消息 1 标准消息除 COMMAND 之外,所以 WM_开头都是标准消息 2 命令消息就是 COMMAND 3 通告消息由控件产生的消息,这类信息也能以 WM_COMMAND 类型出现 最后我们回到原来的 ClassView 去看看我们一共添加的函数 所有的函数集合全部有以 在此处我们可以看到我们添加的

文档评论(0)

LF20190802 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档