第1章 C++Builder 5.0入门 1
1.1 C++Builder 5.0简介 1
1.2 C++Builder 5.0的特点 1
1.3 C++Builder 5.0的安装与运行 3
1.3.1 C++Builder 5.0对系统配置的要求 4
1.3.2安装C++Builder 5.0 4
1.3.3卸装C++Builder 5.0 7
2.1.1程序结构 9
2.1C++语言简介 9
第2章 C++与C++Builder 5.0语言支持 9
2.1.2运算符 10
2.1.3判断结构 13
2.1.4循环结构 15
2.1.5数据类型 17
2.1.6数据结构 19
2.2 C++类 21
2.2.1类的定义 21
2.2.2构造函数与析构函数 23
2.2.3数据成员和成员函数 24
2.2.4多态性和虚函数 27
2.3 VCL的C++语言支持 30
2.4 CHESS项目中的数据类型及类的定义 33
2.4.1 CDefines.h中的数据类型 33
2.4.2 TEditForm类 36
2.4.3 TColorDlg类 37
2.4.4 TInfoForm类 38
2.4.5 TMainForm类 40
2.4.6 TPieceValueDlg类 44
第3章 集成开发环境 46
3.1窗体 46
3.2菜单栏 47
3.3工具栏 48
3.4组件栏 49
3.5对象观察器 60
3.6项目管理器 61
3.7代码编辑器 63
3.8图像编辑器 63
3.9桌面工具栏 65
3.10使用联机帮助 66
第4章 运动CHESS项目 68
4.1管理CHESS项目 68
4.1.1开始CHESS项目 68
4.1.2设计对弈主窗体 69
4.1.3交互菜单设计 107
4.1.4运动时修改菜单 112
4.1.5时钟组件 113
4.2扩展CHESS项目 114
4.2.1 CHESS项目文件 115
4.2.2功能菜单 117
4.3编译、运行CHESS项目 120
第5章 调试CHESS项目 121
5.1程序错误的种类 121
5.2 C++Builder集成环境中的调试选项 122
5.3主要调试手段 122
5.3.1使用Evaluate/Modify窗口 123
5.3.2断点 123
5.3.3观察变量 124
5.3.4观察类和对象 125
5.4辅助调试工具 126
5.4.1 CPU窗口调式工具 126
5.4.2 CodeGuard调试工具 127
5.5 MessageBox的妙用 128
5.6巧用小项目文件 129
5.7 CHESS项目综合调试实例 131
5.7.1综合各种小技巧调试 131
5.7.2采用输出文件的方式调试 133
6.1.1设备描述表 137
第6章 美化CHESS项目——图形与图像 137
6.1Windows图形编程知识 137
6.1.2图形设备接口 138
6.2图形功能 139
6.2.1画布(TCanvas)属性 142
6.2.2画布对象的常用方法 146
6.2.3实现CHESS项目画布 148
6.3图像功能 148
6.3.1 TGraphic类 148
6.3.2 TPicture类 149
6.3.3 TImage组件 150
6.3.4 TShape组件 150
6.3.5 TPaintBox组件 151
6.3.6创建和使用自定义光标 151
6.3.7实现CHESS项目图像 152
6.4生成动画 153
6.4.1动画简史 154
6.4.2生成棋子动画 154
6.4.3棋子动画函数实现 155
第7章 跟踪CHESS项目——消息处理 162
7.1Windows 消息与象棋窗体事件 162
7.2自定义象棋消息 163
7.2.1声明一个消息标识符 163
7.2.2声明一个消息结构 163
7.2.3定义消息处理句柄 164
7.2.4发送和传递消息 165
7.3 CHESS项目消息处理实例 165
8.1.1结构化异常处理 168
8.1异常的分类 168
第8章 拦截CHESS项目错误——异常处理 168
8.1.2 C++异常处理 169
8.1.3 VCL异常处理 170
8.2 VCL异常类 171
8.3发送异常 173
8.4捕获异常 174
8.5定制异常 174
8.6运行象棋异常处理 175
9.1.1人工智能的研究方法 179
9.1人工智能简介 179
第9章 人工智能与中国象棋 179
9.1.2人工智能简史 180
9.1.3人工智能问题的通用解答 182
9.2敌对搜索 184
9.2.1双方博弈的一般性理论 184
9.2.2最小最大化过程 184
9.2.3象棋α-β过程 185
9.3中国象棋简论 187
9.3.1中国象棋的难点——势 187
9.3.2势是多项式 188
9.4程序编制 192
9.4.1中国象棋的表达 193
9.4.2中国象棋规则的实现 194
9.4.3局面(势)评价函数的实现 218
9.4.4搜索过程的实现 235
第10章 CHESS项目非可视化子窗体 256
10.1棋盘编辑子窗体EditForm 256
10.1.1 EditForm窗体的属性 256
10.1.2 EditForm窗体的方法 258
10.2对弈信息子窗体InfoForm 264
10.2.1 InfoForm窗体的属性 265
10.2.2 InfoForm窗体的方法 270
10.3象棋子窗体的显示 277
第11章 CHESS项目可视化对话框 278
11.1棋盘打开保存公用对话框 278
11.1.1棋盘打开对话框OpenDialogl 的主要属性 278
11.1.2棋盘打开对话框OpenDialogl的方法 279
11.1.3棋盘保存对话框SaveDialogl的主要属性 280
11.1.4棋盘保存对话框SaveDialogl的方法 281
11.2自定义象棋对话框 282
11.2.1象棋说明对话框AboutDlg的主要属性 282
11.2.2改变棋盘颜色对话框ColorDlg的主要属性 286
11.2.3改变棋盘颜色对话框ColorDlg的方法 292
11.2.4改变棋子估值对话框PieceValueDlg的主要属性 297
11.2.5改变棋子估值对话框PieceValueDlg的方法 303
11.2.6定义对局时间对话框InputMinPerGameDlg的主要属性 311
11.2.7定义对局时间对话框InputMinPerGameDlg的方法 313
11.2.8定义走步时间对话框InputSecPerMoveDlg的主要属性 315
11.2.9定义走步时间对话框InputSecPerMoveDlg的方法 318
第12章 CHESS项目非可视化对话框——动态对话框 320
12.1报告错误对话框ChessErrorDlg的主要属性 320
12.2报告错误对话框ChessErrorDlg的方法 323
12.3结束对弈对话框EndChessGameDlg的主要属性 324
12.4结束对弈对话框EndChessGameDlg的主要方法 328
第13章 CHESS项目的API函数及自定义函数 329
13.1 CHESS项目中的Windows API函数详解 329
13.2自定义函数的声明及调用 339
13.3 CHESS程序中部分自定义函数的使用说明 342