Visual C++经典游戏程序设计

Visual C++经典游戏程序设计
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2006-02
版次: 1
ISBN: 9787115137531
定价: 42.00
装帧: 平装
开本: 其他
纸张: 胶版纸
页数: 370页
字数: 580千字
45人买过
  •   本书以如何利用Visual C++实现扫雷、贪吃蛇、推箱子、俄罗斯方块、拼图、连连看这6款经典的小游戏为主线,详细介绍了如何通过Visual C++的各种优良机制结合界面交互绘图去实现特定需求、MFC的实现机制、Windows GDI绘图以及界面的程序设计等知识。
      
      
      本书在介绍游戏的具体设计中,通过特定的环境对MFC的众多机制进行适当的引入与讲解,使读者在学到具体的效果制作的同时,能深刻领悟到Visual C++的众多内部机制的设计思想以及运作原理。

      本书适合各类游戏开发人员阅读。 第1章 Visual C++游戏编程基础 1

    1.1 Visual C++可视化集成开发环境 1

    1.1.1 项目工作区 2

    1.1.2 AppWizard(应用程序向导) 3

    1.1.3 ClassWizard(类向导) 3

    1.1.4 WizardBar(向导工具条) 4

    1.1.5 Component Gallery(组件画廊) 4

    1.1.6 Developer Studio的一些快捷特性 4

    1.2 VC++工程项目模板程序 5

    1.2.1 Win32应用程序 5

    1.2.2 MFC应用程序 9

    1.3 GDI原理基础 12

    1.3.1 设备环境 12

    1.3.2 常用GDI绘图操作 15

    第2章 扫雷 19

    2.1 需求分析 19

    2.1.1 规则描述 19

    2.1.2 功能需求分析 20

    2.2 框架的搭建 20

    2.2.1 创建工程项目 20

    2.2.2 框架的改造 21

    2.3 菜单的制作 24

    2.3.1 难度级别的选择设定 24

    2.3.2 窗体大小的改变 25

    2.3.3 声音与图像颜色的开启 26

    2.3.4 使用帮助的实现 27

    2.3.5 关于信息的实现 27

    2.4 核心实现 27

    2.4.1 算法设计 28

    2.4.2 从算法到具体实现 28

    2.4.3 布雷 29

    2.4.4 扫雷 30

    2.5 界面制作 40

    2.5.1 绘图的基本知识 40

    2.5.2 绘图实现 42

    2.5.3 雷区模块绘制 44

    2.5.4 笑脸模块绘制 49

    2.5.5 3D效果外壳模块绘制 51

    2.5.6 数字模块绘制 52

    2.6 功能的完善 55

    2.6.1 音效的实现 55

    2.6.2 图像彩色选项实现 56

    2.7 英雄榜的实现 58

    2.7.1 模态/非模态对话框 58

    2.7.2 对话框模板的设计 58

    2.7.3 对话框类的设计 60

    2.7.4 非模态对话框的特点 66

    第3章 贪吃蛇 73

    3.1 需求分析 73

    3.2 框架的搭建 74

    3.2.1 创建工程项目 74

    3.2.2 Win32应用程序架构 75

    3.2.3 框架的改造 81

    3.3 类的设计 84

    3.4 游戏的实现 117

    3.4.1 资源的准备 117

    3.4.2 绘图的实现 123

    第4章 推箱子 135

    4.1 需求分析 135

    4.1.1 功能描述 135

    4.1.2 操作特性分析 135

    4.2 框架的搭建 135

    4.3 核心实现 138

    4.3.1 地图与内部数据结构的设计 138

    4.3.2 文件操作 140

    4.3.3 地图的载入和导出 146

    4.3.4 算法设计 147

    4.3.5 算法子功能实现 149

    4.3.6 游戏的绘制 156

    4.4 功能的完善 162

    4.4.1 音效的实现 162

    4.4.2 帮助提示的制作 169

    4.4.3 选关功能的实现 170

    4.5 地图编辑器框架的搭建 174

    4.5.1 框架的搭建 174

    4.5.2 框架的改造 175

    4.6 地图编辑器的核心实现 176

    4.6.1 功能类的设计与实现 176

    4.6.2 个性工具栏的实现 180

    4.6.3 用户交互的实现 184

    4.6.4 图像绘制 187

    4.6.5 地图数据的导出 192

    第5章 俄罗斯方块 195

    5.1 需求分析 195

    5.1.1 功能描述 195

    5.1.2 操作特性分析 195

    5.2 框架的搭建 196

    5.3 MFC应用程序架构 197

    5.3.1 App应用程序类物件 197

    5.3.2 文档-视图机制 200

    5.3.3 绘图程序的实现 216

    5.3.4 MFC机制的文档-视图-框架的内在关联 232

    5.4 框架的拓展 234

    5.5 游戏的内部实现 235

    5.5.1 算法设计 235

    5.5.2 中断操作流程的设计 242

    5.5.3 正常流程的设计 244

    5.5.4 正常流程的实现(定时处理) 245

    5.5.5 中断操作流程的实现 259

    5.6 游戏区域绘图的实现 267

    5.6.1 位图资源的准备 267

    5.6.2 绘图机制设计 268

    5.6.3 绘图环境资源的初始化和释放 268

    5.6.4 游戏区域的绘制 271

    5.7 功能的完善 275

    5.7.1 MCI 277

    5.7.2 游戏背景音乐的实现 282

    5.7.3 工具栏快捷键的实现 284

    第6章 拼图游戏 287

    6.1 需求分析 287

    6.1.1 功能描述 287

    6.1.2 操作特性分析 288

    6.2 预备知识 288

    6.2.1 动态分裂视图 288

    6.2.2 静态分裂视图 293

    6.2.3 嵌入分裂视图 295

    6.2.4 非同源多文档多视图 300

    6.3 框架的搭建 303

    6.4 算法的分析 305

    6.4.1 数据结构设计 305

    6.4.2 算法设计 306

    6.5 核心实现 307

    6.5.1 图像的分割 308

    6.5.2 图像原始数据记录/游戏前的初始化 308

    6.5.3 图像的移动 309

    6.5.4 图像的打乱 313

    6.5.5 图像的胜利检测 314

    6.6 用户交互操作的实现 314

    6.6.1 键盘事件的交互 315

    6.6.2 鼠标事件的交互 317

    6.7 图像的绘制 318

    6.7.1 源图像区域视图的绘制 319

    6.7.2 游戏区域视图的绘制 319

    6.7.3 绘制功能函数 321

    6.7.4 提高图像重绘的效率 324

    6.8 功能的完善 324

    6.8.1 个性化菜单的制作 325

    6.8.2 用户自选图片的实现 333

    6.8.3 背景音乐的添加 334

    第7章 连连看 337

    7.1 需求分析 337

    7.2 框架的搭建 338

    7.3 算法分析与设计 338

    7.3.1 游戏地图数据的设计 338

    7.3.2 数据的初始化工作 340

    7.4 核心实现 341

    7.4.1 图案方块的连接判断 341

    7.4.2 游戏胜利的判断 345

    7.4.3 鼠标交互功能的实现 345

    7.5 绘图功能的实现 349

    7.5.1 位图图像的准备 349

    7.5.2 绘图方案的设计 349

    7.5.3 绘图资源的载入与初始化 349

    7.5.4 游戏区域的绘制 351

    7.6 游戏外挂 352

    7.6.1 功能需求 352

    7.6.2 框架的搭建 353

    7.7 入侵实现的概要分析 354

    7.8 前期核心实现 354

    7.8.1 目标程序的侵入以及控制权的获取 354

    7.8.2 数据的获取以及分析(地图数据的生成) 358

    7.8.3 自动化智能查找功能的设计与实现 362

    7.9 侵入相关操作实现 364

    7.9.1 目标程序的操作控制 364

    7.9.2 整体入侵过程的实现 367

    7.10 本端功能的实现与完善 369

    7.10.1 用户交互的实现 369

    7.10.2 本端的绘制显示 370
  • 内容简介:
      本书以如何利用Visual C++实现扫雷、贪吃蛇、推箱子、俄罗斯方块、拼图、连连看这6款经典的小游戏为主线,详细介绍了如何通过Visual C++的各种优良机制结合界面交互绘图去实现特定需求、MFC的实现机制、Windows GDI绘图以及界面的程序设计等知识。
      
      
      本书在介绍游戏的具体设计中,通过特定的环境对MFC的众多机制进行适当的引入与讲解,使读者在学到具体的效果制作的同时,能深刻领悟到Visual C++的众多内部机制的设计思想以及运作原理。

      本书适合各类游戏开发人员阅读。
  • 目录:
    第1章 Visual C++游戏编程基础 1

    1.1 Visual C++可视化集成开发环境 1

    1.1.1 项目工作区 2

    1.1.2 AppWizard(应用程序向导) 3

    1.1.3 ClassWizard(类向导) 3

    1.1.4 WizardBar(向导工具条) 4

    1.1.5 Component Gallery(组件画廊) 4

    1.1.6 Developer Studio的一些快捷特性 4

    1.2 VC++工程项目模板程序 5

    1.2.1 Win32应用程序 5

    1.2.2 MFC应用程序 9

    1.3 GDI原理基础 12

    1.3.1 设备环境 12

    1.3.2 常用GDI绘图操作 15

    第2章 扫雷 19

    2.1 需求分析 19

    2.1.1 规则描述 19

    2.1.2 功能需求分析 20

    2.2 框架的搭建 20

    2.2.1 创建工程项目 20

    2.2.2 框架的改造 21

    2.3 菜单的制作 24

    2.3.1 难度级别的选择设定 24

    2.3.2 窗体大小的改变 25

    2.3.3 声音与图像颜色的开启 26

    2.3.4 使用帮助的实现 27

    2.3.5 关于信息的实现 27

    2.4 核心实现 27

    2.4.1 算法设计 28

    2.4.2 从算法到具体实现 28

    2.4.3 布雷 29

    2.4.4 扫雷 30

    2.5 界面制作 40

    2.5.1 绘图的基本知识 40

    2.5.2 绘图实现 42

    2.5.3 雷区模块绘制 44

    2.5.4 笑脸模块绘制 49

    2.5.5 3D效果外壳模块绘制 51

    2.5.6 数字模块绘制 52

    2.6 功能的完善 55

    2.6.1 音效的实现 55

    2.6.2 图像彩色选项实现 56

    2.7 英雄榜的实现 58

    2.7.1 模态/非模态对话框 58

    2.7.2 对话框模板的设计 58

    2.7.3 对话框类的设计 60

    2.7.4 非模态对话框的特点 66

    第3章 贪吃蛇 73

    3.1 需求分析 73

    3.2 框架的搭建 74

    3.2.1 创建工程项目 74

    3.2.2 Win32应用程序架构 75

    3.2.3 框架的改造 81

    3.3 类的设计 84

    3.4 游戏的实现 117

    3.4.1 资源的准备 117

    3.4.2 绘图的实现 123

    第4章 推箱子 135

    4.1 需求分析 135

    4.1.1 功能描述 135

    4.1.2 操作特性分析 135

    4.2 框架的搭建 135

    4.3 核心实现 138

    4.3.1 地图与内部数据结构的设计 138

    4.3.2 文件操作 140

    4.3.3 地图的载入和导出 146

    4.3.4 算法设计 147

    4.3.5 算法子功能实现 149

    4.3.6 游戏的绘制 156

    4.4 功能的完善 162

    4.4.1 音效的实现 162

    4.4.2 帮助提示的制作 169

    4.4.3 选关功能的实现 170

    4.5 地图编辑器框架的搭建 174

    4.5.1 框架的搭建 174

    4.5.2 框架的改造 175

    4.6 地图编辑器的核心实现 176

    4.6.1 功能类的设计与实现 176

    4.6.2 个性工具栏的实现 180

    4.6.3 用户交互的实现 184

    4.6.4 图像绘制 187

    4.6.5 地图数据的导出 192

    第5章 俄罗斯方块 195

    5.1 需求分析 195

    5.1.1 功能描述 195

    5.1.2 操作特性分析 195

    5.2 框架的搭建 196

    5.3 MFC应用程序架构 197

    5.3.1 App应用程序类物件 197

    5.3.2 文档-视图机制 200

    5.3.3 绘图程序的实现 216

    5.3.4 MFC机制的文档-视图-框架的内在关联 232

    5.4 框架的拓展 234

    5.5 游戏的内部实现 235

    5.5.1 算法设计 235

    5.5.2 中断操作流程的设计 242

    5.5.3 正常流程的设计 244

    5.5.4 正常流程的实现(定时处理) 245

    5.5.5 中断操作流程的实现 259

    5.6 游戏区域绘图的实现 267

    5.6.1 位图资源的准备 267

    5.6.2 绘图机制设计 268

    5.6.3 绘图环境资源的初始化和释放 268

    5.6.4 游戏区域的绘制 271

    5.7 功能的完善 275

    5.7.1 MCI 277

    5.7.2 游戏背景音乐的实现 282

    5.7.3 工具栏快捷键的实现 284

    第6章 拼图游戏 287

    6.1 需求分析 287

    6.1.1 功能描述 287

    6.1.2 操作特性分析 288

    6.2 预备知识 288

    6.2.1 动态分裂视图 288

    6.2.2 静态分裂视图 293

    6.2.3 嵌入分裂视图 295

    6.2.4 非同源多文档多视图 300

    6.3 框架的搭建 303

    6.4 算法的分析 305

    6.4.1 数据结构设计 305

    6.4.2 算法设计 306

    6.5 核心实现 307

    6.5.1 图像的分割 308

    6.5.2 图像原始数据记录/游戏前的初始化 308

    6.5.3 图像的移动 309

    6.5.4 图像的打乱 313

    6.5.5 图像的胜利检测 314

    6.6 用户交互操作的实现 314

    6.6.1 键盘事件的交互 315

    6.6.2 鼠标事件的交互 317

    6.7 图像的绘制 318

    6.7.1 源图像区域视图的绘制 319

    6.7.2 游戏区域视图的绘制 319

    6.7.3 绘制功能函数 321

    6.7.4 提高图像重绘的效率 324

    6.8 功能的完善 324

    6.8.1 个性化菜单的制作 325

    6.8.2 用户自选图片的实现 333

    6.8.3 背景音乐的添加 334

    第7章 连连看 337

    7.1 需求分析 337

    7.2 框架的搭建 338

    7.3 算法分析与设计 338

    7.3.1 游戏地图数据的设计 338

    7.3.2 数据的初始化工作 340

    7.4 核心实现 341

    7.4.1 图案方块的连接判断 341

    7.4.2 游戏胜利的判断 345

    7.4.3 鼠标交互功能的实现 345

    7.5 绘图功能的实现 349

    7.5.1 位图图像的准备 349

    7.5.2 绘图方案的设计 349

    7.5.3 绘图资源的载入与初始化 349

    7.5.4 游戏区域的绘制 351

    7.6 游戏外挂 352

    7.6.1 功能需求 352

    7.6.2 框架的搭建 353

    7.7 入侵实现的概要分析 354

    7.8 前期核心实现 354

    7.8.1 目标程序的侵入以及控制权的获取 354

    7.8.2 数据的获取以及分析(地图数据的生成) 358

    7.8.3 自动化智能查找功能的设计与实现 362

    7.9 侵入相关操作实现 364

    7.9.1 目标程序的操作控制 364

    7.9.2 整体入侵过程的实现 367

    7.10 本端功能的实现与完善 369

    7.10.1 用户交互的实现 369

    7.10.2 本端的绘制显示 370
查看详情