编辑推荐

  全面涵盖从游戏基础知识到游戏项目开发的各种实用技术
  实战为王,详细介绍了7个经典游戏项目案例的完整开发过程
  43.8小时高清多媒体教学视频
  夯实基础:介绍了游戏类型、集成开发环境、C++语言基础、网络通信基础、游戏中的多媒体处理、项目管理及测试等游戏开发必知必会的基础知识
  案例精讲:详解五子棋(网络版)、贪吃蛇、俄罗斯方块、连连看、黑白棋、扫雷、推箱子这7个经典游戏项目案例的开发过程,并给出了详细的源代码和注释
  实用性强:讲解游戏开发的基础知识时给出了60多个实例,讲解游戏项目案例时注重每个项目的设计思路,并将软件工程的思想融入项目开发中
  技巧性强:讲解过程中穿插了大量的开发技巧、说明及各种注意事项
  超值光盘:配书光盘提供了大量高清配套多媒体教学视频,并赠送大量的VisualC++教学视频和实例源代码

内容简介

  《VisualC++游戏开发案例实战》是一本介绍电脑游戏项目开发的初中级项目实践教程。书中以VisualC++为开发平台,结合7个游戏开发的经典案例,详细介绍了从游戏开发基础知识到游戏项目开发的实用技术。配书光盘中提供了专门为《Visual C++游戏开发案例实战(附光盘)》录制的12个小时多媒体教学视频和书中涉及的源代码,另外赠送了大量的进阶开发视频和源代码。
  《VisualC++游戏开发案例实战》共16章,分为3篇。其中,第1~6章是游戏开发基础篇,讲解游戏项目开发应该具有的准备知识,主要介绍各种游戏类型及常用技术、VisualC++集成开发环境的使用、C++编程语言基础、多媒体处理及项目管理基础知识;第7~10章为五子棋游戏案例分讲篇,重点突出其中的项目文档编写、过程控制、网络处理及算法设计;第11~16章为其他游戏开发案例篇,详细讲解了贪吃蛇、俄罗斯方块、连连看、黑白棋、扫雷、推箱子等多款游戏的设计、项目文档编写及实例开发。这些游戏不仅涵盖多种游戏经典算法,而且都是精心设计的,富有代表性。每个实例项目的制作步骤都以通俗易懂的语言阐述,并穿插测试与效果演示,比较容易掌握。
  《VisualC++游戏开发案例实战》中的各项目实例之间相互独立,读者可以根据自己的兴趣和需求进行有选择性的学习。《Visual C++游戏开发案例实战(附光盘)》适合初级或者有一定基础的电脑游戏开发人员,也适合相关院校作为游戏开发的教材使用。

  超值、大容量DVD光盘
  12小时配套教学视频及《Visual C++游戏开发案例实战(附光盘)》实例源文件
  20.5小时VisualC++入门与进阶教学视频
  11.3小时VisualC++模块与项目开发视频
  13个VisualC++典型模块开发源文件
  3个VisualC++项目开发案例源文件
  324页C/C++程序员面试宝典电子书

作者简介

  王浩,任职于某上市公司,担任项目经理。擅长C++编程,有12年的VisualC++底层开发经验和游戏开发经验。对游戏开发中的各种常用技术有比较深入的理解。有丰富的游戏项目开发经验和管理经验,负责过多个单机游戏和联机游戏项目的设计与管理。业余时间喜欢打游戏、上网和旅游。

目录

第1篇游戏开发基础
第1章游戏开发者都应该掌握的知识
1.1各种游戏类型
1.1.1角色扮演游戏
1.1.2动作游戏
1.1.3冒险游戏
1.1.4策略游戏
1.1.5即时战略游戏
1.1.6格斗游戏
1.1.7射击游戏
1.1.8第一人称射击游戏
1.1.9益智游戏
1.1.10竟速游戏
1.1.11体育游戏
1.1.12养成游戏
1.1.13模拟游戏
1.1.14卡片游戏
1.1.15音乐游戏
1.2游戏开发技术
1.2.1图像显示技术
1.2.2游戏引擎技术
1.2.3游戏脚本技术
1.3总结


