游戏编程指南
最后更新于
本文基于 !"#$
推荐使用 " 及以上版本阅读
大家看完之后如果有什么意见和建议请务必在留言簿提出,谢谢!!!
如果你认为任何地方写错了,请告诉我…
如果你认为任何地方难以理解,请告诉我…
如果你觉得这篇东西还不算太垃圾,欢迎推荐给你的朋友…
本文 !!%为原创内容,转载时请只给出连接,谢谢!
也希望大家不要随便修改,谢谢!
使用&查看&''''&文档结构图&可大大方便阅读本文档
彭博 著
()(
*+,-.#
//+!012
+333$
目录 1
目 录
游戏编程指南..............................................................................................................................1
目 录....................................................................................................................................1
导 读....................................................................................................................................1
第一章 表述游戏的语言.......................................................................................................1
1.1 VC.net 概述............................................................................................................1
1.2 入门知识.................................................................................................................4
1.2.1 数与数据类型...............................................................................................4
1.2.2 变量与常量...................................................................................................4
1.2.3 Namespace..................................................................................................5
1.2.4 操作符与表达式............................................................................................6
1.3 预编译指令.............................................................................................................7
1.4 结构,联合和枚举...................................................................................................9
1.4.1 结构..............................................................................................................9
1.4.2 联合..............................................................................................................9
1.4.3 枚举............................................................................................................10
1.5 控制语句...............................................................................................................10
1.5.1 判断和跳转语句..........................................................................................11
1.5.2 选择语句.....................................................................................................12
1.5.3 循环语句.....................................................................................................13
1.6 函数......................................................................................................................14
1.7 指针、数组与字符串.............................................................................................17
1.7.1 指针............................................................................................................17
1.7.2 数组............................................................................................................19
1.7.3 字符串........................................................................................................22
1.7.4 小结............................................................................................................23
1.8 多文件程序的结构.................................................................................................23
1.9 常用函数...............................................................................................................25
第二章 如何说得更地道.....................................................................................................29
2.1 定义和使用类........................................................................................................29
2.2 类的构造函数........................................................................................................32
2.3 类的静态成员........................................................................................................34
2.4 运算符重载...........................................................................................................35
目录 2
2.5 类的继承...............................................................................................................38
2.6 虚函数和抽象类....................................................................................................41
2.7 模板......................................................................................................................42
2.8 优化程序...............................................................................................................46
2.9 调试程序...............................................................................................................47
第三章 容纳游戏的空间.....................................................................................................49
3.1 基本 Windows 程序...............................................................................................49
3.2 WinMain 函数.......................................................................................................53
3.2.1 简介............................................................................................................53
3.2.2 注册窗口类.................................................................................................53
3.2.3 创建窗口.....................................................................................................55
3.2.4 显示和更新窗口..........................................................................................56
3.2.5 消息循环.....................................................................................................57
3.3 消息处理函数........................................................................................................59
3.4 常用 Windows 函数...............................................................................................59
3.4.1 显示对话框.................................................................................................59
3.4.2 定时器........................................................................................................60
3.4.3 得到时间.....................................................................................................60
3.4.4 播放声音.....................................................................................................60
第四章 描绘游戏的画笔.....................................................................................................62
4.1 初始化 DirectDraw................................................................................................62
4.1.1 简介............................................................................................................62
4.1.2 DirectDraw 对象.........................................................................................64
4.1.3 设置控制级和显示模式...............................................................................64
4.1.4 创建页面.....................................................................................................65
4.2 后台缓存和换页....................................................................................................67
4.3 调入图像...............................................................................................................68
4.4 页面的丢失与恢复.................................................................................................68
4.5 透明色...................................................................................................................69
4.6 图像传送...............................................................................................................69
4.7 程序实例...............................................................................................................73
4.8 图像缩放...............................................................................................................73
4.9 释放 DirectDraw 对象............................................................................................74
第五章 丰富画面的技巧.....................................................................................................75
5.1 填涂颜色...............................................................................................................75
5.2 输出文字...............................................................................................................76
目录 3
5.3 GDI 作图...............................................................................................................76
5.4 程序实例...............................................................................................................77
5.5 锁定页面...............................................................................................................77
5.6 程序提速...............................................................................................................79
5.7 特殊效果...............................................................................................................84
5.7.1 减暗和加亮.................................................................................................84
5.7.2 淡入淡出.....................................................................................................85
5.7.3 半透明........................................................................................................85
5.7.4 光照............................................................................................................86
5.7.5 动态光照.....................................................................................................88
5.7.6 光照系统.....................................................................................................91
5.7.7 天气效果.....................................................................................................91
第六章 加速游戏的魔法.....................................................................................................92
6.1 内嵌汇编简介........................................................................................................92
6.2 基本指令...............................................................................................................93
6.3 算术指令...............................................................................................................94
6.4 逻辑与移位指令....................................................................................................96
6.5 比较、测试、转移与循环指令..............................................................................96
6.6 MMX 指令集之基本指令.......................................................................................99
6.7 MMX 指令集之算术与比较指令..........................................................................101
6.8 MMX 指令集之逻辑与移位指令..........................................................................102
6.9 MMX 指令集之格式调整指令..............................................................................103
第七章 我没有想好名字...................................................................................................105
7.1 读取键盘数据......................................................................................................105
7.2 读取鼠标数据......................................................................................................106
7.3 恢复和关闭 DirectInput.......................................................................................107
7.3.1 恢复 DirectInput 设备................................................................................107
7.3.2 关闭 DirectInput........................................................................................107
7.4 初始化和关闭 DirectX Audio...............................................................................107
7.4.1 初始化 DirectX Audio................................................................................107
7.4.2 关闭 DirectX Audio...................................................................................108
7.5 播放 MIDI 和 WAV 音乐.......................................................................................109
7.5.1 调入 MIDI 和 WAV 文件.............................................................................109
7.5.2 播放 MIDI 和 WAV 文件.............................................................................110
7.5.3 停止播放...................................................................................................110
7.6 在 3D 空间中播放音乐.........................................................................................110
目录 4
7.7 播放 MP3 音乐....................................................................................................112
7.7.1 调入 MP3 文件..........................................................................................112
7.7.2 播放 MP3 文件..........................................................................................113
7.7.3 停止播放和释放对象.................................................................................113
第八章 支撑游戏的基石....................................................................................................114
8.1 链表....................................................................................................................114
8.2 哈希表.................................................................................................................114
8.3 快速排序.............................................................................................................115
8.4 深度优先搜索......................................................................................................116
8.5 广度优先搜索......................................................................................................120
8.6 启发式搜索.........................................................................................................123
8.7 动态规划.............................................................................................................130
8.8 神经网络.............................................................................................................131
8.9 遗传规划.............................................................................................................133
第九章 向三维世界迈进...................................................................................................134
9.1 概述....................................................................................................................134
9.2 基本知识............................................................................................................136
9.2.1 初始化 DXGraphics..................................................................................136
9.2.2 关闭 DXGraphics......................................................................................138
9.2.3 恢复 DXGraphics 设备..............................................................................138
9.3 设置场景.............................................................................................................138
9.3.1 设置渲染状态...........................................................................................138
9.3.2 设置矩阵...................................................................................................139
9.4 创建场景.............................................................................................................141
9.4.1 调入 3D 场景.............................................................................................141
9.4.2 调入 2D 图像.............................................................................................142
9.5 刷新场景.............................................................................................................143
9.6 渲染场景.............................................................................................................144
9.6.1 渲染 3D 场景.............................................................................................144
9.6.2 渲染 2D 图像.............................................................................................144
9.7 改变场景.............................................................................................................145
9.8 显示文字.............................................................................................................146
9.9 程序实例............................................................................................................147
第十章 我没有想好名字...................................................................................................148
10.1 灯光..................................................................................................................148
10.2 半透明...............................................................................................................149