第1章 猜数字游戏 1
1.1 游戏创意 1
1.2 游戏规划 2
1.3 程序实现 4
1.4 游戏调试 6
1.5 文本模式游戏制作 8
1.5.1 文本窗口函数 9
1.5.2 INT10中断功能 11
1.6 本章小结 11
第2章 用C语言函数库画图 12
2.1 设置图形模式 12
2.2 在图形模式下绘图 14
2.2.1 点 14
2.2.2 线 14
2.2.3 填充 15
2.3 在图形模式下写字 15
2.3.1 文本属性设置 15
2.4 独立图形程序的建立 16
2.5 赛车的完整图画 17
2.6 本章小结 18
第3章 简单动画 20
3.1 实现动画思路 20
3.2 屏幕保存与恢复 22
3.3 重画动画实例 24
3.4 简单动画实现 26
3.5 用异或实现赛车动画 29
3.6 本章小结 32
第4章 简单图形游戏 33
4.1 从动画到游戏 33
4.2 简单用户响应 34
4.3 接收用户信息 36
4.4 配上其它东西 39
4.4.1 配上声音 39
4.4.2 加入片头和片尾 39
4.4.3 使用随机数 41
4.5 赛车游戏 42
4.6 本章小结 43
第5章 图形模式 44
5.1 显示适配器与显示模式 44
5.1.1 显示适配器 44
5.1.2 显示模式 45
5.2 图形模式13H 45
5.3 调用BIOS中断10H 47
5.4 用汇编设置模式 47
5.4.1 使用汇编文件 47
5.4.2 行内汇编 48
5.5 本章小结 49
第6章 二维图形 51
6.1 基本图形 51
6.1.1 直接写屏 51
6.1.2 直接画点 52
6.1.3 直接画线 53
6.1.4 直接画多边形 56
6.2 图形函数优化 57
6.3 更多图形 59
6.4 本章小结 63
第7章 中文显示 64
7.1 文字显示原理 64
7.2 西文显示 65
7.2.1 使用ROM字符集 65
7.2.2 使用西文字库 67
7.3 中文平台下文字显示 69
7.3.1 汉字显示方法 69
7.3.2 中文平合判别 69
7.4 西文平台下中文调用 70
7.4.1 hzkl6中文字库文件 70
7.4.2 hzk24中西文共显 73
7.5 小字库、无字库技术 73
7.5.1 小字库技术 74
7.5.2 无字库技术 80
7.6 中文特效 83
7.6.1 多字体显示 83
7.6.2 文字格式显示 83
7.7 本章小结 84
第8章 图形文件 85
8.1 bmp文件调用 85
8.1.1 bmp文件结构 86
8.1.2 256色bmp文件显示 88
8.2 pcx文件调用 93
8.2.1 pcx文件结构和编码 93
8.2.2 pcx文件显示 96
8.2.3 播放pcx文件 98
8.3 ico文件显示 99
8.3.1 ico文件结构 99
8.3.2 ico文件显示 102
8.4 本章小结 105
第9章 动画原理 106
9.1 动画技术分类 106
9.2 重画技术 107
9.2.1 直接童画 107
9.2.2 缓冲技术 108
9.3 异或技术 110
9.4 调色板技术 112
9.4.1 调色极寄存器 112
9.4.2 调色板动画原理 115
9.4.3 调色板动画举例 116
9.5 拉屏技术 120
9.6 适用环境和效率 125
9.7 本章小结 127
第10章 子画面技术 129
10.1 子画面概述 129
10.1.1 子画面 129
10.1.2 子画面结构 131
10.1.3 面向对象 133
10.2 显示子画面 135
10.3 子画面运动 140
10.4 背景问题 141
10.5 子画面游戏 144
10.6 子画面绘制 151
10.7 本章小结 152
第11章 文件操作 154
11.1 文件基本操作 154
11.1.1 建立、打开和关闭 154
11.1.2 读取和写入 155
11.2 游戏进度文件 155
11.2.1 两种方法 156
11.2.2 保存进度文件 157
11.2.3 读取进度文件 159
11.3 游戏数据文件 161
11.4 dbf文件 163
11.4.1 dbf文件结构 163
11.4.2 dbf文件读取 164
11.5 本章小结 165
第12章 声音技术 166
12.1 PC喇叭发声 166
12.1.1 发声系统 166
12.1.2 PC喇叭播放歌曲 167
12.1.3 扬声器背景音乐 168
12.2 声卡技术 169
12.2.1 DSP简介 169
12.2.2 DSP端口寻找 170
12.2.3 写DSP 170
12.3 播放wav文件 171
12.3.1 WAV文件格式 171
12.3.2 WAV文件播放 172
12.4 WAV背景音乐 173
12.5 本章小结 173
第13章 内存技术 175
13.1 常规内存 175
13.2 内存结构 176
13.3 XMS技术 177
13.3.1 XMS基本知识 177
13.3.2 XMS基本函数 177
13.3.3 XMS调用基本程序 177
13.3.4 将中文字库调入XMS 178
13.4 EMS技术 180
13.4.1 EMS基本知识 180
13.4.2 EMS调用基本程序 181
13.4.3 将巾文字库调入EMS 183
13.4.4 全方位拉屏 184
13.5 本章小结 196
第14章 接口技术 197
14.1 键盘 197
14.1.1 键盘读取 197
14.1.2 同时按下问题 200
14.1.3 模拟按键 201
14.1.4 清主键盘缓冲 201
14.2 鼠标 202
14.2.1 鼠标基本函数 202
14.2.2 改变鼠标形状 204
14.2.3 用pcx图像做鼠标 209
14.3 串口 211
14.3.1 串口基础 211
14.3.2 利用串口传输文件 216
14.3.3 两机坦克对打例程 219
14.4 本章小结 226
第15章 界面技术 228
15.1 界面对象的结构 228
15.1.1 对象的结构分析 228
15.1.2 对象的初始化 230
15.1.3 界面设计与分析 231
15.2 对象绘制函数 232
15.2.1 填充矩形绘制国数 232
15.2.2 立体按钮绘制 233
15.2.3 窗体、按钮和菜单绘制 233
15.3 使用链表 238
15.4 对象事件函数 239
15.4.1 按钮的基本动作 239
15.4.2 菜单的基本动作 240
15.5 进行事件检测 243
15.6 界画例程 244
15.7 游戏实例 245
15.7.1 DOS游戏界面设计 245
15.7.2 将界面插入游戏 247
15.7.3 构建个性化界面 250
15.8 本章小结 251
第16章 其他问题 252
16.1 TSR驻留 252
16.1.1 TSR基本知识 252
16.1.2 时钟驻留 253
16.1.3 热键驻留 253
16.2 简单病毒 253
16.3 OOP应用 254
16.4 各类游戏编程思路 256
16.4.1 桌面游戏编程思路 256
16.4.2 视频对战游戏编程思路 257
16.4.3 魂斗罗类游戏编程思路 259
16.4.4 玛丽、赛车类游戏编程思路 260
16.4.5 RPG游戏编程思路 262
16.5 本章小结 263
第17章 游戏例程 265
17.1 建立通用游戏函数库 265
17.2 游戏创意 265
17.3 游戏规划 268
17.3.1 详细设计 268
17.3.2 程序流程设计 271
17.4 程序编写 272
17.4.1 文件清单 272
17.4.2 进度文件 272
17.4.3 图片文件 272
17.4.4 数据文件 273
17.4.5 代码文件 276
17.5 游戏场景 276
17.6 本章小结 281
附录A 游戏函数库 282
附录B 简单数据库 297
B.1 数据库要求 297
B.2 详细设计 298
B.3 模块设计 300
B.3.1 输入 300
B.3.2 检查 303
B.3.3 显示 307
B.3.4 删除 309
B.3.5 插入 317
B.3.6 查找 322
B.3.7 修改 329
B.3.8 排序和交换节点 337
B.3.9 保存 343
B.3.10 读取 344
B.3.11 清空 346
B.4 程序代码 346
B.5 通用数据库设计 397