第1篇 益智游戏 2
第1章 连连看游戏 2
1.1连连看游戏介绍 2
1.2程序设计的思路 3
1.2.1动物方块布局 3
1.2.2连通算法 4
1.2.3智能查找功能的实现 14
1.3程序设计的步骤 18
1.3.1设计游戏界面窗体(Forml.cs) 18
1.3.2编写程序代码 18
第2章 黑白棋游戏 27
2.1黑白棋游戏介绍 27
2.2程序设计的思路 28
2.2.1棋子的显示 28
2.2.2翻转对方的棋子 28
2.2.3显示执棋方可落子位置 29
2.2.4判断胜负功能 29
2.3程序设计的步骤 29
2.3.1设计游戏界面窗体(Forml.cs) 29
2.3.2编写程序代码 29
第3章 汉诺塔游戏 42
3.1汉诺塔游戏介绍 42
3.2程序设计的关键技术 43
3.2.1盘子图片的拖动 43
3.2.2动态加载盘子图片 44
3.2.3递归解决汉诺塔盘子移动 45
3.2.4动画效果移动盘子 46
3.3程序设计的思路 47
3.4程序设计的步骤 47
3.4.1设计游戏界面窗体(Forml.cs) 47
3.4.2编写程序代码 48
第4章 推箱子游戏 58
4.1推箱子游戏介绍 58
4.2程序设计的思路 59
4.3程序设计的步骤 61
4.3.1设计游戏窗体(Forml.cs) 61
4.3.2编写程序代码 62
4.3.3推箱子游戏关卡地图编辑器(FrmConfig.cs) 70
第5章 扫雷游戏 76
5.1扫雷游戏介绍 76
5. 2程序设计的思路 77
5. 3程序设计的关键技术 77
5.3. 1动态添加雷块按钮控件 77
5.3.2无雷方块拓展(对于周围无雷的空白块) 78
5.4程序设计的步骤 79
5.4.1设计游戏窗体(Forml.cs) 79
5.4.2编写程序代码 79
第6章 七巧板游戏 87
6.1七巧板游戏简介 87
6.2程序设计的关键技术 88
6.2.1几何图形的绘制 88
6.2.2几何图形的平移旋转 92
6.2.3给GraphicsPath包含的图形填充颜色 95
6.3程序设计的步骤 96
6.3.1设计拼块类(CChip.cs) 96
6.3.2设计窗体类(Forml.cs) 101
第7章 21点扑克牌游戏 106
7.1 21点扑克牌游戏介绍 106
7.2程序设计的关键技术 107
7.2.1扑克牌面绘制 107
7.2.2游戏规则的算法实现 108
7.3程序设计的步骤 110
7.3.1设计游戏窗体(Forml.cs) 110
7.3.2编写程序代码 110
第8章 人物拼图游戏(一) 117
8.1人物拼图游戏介绍 117
8.2程序设计的思路 118
8.3程序设计的步骤 119
8.3.1设计游戏窗体(Forml.cs) 119
8.3.2播放声音类设计 125
第9章 人物拼图游戏(二) 126
9.1人物拼图游戏介绍 126
9.2程序设计的思路 127
9.3程序设计的步骤 127
9.3.1设计游戏窗体(Forml.cs) 127
9.3.2编写程序代码 128
第10章 停车场游戏 134
10.1停车场游戏介绍 134
10.2程序设计的思路 135
10.2.1停车位和汽车颜色编号 135
10.2.2游戏中的相关数据结构 136
10.2.3实现汽车移动 136
10.2.4实现“路线提示”功能 137
10.3程序设计的步骤 137
10.3.1设计游戏窗体(Forml.cs) 137
10.3.2编写程序代码 137
第2篇 控制类游戏 148
第11章坦克大战游戏 148
11.1坦克大战游戏介绍 148
11.2程序设计的思路 149
11.3程序设计的步骤 150
11.3.1设计坦克类 150
11.3.2设计子弹类 156
11.3.3设计播放声音类 159
11.3.4设计游戏窗体类 160
第12章俄罗斯方块 168
12.1俄罗斯方块游戏介绍 168
12.2程序设计的思路 169
12.3程序设计的步骤 170
12.3.1设计方块类(Block.cs) 170
12.3.2设计游戏类(Game.cs) 174
12.3.3设计游戏窗体(Forml.cs) 183
第13章 贪吃蛇游戏 188
13.1贪吃蛇游戏介绍 188
13.2程序设计的思路 189
13.3程序设计的步骤 189
13.3.1设计豆类 189
13.3.2设计块类 190
13.3.3设计蛇类 193
13.3.4设计场地类 201
13.3.5设计窗体类 206
第14章 华容道游戏 211
14.1华容道游戏介绍 211
14.2程序设计的思路 212
14.2.1数据结构 212
14.2.2内部逻辑 213
14.3程序设计的步骤 214
14.3.1创建游戏界面窗体 214
14.3.2编写程序代码 215
第15章 打字游戏 227
15.1打字游戏介绍 227
15.2程序设计的思路 227
15.2.1字母的产生和下移 227
15.2.2字母的消除 228
15.3程序设计的步骤 228
15.3.1设计游戏界面窗体(Forml.cs) 228
15.3.2产生随机字符类(myRandom.cs) 233
第3篇棋牌类游戏 236
第16章网络中国象棋 236
16.1中国象棋介绍 236
16.1.1棋盘 236
16.1.2棋子 236
16.1.3各棋子的走法说明 237
16.1.4关于胜、负、和 238
16.2程序设计的关键技术 238
16.2.1P2P知识 238
16.2.2UdpClient类 239
16.2.3UdpClient类开发UDP程序的过程 240
16.3程序设计的思路 241
16.3.1棋盘表示 241
16.3.2棋子表示 243
16.3.3走棋规则 245
16.3.4坐标转换 247
16.3.5通信协议设计 247
16.3.6网络通信传递棋子信息 248
16.3.7生成棋谱信息 250
16.3.8实现复盘 251
16.4程序设计的步骤 252
16.4.1设计棋子类(Chess.cs) 252
16.4.2设计棋盘类 256
16.4.3设计中国象棋游戏窗体 270
16.4.4复盘窗体 285
第17章 两人对战网络军棋 304
17.1军棋游戏介绍 304
17.2程序设计的思路 305
17.2.1界面设计 305
17.2.2棋盘数据结构 306
17.2.3通信协议设计 307
17.2.4走棋规则设计 309
17.2.5布阵规则设计 311
17.2.6通信过程 311
17.3程序设计的步骤 314
第18章 拱猪扑克牌游戏 344
18.1拱猪扑克牌游戏介绍 344
18.2程序设计的思路 347
18.2.1牌手牌的储存 347
18.2.2记录牌手出牌 347
18.2.3识别分牌 348
18.2.4在游戏中出牌顺序逻辑控制 348
18.3程序设计的步骤 349
18.3.1 Card类和Poke类 349
18.3.2设计游戏界面窗体(MainForm.cs) 354
第4篇 其他类游戏 380
第19章 涂鸦游戏软件 380
19.1涂鸦游戏软件简介 380
19.2程序设计的关键技术 381
19.2.1基本图形绘制 381
19.2.2绘图轮廓(轨迹)的消除 383
19.2.3绘图工具箱实现 384
19.3程序设计的步骤 385
19.3.1设计绘图工具类(DrawTools.cs) 385
19.3.2设计涂鸦游戏窗体(Forml.cs) 392
第20章 智力问答游戏 400
20.1智力问答游戏简介 400
20.2程序设计的关键技术 401
20.2.1在保持连接的方式下进行数据操作 401
20.2.2在无状态方式下进行数据操作 401
20.2.3DataSet和DataReader 402
20.3程序设计的思路 403
20.4程序设计的步骤 403
20.4.1设计游戏窗体(Forml.cs) 403
20.4.2编写程序代码 403
第21章 对对碰游戏 411
21.1对对碰游戏介绍 411
21.2程序设计的思路 413
21.3程序设计的步骤 414
21.3.1设计方块类(Block.cs) 414
21.3.2设计游戏场景类(GameField.cs) 416
21.3.3设计游戏窗体(Forml.cs) 423
21.3.4设计帮助窗体(Help.cs) 432
第22章 百变方块游戏 433
22.1百变方块游戏介绍 433
22.2程序设计的思路 434
22.3程序设计的步骤 434
22.3.1设计拼块类(CChip.cs) 434
22.3.2设计窗体类(Forml.cs) 440