第2章VisualC++集成开发环境(教学视频:32分钟)
2.1VisualC++的过去和未来
2.1.1VisualC++开发工具的由来
2.1.2VisualC++开发工具的特点
2.2VisualC++的安装
2.2.1VisuaIC++的定制安装
2.2.2VisualC++的启动
2.3部署VisualC++游戏项目
2.3.1项目中的各种文件的定义
2.3.2项目文件夹的定义
2.4Windows的窗体
2.4.1Windows中的窗体
2.4.2应用程序与窗体的关系
2.5使用VisualC++开发工具
2.5.1VisualC++开发工具的主界面
2.5.2使用向导创建项目
2.5.3创建一个HelloWorld程序
2.5.4工程文件的配置
2.6总结


第3章C++编程语言基础(教学视频:64分钟)
3.1C++编程语言是什么
3.1.1C++语言的由来
3.1.2C++语言的特点
3.2C++中的各种字符
3.2.1标识符与关键字
3.2.2分隔符与注释符
3.3C++中的常用数据类型
3.3.1整数型数据
3.3.2实数型数据
3.3.3字符型数据
3.3.4布尔型数据
3.4C++中的常量与变量
3.4.1变量的定义
3.4.2常量的定义
3.5C++中的运算符与表达式
3.5.1赋值运算符
3.5.2算术运算符
3.5.3自增与自减运算符
3.5.4复合运算符
3.5.5位运算符
3.5.6关系运算符
3.6C++中的控制语句
3.6.1基本语句
3.6.2条件选择语句
3.6.3循环语句
3.7C++中的数组、指针及引用
3.7.1数组的定义与操作
3.7.2指针的定义与操作
3.7.3引用的定义与操作
3.8函数
3.8.1使用函数的好处
3.8.2函数的定义及声明
3.8.3认识函数的参数

3.8.4函数的调用及返回值73
3.9C++的类及其主要函数75
3.9.1C++的优点75
3.9.2定义C++类76
3.9.3成员变量77
3.9.4成员函数78
3.9.5构造函数78
3.9.6析构函数79
3.9.7虚函数79
3.10运算符的重载81
3.11C++语言的编程规范83
3.11.1命名规范83
3.11.2格式规范85
3.11.3函数规范86
3.11.4其他规范88
3.12总结88
3.13挑战89


第4章网络通信基础(教学视频:76分钟)
4.1TCP/IP简介90
4.1.1TCP/IP整体构架概述90
4.1.2TCP/IP协议的应用91
4.1.3TCP/IP协议的特性92
4.2TCP/IP中的各种协议93
4.2.1IP协议93
4.2.2TCP协议94
4.2.3UDP协议95
4.3Socket简介96
4.3.1什么是Sockets96
4.3.2Socket网络通信模式96
4.3.3Socket的函数97
4.3.4Socket的使用示例102
4.4WindowsCSockets类的介绍及使用104
4.4.1CAsyncSocket类和CSocket类的介绍104
4.4.2阻塞和非阻塞模式105
4.4.3类的成员函数介绍105
4.4.4CAsyncSocket和CSocket类的编程模型109
4.5CAsyncSocket类综合应用110
4.5.1服务器端设计111
4.5.2客户端设计119
4.5.3综合测试122
4.6总结123
4.7挑战123

第5章游戏中的多媒体处理(教学视频:58分钟)
5.1游戏的多媒体125
5.1.1多媒体的概念125
5.1.2多媒体技术的特点126
5.1.3多媒体能做什么126
5.2认识各种多媒体文件127
5.2.1Windows中的文本文件127
5.2.2Windows中的图像文件128
5.2.3Windows中的声音文件129
5.2.4Windows中的视频文件130
5.3游戏中图像的显示132
5.3.1使用Pictrue控件显示图像132
5.3.2通过对话框背景显示图像134
5.3.3使用BitBlt()函数动态显示图像137
5.4游戏中音乐的播放141
5.5游戏中的互动143
5.5.1系统对输入设备的处理143
5.5.2键盘消息响应144
5.5.3鼠标消息响应148
5.6两个入门小实例154
5.6.1简单的MP3播放器154
5.6.2简单的图片浏览器162
5.7总结170
5.8挑战170


