1.1 微软.NET战略的提出 1
1.1.1 .NET战略提出的背景 1
第1章 Visual Studio 2005简介 1
1.1.2 .NET战略带来的影响 2
1.2 Visual Studio版本的演化及其特点 2
1.2.1 Visual Studio.NET 2002和2003简介 2
1.2.2 Visual Studio 2005简介 4
第2章 智能设备程序设计简介 8
2.1 智能设备简介 8
2.1.1 Windows CE简介 8
2.1.2 Pocket PC和Pocket PC Phone Edition简介 9
2.1.3 Smart Phone简介 10
2.2.2 硬件特性导致的程序设计上的差异 11
2.2 智能设备程序的特点 11
2.2.1 API函数和MFC 11
2.2.3 程序的移植 12
2.3 智能设备版“Hello World” 12
2.3.1 程序的构建 12
2.3.2 添加代码并运行该程序 14
第3章 C#语法简介 16
3.1 Visual C# 2005简介 16
3.2 数据类型 18
3.2.1 预定义类型中的值类型 18
3.2.2 预定义类型中的引用类型 21
3.2.3 复合类型中的值类型 23
3.2.4 复合类型中的引用类型 27
3.2.5 类型转换 36
3.3 变量 40
3.4 变量的范围 41
3.5 变量修饰符 43
3.5.1 访问修饰符 43
3.5.2 静态变量修饰符和实例变量修饰符 44
3.5.3 只读变量修饰符 45
3.6 变量与参数 45
3.7 常量 47
3.8 运算符 47
3.8.1 赋值运算符 48
3.8.4 is运算符 49
3.8.5 typeof运算符 49
3.8.3 checked和unchecked运算符 49
3.8.2 条件运算符 49
3.8.6 sizeof运算符 50
3.8.7 运算符的简化操作与优先级 50
3.9 程序控制语句 51
3.9.1 if语句 51
3.9.2 switch语句 52
3.9.3 while和do...while语句 54
3.9.4 for语句 54
3.9.5 foreach语句 55
3.9.6 跳转语句 55
3.10.1 类 57
3.10 程序的结构 57
3.9.7 try语句 57
3.10.2 命名空间 59
3.10.3 Main方法 60
第4章 面向对象程序设计简介 61
4.1 面向对象概述 61
4.1.1 传统软件设计方法存在的问题 61
4.1.2 面向对象程序方法的特点 62
4.1.3 面向对象程序设计方法中涉及的基本概念 62
4.2 对象和类 63
4.2.1 对象的概念 63
4.2.2 面向对象中的类 64
4.3 面向对象中的继承 64
5.2 “连连看”游戏程序的设计步骤 66
5.2.1 程序画面的实现 66
第5章 游戏实例——“连连看” 66
5.1 游戏介绍 66
5.2.2 程序代码的添加 68
5.3 基类源代码详解 79
5.3.1 成员变量的含义 80
5.3.2 基类的构造函数 80
5.3.3 基类中其余函数代码的解释 81
5.4 卡片类源代码详解 83
5.4.1 成员变量的含义 84
5.4.2 卡片类的构造函数 84
5.5.1 成员变量的含义 85
5.5 卡片集合类源代码详解 85
5.4.3 卡片类中其余函数代码的解释 85
5.5.2 卡片集合类的构造函数 86
5.5.3 与卡片处理、绘制、重置相关的函数 86
5.5.4 游戏程序中对屏幕单击的处理 88
5.5.5 判断两张卡片之间是否可以连通 89
5.6 游戏类源代码详解 95
5.6.1 成员变量的含义 95
5.6.2 游戏程序的初始化 95
5.6.3 游戏对象的处理 97
5.6.4 游戏程序的主函数 98
第6章 游戏设计中游戏状态的添加 100
6.1 游戏状态概述 100
6.2 “连连看”游戏程序状态的介绍 101
6.3 程序状态的添加所引起的代码变化 102
6.3.1 卡片集合类 102
6.3.2 游戏类 108
6.4 变化部分代码详解 113
6.4.1 卡片集合类 113
6.4.2 游戏类 114
第7章 在“连连看”中添加卡片选中标示 119
7.1 新添加的选中标示 119
7.2 选中标示类的添加所引起的代码变化 119
7.2.1 变化后的卡片集合类 120
7.2.2 变化后的游戏类 126
7.3 新添加的代码模块 130
7.4.1 选中标示类 131
7.4 代码变化的类及新添加的模块代码详解 131
7.4.2 卡片集合类 133
7.4.3 游戏类 138
第8章 在“连连看”中添加计时功能 139
8.1 程序计时功能简介 139
8.2 计时器类的添加 139
8.3 代码变化的类及新添加的模块代码详解 141
8.3.1 计时器类 141
8.3.2 游戏类 143
8.4 计时功能中时间显示方式的改变 144
8.4.1 变化后的时间显示方式 144
8.4.2 时间显示方式的代码变化 144
8.4.3 代码变化后的计时器类代码详解 146
8.4.4 代码变化后的游戏类代码详解 148
第9章 卡片闪烁、飞散及旋转标示的实现 149
9.1 游戏特效概述 149
9.2 特效添加所引起的代码变化 150
9.2.1 卡片类 151
9.2.2 卡片集合类 153
9.3 变化后的卡片类源代码详解 160
9.3.1 新添加的全局变量和常量 160
9.3.2 函数的代码变化 160
9.3.3 新添加的函数 161
9.4 变化后的卡片集合类源代码详解 163
9.5 变化后的选中标示类源代码详解 165
9.6 变化后的计时器类源代码详解 166
9.7 变化后的游戏类源代码详细解 167
10.1 抽象出的连接类 168
第10章 连接类的抽象 168
10.2 连接类的抽象所引起的代码变化 169
10.2.1 卡片集合类 169
10.2.2 新添加的连接类 174
10.2.3 新添加的连接集合类 179
10.3 新添加的连接类源代码详解 181
10.3.1 Link类中全局量的含义 181
10.3.2 Link类的构造函数 182
10.3.3 Draw函数 183
10.3.4 判断卡片连接相关的函数 183
10.4 新添加的连接集合类源代码详解 187
10.5.1 卡片集合类 191
10.5 代码变化的类源代码详解 191
10.5.2 游戏类 195
第11章 “梦幻闪电”特效的实现 197
11.1 “梦幻闪电”特效概述 197
11.2 特效添加所引起的代码变化 198
11.3 代码变化的类源代码详解 203
11.3.1 基类 203
11.3.2 卡片类 204
11.3.3 连接类 205
第12章 “飞舞碰撞”特效的实现 209
12.1 “飞舞碰撞”特效概述 209
12.2 特效添加所引起的代码变化 210
12.3.2 连接类 216
12.3 代码变化的类源代码详解 216
12.3.1 卡片类 216
第13章 游戏实例——Zookeeper 219
13.1 游戏介绍 219
13.1.1 游戏画面展示 219
13.1.2 Zookeeper的游戏规则 220
13.2 Zookeeper游戏程序的框架结构 222
13.2.1 Zookeeper游戏程序所包含的类 222
13.2.2 和“连连看”中相应类的对应关系 224
13.3 基类关键源代码详解 224
13.3.1 基类中的变量 225
13.3.2 基类中的相关函数 225
13.4.1 全局变量和常量 227
13.4 动物类关键源代码详解 227
13.4.2 构造函数、动物类型和状态的读取及设置 228
13.4.3 处理对象的函数 230
13.4.4 其余相关函数 233
13.5 动物集合类关键源代码详解 235
13.5.1 全局变量和常量 235
13.5.2 构造函数 236
13.5.3 下一状态设置,动物对象数组处理、重置及绘制函数 237
13.5.4 处理智能设备屏幕单击的函数 239
13.5.5 状态切换函数 241
13.5.6 实现动物卡片位置交换的函数 243
13.5.7 实现动物卡片填充的函数 245
13.5.8 实现动物卡片移除的函数 246
13.6 动物计数器类关键源代码详解 250
13.6.1 构造函数及相关属性的实现 251
13.6.2 动物卡片计数、绘制和重置函数 252
13.7 数字类关键源代码详解 254
13.7.1 数字类中的构造函数和返回/设置数值函数 254
13.7.2 Draw函数 255
13.7.3 重置和增加函数 256
13.8 游戏程序目标类关键源代码详解 256
13.9 游戏程序等级类关键源代码详解 257
13.10 游戏程序分数类关键源代码详解 258
13.11 选中标示类关键源代码详解 258
13.11.1 选中标示类中用到的属性方法 259
13.11.2 选中标示类中的重置、选中/取消选中函数 259
13.12.1 全局常量和变量 260
13.12 计时器类关键源代码详解 260
13.12.2 构造函数及返回计时器的值 261
13.12.3 与时间处理相关的函数 261
13.12.4 时间条的绘制 262
13.12.5 重置及实现计时时间延长的函数 263
13.13 游戏类关键源代码详解 264
13.13.1 全局变量 264
13.13.2 完整源代码 265
13.13.3 构造函数及属性方法 271
13.13.4 初始化函数 271
13.13.5 游戏的主循环 272
13.13.6 初始化游戏程序和处理所有对象 273
13.13.7 绘制及重置所有游戏对象 273