第1天 游戏编程的艺术
1.1 复杂但不是太复杂
1.2 游戏编程的内在益处
1.3 为何选择VB
1.4 *适合VB的游戏类型
1.4.1 直接使用VB的游戏
1.4.2 调用Windows API的VB游戏
1.5 游戏编程的要素
1.5.1 游戏设计
1.5.2 图形设计
1.5.3 声音制作
1.5.4 控制和界面
1.5.5 图像处理
1.5.6 动画
1.5.7 算法
1.5.8 人工智能
1.5.9 游戏测试
1.6 总结
1.7 问与答
1.8 实验室
1.8.1 测验
1.8.2 练习
第2天 用VB绘制图形
2.1 在VB中使用颜色
2.1.1 颜色常数
2.1.2 系统颜色
2.1.3 RGB函数
2.1.4 QBColor函数
2.1.5 十六进制数
2.2 绘制形状
2.2.1 Line方法
2.2.2 Circle方法
2.3 线条和填充属性
2.3.1 DrawWidth属性
2.3.2 DraWMode属性
2.3.3 DrawStyle属性
2.3.4 FillColor和FillStyle属性
2.4 图形控件
2.4.1 线条和形状控件
2.4.2 图像框控件和图片框控件
2.5 Face Catch游戏
2.5.1 玩Face Catch
2.5.2 建立Face Catch游戏
2.5.3 理解Face Catch
2.6 总结
2.7 问与答
2.8 实验室
2.8.1 测验
2.8.2 练习
第3天 用字体和VB图形创建游戏画面
3.1 设置文本颜色
3.1.1 ForeColor属性
3.1.2 FontTransparent属性
3.2 应用字体
3.2.1 Font属性
3.2.2 字体的属性
3.3 Nightshade文本冒险游戏
3.3.1 玩Nightshade
3.3.2 故事背景
3.3.3 进入游戏
3.3.4 Nightshade的暗示
3.3.5 Nightshade的帮助菜单
3.3.6 建立Nightshade
3.3.7 理解Nightshade
3.4 总结
3.5 问与答
3.6 实验室
3.6.1 测验
3.6.2 练习
第4天 开发程序代码
4.1 Life游戏的故事背景
4.2 “Life”的规则
4.3 “Life”的实现
4.4 速度问题
4.5 链表
4.6 面向对象的链表
4.7 探索List类
4.8 细胞链表
4.9 Life程序
4.9.1 玩Life游戏
4.9.2 建立Life
4.9.3 理解Life
4.10 总结
4.11 问与答
4.12 实验室
4.12.1 测验
4.12.2 练习
第5天 显示和操作图像
5.1 图像框控件的详细介绍
5.1.1 图像框控件的重要属性、方法和事件
5.1.2 在图像框控件中载入图片
5.1.3 用图像框控件改变图片大小
5.2 图片框控件的详细介绍
5.2.1 图片框控件的重要属性
5.2.2 在图片框控件中载入图片
5.2.3 用图片框控件改变图片大小
5.2.4 PaintPicture方法
5.3 Letter Tiles智力游戏
5.3.1 玩Letter Tiles
5.3.2 建立Letter Tiles游戏
5.3.3 理解Letter Tiles游戏
5.4 创建游戏作弊模式
5.5 总结
5.6 问与答
5.7 实验室
5.7.1 测验
5.7.2 练习
第6天 用Windows API进行图形编程
6.1 调用Windows API
6.1.1 声明Windows API函数
6.1.2 提供Windows API的类型声明
6.1.3 调用Windows API函数
6.2 用Windows API绘图
6.2.1 用Windows API绘制线条
6.2.2 用Windows API绘制形状
6.3 用Windows API操作控件图片
6.3.1 获取位图信息
6.3.2 操作位图
6.3.3 理解像素格式
6.4 总结
6.5 问与答
6.6 实验室
6.6.1 测验
6.6.2 练习
第7天 编写实时游戏
7.1 玩Battle Bricks
7.2 建立Battle Bricks
7.2.1 建立Battle Bricks的用户界面
7.2.2 增加窗体处理器
7.2.3 增加初始化程序
7.2.4 增加常规的游戏子程序
7.2.5 增加FindBrick函数
7.2.6 完成游戏
7.2.7 理解Battle Bricks
7.2.8 执行小球触发的动作
7.2.9 击中砖块
7.2.10 击毁砖块
7.2.11 获取键盘输入和移动挡板
7.2.12 摧毁城墙
7.3 总结
7.4 问与答
7.5 实验室
7.5.1 测验
7.5.2 练习
第1周 复习
第2周 概述
第8天 编制纸牌游戏
8.1 纸牌处理的函数
8.2 ClsCard类
8.3 clsDeck类
8.4 显示clsCard和clsDeck类
8.4.1 建立程序
8.4.2 运行演示程序
8.4.3 使用clsDeck类
8.5 21点,谁都会
8.5.1 建立21点游戏的用户界面
8.5.2 添加对象处理器
8.5.3 完成游戏
8.5.4 玩21点
8.5.5 编制21点
8.6 总结
8.7 问与答
8.8 实验室
8.8.1 测验
8.8.2 练习
第9天 Poker Squares
9.1 玩Poker Squares
9.2 建立Poker Squares
9.2.1 建立Poker Squares的用户界面
9.2.2 添加对象处理器
9.2.3 完成游戏
9.2.4 理解Poker Squares
9.3 积分榜文件
9.4 总结
9.5 问与答
9.6 实验室
9.6.1 测验
9.6.2 练习
第10天 编制电脑对手
10.1 人工智能简介
10.2 介绍水晶游戏
10.3 玩水晶
10.4建立水晶
10.4.1 建立水晶的用户界面
10.4.2 添加对象处理器
10.4.3 完成游戏
10.4.4 理解水晶
10.5 总结
10.6 问与答
10.7 实验室
10.7.1 测验
第11天 为游戏添加声音
11.1 录制声音
11.1.1 编辑声音
11.1.2 制作声音效果
11.2 用VB播放声音效果
11.2.1 多媒体控件
11.2.2 Windows API波形函数
11.3 使用DirectSound
11.3.1 在工程中添加DirectX
11.3.2 声明DirectSound变量
11.3.3 创建DirectSound对象
11.3.4 设置优先级
11.3.5 建立DirectSoundBuffer对象
11.3.6 播放声音
11.3.7 DirectSound程序
11.4 为Battle Bricks添加声音效果
11.5 总结
11.6 问与答
11.7 实验室
11.7.1 测验
11.7.2 练习
第12天 玩游戏:龙王RPG工程
12.1 什么是RPG
12.2 玩龙王游戏
12.2.1 购买装备
12.2.2 在地牢中移动
12.2.3 在地牢中发现事物
12.2.4 随机创建地牢
12.2.5 载入地牢
12.3 建立地牢
12.3.1 创建龙王主窗体
12.4 为用户界面添加对话框
12.5 总结
12.6 问与答
12.7 实验室
12.7.1 测验
12.7.2 练习
第13天 编制简单RPG
13.1 添加对象处理器
13.1.1 添加常规的游戏源代码
13.1.2 为数据类型和子程序添加一个模块
13.1.3 添加对话框源代码
13.1.4 *后的细节
13.1.5 理解龙王
13.1.6 地牢地图
13.1.7 初始化游戏
13.1.8 处理角色参数
13.1.9 移动玩家
13.1.10 与骷髅战斗
13.1.11 制作音效
13.2 总结
13.3 问与答
13.4 实验室
13.4.1 测验
13.4.2 练习
第14天 制作游戏编辑器
14.1 使用龙王地牢编辑器
14.2 建立龙王地牢编辑器
14.2.1 建立地牢编辑器的主窗体
14.3 创建菜单
14.4 添加“About”对话框
14.4.1 添加对象处理器
14.4.2 添加常规源代码
14.4.3 理解DungeonEditor
14.4.4 工具箱
14.4.5 在地牢中放置房间或事物
14.4.6 保存和载入地牢数据
14.5 总结
14.6 问与答
14.7 实验室
14.7.1 测验
14.7.2 练习
第2周 复习
第3周 概述
第15天 游戏赏玩和用户界面:Moonlord工程
15.1 故事背景
15.2 游戏规则
15.2.1 舰桥(Bridge)
15.2.2 巡航(Cruise)
15.2.3 状态(Status)
15.2.4 时空弯曲(Warp)
15.2.5 长距扫描仪
15.2.6 短距扫描仪
15.3 建立Moonlord的用户界面
15.4 添加“About”对话框
15.5 总结
15.6 问与答
15.7 实验室
15.7.1 测验
第16天 记录游戏信息:Moonlord工程
16.1 为Moonlord添加枚举量、常量和变量
16.1.1 添加声明
16.1.2 添加初始化代码
16.2 理解Moonlord的初始化
16.2.1 Moonlord的变量和常量
16.2.2 初始化程序变量
16.2.3 初始化游戏变量
16.2.4 初始化游戏面板
16.2.5 初始化短距扫描窗口的内容
16.3 总结
16.4 实验室
16.4.1 测验
16.4.2 练习
第17天 编制主屏幕:Moonlord工程
17.1 为主屏幕添加图形
17.2 更新对象处理器
17.3 理解源代码
17.3.1 按钮处理器
17.3.2 按钮帮助程序的子程序
17.3.3 获得鼠标单击
17.3.4 命令子程序
17.3.5 常规子程序
17.4 总结
第18天 编制短距扫描屏幕:Moonlord工程
18.1 为按钮处理器添加代码
18.2 命令子程序
18.3 常规子程序
18.4 游戏函数
18.5 剩余工作及结束
18.6 理解源代码
18.6.1 DoShortCruise子程序
18.6.2 DoRam子程序
18.6.3 TrackPhoton子程序
18.6.4 CheckShortCruise函数
18.7 总结
18.8 实验室
18.8.1 测验
18.8.2 练习
第19天 编制状态屏幕:Moonlord工程
19.1 更新按钮代码
19.2 添加子程序
19.3 添加函数
19.4 零星补充
19.5 总结
19.6 实验室
19.6.1 测验
19.6.2 练习
第20天 添加动画:Moonlord工程
?
20.1 主屏幕上的动画
20.2 在短距扫描窗口中的动画
20.3 添加新函数
20.4 总结
20.5 实验室
20.5.1 测验
20.5.2 练习
第21天 添加声音:Moonlord工程
21.1 添加DirectSound代码
21.2 播放音响效果
21.3 总结
21.4 实验室
21.4.1 测验
21.4.2 练习
第3周 复习
附录A 测验答案
A.1 第1天答案
A.1.1 测验
A.1.2 练习
A.2 第2天答案
A.2.1 测验
A.2.2 练习
A.3 第3天答案
A.3.1 测验
A.3.2 练习
A.4 第4天答案
A.4.1 测验
A.4.2 练习
A.5 第5天答案
A.5.1 测验
A.5.2 练习
A.6 第6天答案
A.6.1 测验
A.6.2 练习
A.7 第7天答案
A.7.1 测验
A.7.2 练习
A.8 第8天答案
A.8.1 测验
A.8.2 练习
A.9 第9天答案
A.9.1 测验
A.9.2 练习
A.10 第10天答案
A.10.1 测验
A.11 第11天答案
A.11.1 测验
A.11.2 练习
A.12 第12天答案
A.12.1 测验
A.13 第13天答案
A.13.1 测验
A.13.2 练习
A.14 第14天答案
A.14.1 测验
A.15 第15天答案
A.15.1 测验
A.16 第16天答案
A.16.1 测验
A.17第17天答案
A.17.1 测验
A.18 第18天答案
A.18.1 测验
A.19 第19天答案
A.19.1 测验
A.20 第20天答案
A.20.1 测验
A.21 第21天答案
A.20.1 测验
附录B 设计电脑游戏图形
B.1 简单3D制作
B.2 如何使2D方形变成3D立方体
B.3 偏离压印法来制作3D效果
B.4 专业提示和窍门
B.4.1 选择可确认对象
B.4.2 设计图标
B.4.3 绘制金属
B.4.4 绘制玻璃
B.4.5 绘制发光对象
B.4.6 绘制垂落阴影
B.4.7 光滑图形
B.5 总结
附录C 游戏程序员使用的Windows API函数
附录D DirectX初步
D.1 为何游戏程序员需要快速的图形处理
D.2 进入DirectX
D.3 DirectX组件
D.4 安装DirectX 7 SDK
D.5 用DirectDraw编程
D.6 创建DirectX应用程序
D.7 初始化DirectDraw
D.7.1 创建DirectDraw对象
D.7.2 请求合作级
D.7.3 创建DirectDrawSurface对象
D.7.4 剪裁和透明度
D.7.5 演示动画
D.8 总结
附录E 游戏编程资源
E.1 VB游戏编程网站
E.2 **游戏编程网站