第6章项目管理基础(教学视频:68分钟)
6.1项目管理171
6.1.1项目与项目管理概念171
6.1.2项目管理的特点171
6.1.3采用项目管理的优势172
6.2软件工程与项目管理173
6.2.1软件工程的概念173
6.2.2软件工程的重要性174
6.2.3软件工程管理的流程176
6.3需求分析178
6.3.1什么是需求分析178
6.3.2需求分析的任务和过程178
6.3.3需求分析的方法179
6.3.4需求分析的20条法则179
6.3.5深入获得用户的需求183
6.3.6可行性分析183
6.3.7成本效益分析184
6.3.8确定开发环境185
6.4项目计划安排186
6.4.1项目开发计划的重要性186
6.4.2如何制定项目开发计划186
6.5总体设计188
6.5.1总体设计的概念和目的188
6.5.2总体设计的过程188
6.6详细设计的工具188
6.7软件测试189
6.7.1软件测试的目标189
6.7.2黑盒与白盒测试190
6.7.3软件测试的步骤190
6.7.4设计测试方案191
6.8软件维护192
6.8.1软件维护的概念192
6.8.2软件项目的可维护性192
6.9总结193


第2篇五子棋游戏案例分讲
第7章五子棋游戏项目开发的前期工作(教学视频:31分钟)
7.1五子棋游戏的用户需求描述196
7.2五子棋游戏的需求说明书198
7.3制作五子棋游戏的概要设计文档199
7.4五子棋游戏的操作界面设计文档202
7.5总结203


第8章五子棋游戏界面与通信开发详解(教学视频:45分钟)
8.1五子棋游戏的详细设计204
8.1.1五子棋游戏详细设计的目标204
8.1.2五子棋游戏功能结构及名称定义204
8.2网络通信协议类的设计与实现205
8.2.1网络通信协议的设计205
8.2.2各种数据类型的详细格式206
8.2.3网络通信协议的实现207
8.3交互界面的设计与实现207
8.3.1控制菜单的设计208
8.3.2控制菜单的实现208
8.3.3网络设置对话框的设计211
8.3.4网络设置对话框的实现212
8.4总结214


第9章五子棋游戏的核心算法设计与实现(教学视频:60分钟)
9.1棋盘窗口类的设计与实现215
9.1.1棋盘窗口类的设计思想215
9.1.2棋盘类的实现216
9.2网络交互的设计与实现222
9.2.1网络交互的设计思想222
9.2.2网络交互的算法实现223
9.3游戏规则的设计与实现225
9.3.1游戏规则的设计思想225
9.3.2游戏规则的算法实现226
9.4游戏中主对话框类的实现230
9.5总结235


第10章五子棋游戏整合测试(教学视频:5分钟)
10.1五子棋游戏的测试用例文档编写236
10.1.1引言236
10.1.2文档范围237
10.1.3使用对象237
10.1.4参考文献237
10.1.5相关术语与缩略语解释237
10.1.6测试项目237
10.2根据用例文档进行测试242
10.2.1网络连接测试的演示242
10.2.2游戏互动测试的演示244
10.2.3输赢结果测试的演示245
10.2.4禁手功能测试的演示245
10.2.5综合测试结果246
10.3总结246


第3篇其他游戏开发案例
第11章贪吃蛇游戏项目开发(教学视频:65分钟)
第12章俄罗斯方块游戏项目开发(教学视频:41分钟)
第13章连连看游戏项目开发(教学视频:49分钟)

第14章黑白棋游戏项目开发(教学视频:51分钟)
第15章扫雷游戏项目开发(教学视频:52分钟)
第16章推箱子游戏项目开发(教学视频:44分钟)

