第1章 计算机游戏概述 1
1.1 计算机游戏的发展历史 2
1.2 计算机游戏的基本类型 3
1.3 计算机游戏的本质及特征 13
1.4 计算机游戏的主要功能 14
习题 15
第2章 游戏设计的基本流程 16
2.1 游戏策划 17
2.2 游戏美术设计 19
2.3 游戏音频设计 21
2.4 游戏程序设计 23
2.5 游戏测试 25
习题 26
第3章 游戏程序的基本框架 27
3.1 Java2D图形绘制简介 28
3.1.1 坐标系统 28
3.1.2 图形处理类 28
3.1.3 绘制几何图形 29
3.1.4 填充图形 32
3.1.5 图形变换 34
3.2 构建游戏循环 35
3.3 双缓冲机制 36
3.3.1 离屏绘制 37
3.3.2 前屏显示 37
3.4 游戏的运行框架 38
3.5 设置帧速率 39
3.6 Applet游戏程序框架 41
习题 42
第4章 游戏的运行机制 43
4.1 游戏中的物体运动 44
4.1.1 模拟匀速直线运动 44
4.1.2 模拟加速直线运动 45
4.2 碰撞检测 47
4.3 传递控制命令 49
4.4 游戏设计案例一:《贪食蛇》游戏 51
4.4.1 游戏整体设计 52
4.4.2 贪食蛇的表示 54
4.4.3 绘制贪食蛇 56
4.4.4 食物类的实现 57
4.5 游戏设计案例二:《打砖块》游戏 58
4.5.1 游戏整体设计 58
4.5.2 挡板类的实现 59
4.5.3 砖块类的实现 60
4.5.4 小球类的实现 62
习题 67
第5章 游戏场景设定 69
5.1 Java2D图像绘制简介 70
5.2 绘制卷轴型图像 71
5.2.1 基本绘制方法 71
5.2.2 滚动显示 72
5.2.3 创建Ribbon类 75
5.3 绘制砖块型图像 79
5.3.1 基本绘制方法 79
5.3.2 创建TileMap类 80
5.3.3 滚动显示 81
5.4 创建完整的游戏场景 84
习题 88
第6章 游戏角色设定 89
6.1 精灵的图像绘制 90
6.2 精灵的移动控制 92
6.3 创建精灵类 96
习题 100
第7章 角色与场景的交互 101
7.1 概述 102
7.2 玩家角色的运动及控制 103
7.3 玩家角色与游戏场景的碰撞检测 106
7.3.1 基本原理 106
7.3.2 创建GameWorldManager类 107
7.3.3 调用碰撞检测方法 110
7.4 电脑角色的运动及碰撞检测 112
7.4.1 定义电脑角色的行为 112
7.4.2 设置电脑角色的初始位置 114
7.5 玩家角色与电脑角色的碰撞检测 116
习题 119
第8章 声音效果设定 120
8.1 播放音效 121
8.2 播放音乐 124
8.3 为游戏添加动作音效和场景音乐 126
习题 128
第9章 完善游戏规则 129
9.1 有限状态机模型 130
9.2 玩家角色跳起来“踩”电脑角色 131
9.3 玩家角色发射子弹攻击电脑角色 134
9.4 增加玩家角色生命值 138
9.5 显示玩家生命及游戏分数 142
9.6 实现简单的游戏人工智能 144
习题 147
第10章 游戏关卡设计 148
10.1 完善游戏关卡 149
10.1.1 完善场景的滚动 150
10.1.2 添加敌人和道具 154
10.1.3 添加新的关卡 161
10.2 添加游戏菜单 163
10.2.1 游戏菜单设计 164
10.2.2 游戏菜单的显示 166
10.2.3 游戏的保存与恢复 169
10.3 设计关卡地图编辑器 172
10.3.1 地图编辑器总体设计 173
10.3.2 地图编辑器详细设计 175
习题 186
第11章 手机游戏设计简介 187
11.1 手机游戏概述 188
11.2 手机游戏开发平台简介 189
11.3 手机游戏的程序框架 190
11.3.1 使用WTK设计手机游戏 191
11.3.2 使用NetBeans设计手机游戏 195
11.4 设计《打砖块》手机游戏 196
11.5 使用游戏生成器创建手机游戏 201
习题 205
第12章 游戏设计工具Greenfoot 206
12.1 概述 207
12.2 基本操作方法 207
12.2.1 打开游戏场景 208
12.2.2 添加游戏角色 208
12.2.3 运行游戏 209
12.3 相关API简介 210
12.4 编写游戏程序 213
12.4.1 创建游戏世界 213
12.4.2 创建游戏角色 216
12.4.3 让游戏角色运动起来 218
12.4.4 处理游戏中的图像 221
12.4.5 碰撞检测 226
12.4.6 键盘控制 228
12.4.7 鼠标控制 229
12.4.8 播放声音 229
12.4.9 控制游戏的运行 230
12.4.10 导出游戏场景 231
12.5 编程示例 233
习题 239
第13章 游戏设计案例详解 240
13.1 模拟钢琴游戏 241
13.1.1 基本功能设计 241
13.1.2 添加更多琴键 246
13.2 太空射击游戏 251
13.2.1 构建游戏框架 252
13.2.2 程序结构优化 257
13.3 点灯游戏 265
13.3.1 游戏整体设计 265
13.3.2 各个类的具体实现 267
习题 273
附录 Java类库引用参考 274
参考文献 296