第1章连连看游戏 1
1.1连连看游戏介绍 1
1.2程序设计的思路 2
1.2.1连连看游戏数据模型 2
1.2.2动物方块布局 3
1.2.3连通算法 5
1.2.4智能查找功能的实现 15
1.3关键技术 19
1.3.1动物方块图案的显示 19
1.3.2在图片框控件上绘制永久的图形 20
1.3.3鼠标相关的事件 20
1.3.4倒计时功能 22
1.4程序设计的步骤 23
1.4.1设计游戏界面窗体 23
1.4.2编写程序代码 24
第2章 推箱子游戏 34
2.1推箱子游戏介绍 34
2.2程序设计的思路 36
2.2.1推箱子游戏数据结构 36
2.2.2游戏规则实现 36
2.2.3关卡地图编辑器设计 38
2.2.4撤销功能实现 39
2.3关键技术 41
2.4程序设计的步骤 46
2.4.1设计游戏窗体 46
2.4.2推箱子游戏关卡地图编辑器 55
第3章华容道游戏 61
3.1华容道游戏介绍 61
3.2程序设计的思路 62
3.2.1数据结构 62
3.2.2内部逻辑 63
3.3程序设计的步骤 64
3.3.1创建游戏界面窗体 64
3.3.2编写程序代码 66
第4章 黑白棋游戏 78
4.1黑白棋游戏介绍 78
4.2程序设计的思路 79
4.3关键技术 80
4.3.1游戏素材和棋子的显示 80
4.3.2翻转对方的棋子 80
4.3.3显示执棋方可落子位置 81
4.3.4判断胜负功能 82
4.4黑白棋游戏设计的步骤 82
4.4.1设计游戏界面窗体 82
4.4.2编写程序代码 82
第5章扫雷游戏 92
5.1扫雷游戏介绍 92
5.2程序设计的思路 92
5.3关键技术 93
5.3.1动态添加雷块按钮控件 93
5.3.2无雷方块拓展(对于周围无雷的空白块) 94
5.4程序设计的步骤 95
5.4.1设计游戏窗体 95
5.4.2编写程序代码 95
第6章 对对碰游戏 103
6.1对对碰游戏介绍 103
6.2程序设计的思路 105
6.3关键技术 105
6.3.1 My.Application 106
6.3.2 My.Computer 106
6.3.3 My.Settings 107
6.3.4 My.Resources 108
6.4程序设计的步骤 109
6.4.1设计方块类Block 109
6.4.2设计游戏场景类GameFild 112
6.4.3设计游戏窗体 118
第7章 乒乓球游戏 127
7.1乒乓球游戏介绍 127
7.2程序设计的思路 128
7.2.1球的移动 128
7.2.2四面反弹的球 128
7.2.3左右拖曳的击球板 130
7.2.4击球反弹 131
7.3关键技术 132
7.3.1建立快捷键 132
7.3.2改变反弹方向 133
7.4乒乓球游戏设计步骤 134
第8章 斗地主扑克牌游戏 137
8.1斗地主游戏介绍 137
8.2程序设计的思路 141
8.2程序设计的思路 141
8.2.1扑克牌的命名 141
8.2.2保存扑克牌信息 142
8.2.3牌手牌的储存 142
8.2.4给3个牌手发牌 143
8.2.5在游戏中出牌顺序逻辑控制 145
8.2.6获取每种类型牌的张数 145
8.2.7获得出牌类型 146
8.2.8排序显示扑克牌 148
8.3出牌规则的实现 150
8.3.1判断出牌是否是炸弹、产生炸弹、炸弹是否合法 150
8.3.2判断出牌是否是火箭、产生火箭、火箭是否合法 153
8.3.3判断出牌是否是四带二、产生四带二、四带二是否合法 154
8.3.4判断出牌是否是地雷(三张相同牌)、产生地雷、地雷是否合法 156
8.3.5判断出牌是否是三带一、产生三带一、三带一是否合法 158
8.3.6判断出牌是否是三带二、产生三带二、三带二是否合法 161
8.3.7判断出牌是否是对牌、产生对牌、对牌是否合法 161
8.3.8判断出牌是否是单牌、产生单牌、单牌是否合法 162
8.3.9判断出牌是否是三顺、产生三顺、三顺是否合法 164
8.3.10判断出牌是否是滚筒、产生滚筒、滚筒是否合法 169
8.3.11判断出牌是否是双顺、产生双顺、双顺是否合法 169
8.3.12判断出牌是否是顺子、产生顺子、顺子是否合法 171
8.4程序设计的步骤 175
8.4.1设计游戏界面窗体 175
8.4.2出牌规则的实现 193
第9章 人物拼图游戏 202
9.1人物拼图游戏介绍 202
9.2程序设计的思路 203
9.3关键技术 203
9.3.1动态添加图片控件 203
9.3.2卸载上次游戏的图片控件 203
9.4程序设计的步骤 204
第10章 七巧板游戏 210
10.1七巧板游戏介绍 210
10.2程序设计的关键技术 211
10.2.1几何图形的绘制 211
10.2.2几何图形的平移旋转 214
10.2.3给GraphicsPath包含的图形填充颜色 218
10.3程序设计的步骤 219
10.3.1设计拼块类 219
10.3.2设计窗体类 223
第11章 百变方块游戏 229
11.1百变方块游戏介绍 229
11.2程序设计的思路 230
11.3程序设计的步骤 230
11.3.1设计拼块类 230
11.3.2设计窗体类 236
第12章 俄罗斯方块 245
12.1俄罗斯方块游戏介绍 245
12.2程序设计的思路 246
12.3程序设计的步骤 247
12.3.1设计方块类Block 247
12.3.2设计游戏类Game 251
12.3.3设计游戏窗体 258
第13章贪吃蛇游戏 263
13.1贪吃蛇游戏介绍 263
13.2程序设计的思路 264
13.3程序设计的步骤 264
13.3.1豆类设计 264
13.3.2块类 265
13.3.3蛇类设计 267
13.3.4场地类设计 276
13.3.5设计窗体类 280
第14章 网络中国象棋 286
14.1中国象棋介绍 286
14.1.1棋盘 286
14.1.2棋子 286
14.1.3各棋子的走法说明 287
14.1.4关于胜、负、和 288
14.2关键技术 288
14.2.1 UDP协议 288
14.2.2 UdpClient类 289
14.2.3 UdpClient类开发UDP程序的过程 291
14.3程序设计的思路 292
14.3.1棋盘表示 292
14.3.2走棋规则 295
14.3.3棋子坐标转换 297
14.3.4根据图片的索引号获取棋子棋盘坐标 297
14.3.5移动棋子 298
14.3.6通信协议设计 299
14.3.7网络通信传递棋子信息 300
14.3.8生成棋谱信息 301
14.4网络中国象棋具体实现 302
第15章 飞碟跳棋游戏 323
15.1飞碟跳棋游戏介绍 323
15.2程序设计的思路 324
15.2.1飞碟及棋盘背景绘制 324
15.2.2地图文件 324
15.3程序设计的步骤 325
第16章 数独游戏设计 335
16.1数独游戏介绍 335
16.2程序设计的思路 336
16.2.1数独数字的布局生成 336
16.2.2游戏界面生成 337
16.3关键技术 337
16.3.1动态添加数独数字按钮控件 337
16.3.2判断是否右键单击窗体 338
16.4程序设计的步骤 339
第17章 汽车IQ游戏 349
17.1汽车IQ游戏介绍 349
17.2程序设计的思路 350
17.2.1 Car类 350
17.2.2地图文件 350
17.2.3游戏窗体 351
17.3程序设计的步骤 351
17.3.1汽车类设计 351
17.3.2设计游戏窗体 353
17.3.3设计地图窗体 364
第18章 网络聊天游戏 372
18.1程序设计的思路 373
18.1.1功能分析 373
18.1.2细化聊天游戏通信规程 374
18.1.3聊天游戏客户端界面设计 375
18.1.4聊天游戏服务器端界面设计 376
18.2关键技术 377
18.2.1 NetworkStream类 377
18.2.2 StreamReader类 378
18.2.3 StreamWriter类 378
18.2.4 TcpClient类 379
18.2.5 TcpListener类 381
18.3客户端程序实现步骤 382
18.4服务器端实现步骤 390
第19章 智力问答游戏 399
19.1智力问答游戏介绍 399
19.2关键技术 400
19.2.1在保持连接的方式下进行数据操作 400
19.2.2在无状态方式下进行数据操作 400
19.2.3 DataSet和DataReader 401
19.3程序设计的思路 402
19.4程序设计的步骤 402
19.4.1设计试题类 402
19.4.2设计游戏窗体 404
第20章 网络五子棋 410
20.1网络五子棋游戏介绍 410
20.2程序设计的思路 411
20.2.1界面设计 411
20.2.2通信协议 411
20.3关键技术 411
20.4程序设计的步骤 412
第21章 坦克大战游戏 423
21.1坦克大战游戏介绍 423
21.2程序设计的思路 424
21.3程序设计的步骤 425
21.3.1坦克类设计 425
21.3.2子弹类设计 431
21.3.3播放声音类设计 434
21.3.4游戏窗体类设计 435