前言/序言

  现在的电脑游戏软件开发都是依靠大量的设计和测试人员共同合作完成的,而如何能够有效控制成本,提高项目开发效率才是重中之重。但在现有大多数的电脑游戏开发教程中,只对游戏中的算法和程序进行了详细讲解,而忽略了现代软件开发最基本的内容,即项目过程管理。《Visual C++游戏开发案例实战(附光盘)》的目的就是为了让更多的C++语言游戏开发初学者,除了对游戏算法和程序能够充分掌握外,还能够对游戏开发中的项目管理有一个系统、全面的认识。同时为今后参加游戏项目开发打下良好的基础。
  笔者结合自己多年的实际项目和团队管理经验精心编写了这《Visual C++游戏开发案例实战(附光盘)》,目的是让更多的人知道如何编写项目管理文档,同时提高实际项目开发经验,尤其是为电脑游戏开发的新手进入游戏开发行业提供一个项目知识的阶梯。《Visual C++游戏开发案例实战(附光盘)》也是广大初中级游戏开发人员提高自己的游戏开发水平、完善自己的知识结构、扩展自己的项目知识面的好参谋。
  阅读完《Visual C++游戏开发案例实战(附光盘)》,读者可以有以下收获:
  *让游戏开发初学者能够真正掌握游戏开发的基本知识;
  *建立起基本的项目管理知识,丰富实际项目开发经验;
  *可以单独完成游戏项目管理文档,并能够对用户的需求进行初步分析;
  *可以利用游戏开发的知识,设计简单的VC++游戏程序;
  *可以开发联机的网络游戏,提高游戏开发水平;
  *了解一些完整的项目实例,为以后参加实际项目开发打下一个坚实的基础。
  《Visual C++游戏开发案例实战(附光盘)》特色
  《Visual C++游戏开发案例实战(附光盘)》深入浅出地讲解了各种电脑游戏的基本理论和方法,以及目前流行的各种游戏开发技术和常用的开发工具。《Visual C++游戏开发案例实战(附光盘)》对游戏开发的基础知识和项目管理的介绍比较详细,而且考虑很多读者在Windows编程和开发语言方面还是个新手,所以给出了很多简单的、用C++编程语言来开发的Windows程序实例,介绍的比较清晰、易懂。对于一些常见问题,《Visual C++游戏开发案例实战(附光盘)》给出了套路式解决问题的方法,为初学者学写游戏程序提供了一个练习的途径,并对软件项目管理与软件测试方法进行了详细的讲解,便于读者对这些不熟悉的知识点进行学习。同时,《Visual C++游戏开发案例实战(附光盘)》采用大量的项目开发实例来对游戏开发过程进行详细讲解,以提高读者的实际项目经验。《Visual C++游戏开发案例实战(附光盘)》区别于市面上其他的游戏开发类书的特色主要有:
  1.配多媒体语音教学视频光盘
  笔者专门为《Visual C++游戏开发案例实战(附光盘)》录制了12个小时高清多媒体教学视频,以便读者更加直观地理解《Visual C++游戏开发案例实战(附光盘)》内容,提高学习效率。另外,配书光盘中还提供了《Visual C++游戏开发案例实战(附光盘)》涉及的案例源程序,并赠送了大量的进阶开发视频和源代码,相信对读者的学习会有很大的帮助。
  2.由浅入深,循序渐进
  《Visual C++游戏开发案例实战(附光盘)》从游戏开发的基础知识开始讲解,然后从项目开发的角度全面介绍一个完整的五子棋游戏项目案例的开发,最后给出几个各具特色的游戏案例的实现。
  3.项目案例丰富、典型
  《Visual C++游戏开发案例实战(附光盘)》中完整实现了五子棋(网络版)、贪吃蛇、俄罗斯方块、连连看、黑白棋、扫雷、推箱子等多款经典游戏项目案例的设计和实现。它们涵盖了多种游戏的经典算法,非常有代表性。
  4.代码经典,注释详细
  《Visual C++游戏开发案例实战(附光盘)》详细地讲解了每个项目案例的设计和实现过程,并且给出了详细的核心代码和代码注释,读者只要按照书中的操作步骤和代码解释就可以毫无障碍地阅读《Visual C++游戏开发案例实战(附光盘)》,并在《Visual C++游戏开发案例实战(附光盘)》的启发下开发出自己的游戏。
  5.注重项目的设计思路
  《Visual C++游戏开发案例实战(附光盘)》并不是简单地给出游戏项目的实现过程,而是在每个项目具体开发前都给出详细的项目分析和设计思路,便于读者从整体上把握项目,提高项目开发水平。
  6.注重软件工程思想在实际游戏项目开发中的应用
  《Visual C++游戏开发案例实战(附光盘)》将软件工程的思想渗透到了每个游戏项目开发中,而且每个项目都按照软件工程规范给出了项目开发文档,方便没有项目开发经验的读者了解实际项目开发过程。
  7.重点介绍了游戏项目的测试
  对于游戏的功能测试是游戏开发中所必须具备的基本知识。因此《Visual C++游戏开发案例实战(附光盘)》的项目案例都给出了整合测试的相关内容,读者可以在实际开发中随时翻阅,不受基础知识的限制。
  8.提供教学PPT,方便老师教学
  《Visual C++游戏开发案例实战(附光盘)》适合能力培养型的院校和职业学校作为教学用书,所以专门制作了教学PPT,以方便各院校的老师教学时使用。
  《Visual C++游戏开发案例实战(附光盘)》内容介绍
  《Visual C++游戏开发案例实战(附光盘)》分为3篇,共16章,从游戏分类讲起,再进一步介绍了各种游戏项目开发需要准备的基础知识。最后结合笔者的经验讲解如何进行实例游戏项目开发,让读者的游戏项目开发水平得以不断的提高。
  第1篇游戏开发基础(1~6章)
  本篇主要介绍了游戏开发相关的编程知识。包括电脑游戏的分类及经典作品介绍、常用技术介绍、演示VisualC++开发Windows游戏、C++编程开发语言基础、游戏网络编程知识简介、简单Windows多媒体示例程序开发、游戏项目管理相关内容及文档。
  第2篇五子棋游戏案例分讲(7~10章)
  本篇通过分步讲解五子棋游戏开发实例来介绍游戏项目的开发过程。包括五子棋游戏的各种文档的制作、游戏界面的设计、网络通信协议介绍、五子棋游戏核心算法的设计、游戏规则的实现、测试用例文档的编写、相关文档表格的填写及五子棋游戏整合测试的演示。
  第3篇高级篇(11~16章)
  本篇主要介绍多个游戏项目开发实例来丰富读者的相关经验。包括贪吃蛇游戏实例开发项目介绍、俄罗斯方块游戏实例开发项目介绍、连连看游戏实例开发项目介绍、黑白棋游戏实例开发项目介绍、扫雷游戏实例开发项目介绍和推箱子实例开发项目介绍。
  《Visual C++游戏开发案例实战(附光盘)》内容由浅入深,理论结合实践,尤其适合初级读者逐步学习和完善自己的知识结构。
  《Visual C++游戏开发案例实战(附光盘)》代码注释约定
  *针对单行代码的注释,都是放在代码的后面;
  *如果单行注释内容过长,与代码无法放置在一行中,则单行注释放在代码的上面;
  *针对函数的注释,统一放在函数开始的{(大括号)右侧并与其他注释上下对齐;
  *针对一段代码的注释,统一放在该段代码的上方,并与其他注释上下对齐。
  《Visual C++游戏开发案例实战(附光盘)》读者对象
  *VisualC++游戏开发初学者;
  *没有任何游戏开发学习经验的读者;
  *需要进一步学习游戏核心算法和数据结构的读者;
  *没有参加过项目开发,但想了解项目开发管理的读者;
  *想学习C++游戏项目开发知识的各大院校计算机专业和非计算机专业的学生;
  *正在学习电脑游戏开发的读者;
  *具备一定编程理论知识,但缺乏实践操作的初级程序人员;
  *从其他语言转向学习C++游戏程序设计的初中级编程人员。
  编著者


其他推荐