目录 1
Chapter 1 写一个角色扮演游戏 1
何谓角色扮演游戏(RPG) 2
●电脑游戏的RPG 2
RPG分类 3
●故事性 3
●移动 5
●战斗 6
●系统概要 7
●C/C++编译器 9
●程序设计的软硬件需求 9
写RPG时的软硬件需求 9
最新版的Service Pack 10
●硬件环境 10
●其他硬件需求 11
●收集数据 12
●RPG设计相关工具软件,如地图编辑器(Map Editor)等 12
Chapter 2 游戏系统的设计 13
RPG系统 14
●外观(画面显示方法) 14
●故事铺陈 15
●移动(非战斗状态) 16
●单次移动距离(战斗状态时) 17
●战斗 17
●窗口大小 18
●游戏系统内容总整理 19
RPG的必备功能和设计 19
●RPG部分 19
地图显示 19
移动 22
战斗 24
CPU端的动作循环 24
参数 25
●事件部分 26
游戏的发展 27
Chapter 3 Windows程序设计 29
游戏的必备功能 30
●画面显示 30
●其他功能 31
开启窗口 32
●结合两端的桥梁部分 32
● Windows程序的流程 32
●基本类 33
应用软件 33
●产生窗口与消息处理 39
窗口 40
消息处理 51
●BMP格式的概要 52
显示CG 52
●DIB的架构 53
显示CG的应用软件 62
●设定窗口样式 67
●产生DIB及读入CG图文件 69
●显示DIB 70
CG/Sprite的重叠显示 71
●制作合成用的类 71
复制用的函数 75
合成用的函数 75
●DIBSection 76
●DIBSection的绘制 81
贴图零件(sprite)显示 82
Chapter 4 显示地图和人物 87
地图坐标系 88
●从地图坐标转换成画面坐标 88
●从画面坐标转换成地图坐标 90
利用渐变色地图 90
坐标转换的计算式 91
解法(1):实数运算 92
解法(2):应用移位(shift) 92
解法(3):加上offset(位移偏差) 92
●Sprite的显示顺序 93
Sprite显示 93
解法(4):分类处理 93
显示的程序实例 95
●设置结构(config) 95
●坐标转换 96
●扩充Sprite类 97
●输入操作 100
●窗口操作 103
●战斗类 109
鼠标事件 119
●执行程序实例 120
故意的bug也是一种方法 121
动作验证 121
Chapter 5 人物移动 123
移动的思维方式 124
●判断可移动的位置 124
●确认移动距离 125
验证移动判断 127
●移动到指定位置 130
移动的动画 131
●动画格式 131
●登录动画 132
移动的程序实例 135
●扩充战斗类别 135
●加上输入处理 141
●执行程序实例 144
Chapter 6 战斗 147
读入地图数据 148
●写配置文件 148
●读入文本文件 150
读入文本文件 150
词法分析(Iexical analyze) 154
●战斗类加入读入配置文件的功能 162
战斗规则 178
●决定判断例程(Routine) 178
●计算破坏力 179
●计算时所需的参数 179
●随机数 180
随机数的临界爆发攻击 181
●求出射程距离 181
功击时的动画 182
●动画模式 183
●攻击处理的步骤 184
魔法攻击的处理 193
●增加视觉特效 193
●其他魔法 195
CPU端的思维模式 196
●选择攻击对象 196
●攻击顺序 197
CPU端人物的攻击 198
●搜寻候选的移动位置 198
●决定移动位置 198
●攻击游戏玩家所选的人物 199
程序代码解释 203
●驱动CPU端 203
等待消息的处理 203
执行程序实例 206
●显示状态 206
设计弹出式状态说明 208
●输入命令 211
Chapter 7 事件 217
事件的执行方法 218
●设定故事大纲 218
●决定命令 219
●命令 221
●主菜单用的命令 226
命令的执行处理 226
●解释型?编译型? 227
●“语法分析”和“词法分析” 227
●读入script及执行命令 228
执行script 228
触发事件时的输入处理 233
命令的处理 234
●处理的内容 234
●文字内容显示 244
●菜单显示 245
●绘制 246
效果 248
●计时器处理 248
● 擦入 250
●渐淡 251
●合成图形 253
●执行程序实例 254
Chapter 8 编辑参数 257
参数编辑器 258
参数 258
●利用参数调整游戏平衡 258
●雏形 259
●对话框 261
●编写程序代码 262
读取/写入参数文件 262
参数的编辑处理 267
●执行程序实例 275
利用dummy 275
Chapter 9 大功告成 277
从外部文件读入参数 278
●修改源程序代码 278
增补其他功能 278
存储参数 279
结合战斗部分和故事大纲 283
●战斗开始 283
●战斗结束 284
判断结束 285
播放音乐 287
●MCI的使用 287
●追加标头和函数库 300
存储/装入 301
播放音效 308
●提升等级的适当时机 311
提升等级 311
●提升等级的处理 312
直接跳跃 316
●直接跳跃的命令 317
故事大纲实例 320
●故事大纲说明 330
Chapter 10 浅谈即时系统 331
战略型即时系统的基本概念 332
●游戏玩家所选人物的移动 332
更自由的移动系统 335
●敌方人物的移动 335
●战斗 335