第1章 俄罗斯方块单人游戏的实现 1
1.1 功能描述 1
1.2 实现机制 2
1.2.1 Java GUI编程 2
1.2.2 Java多线程机制 10
1.3 设计方案 12
1.3.1 游戏总体构思 12
1.3.2 基本类设计 16
1.4 程序实现 30
1.4.1 菜单类的实现 30
1.4.2 方格类的实现 36
1.4.3 方块类的实现 37
1.4.4 主类的实现 41
1.4.5 控制面板类的实现 46
1.4.6 游戏画布类的实现 52
1.5 点评 55
第2章 俄罗斯方块双人对战游戏的实现 56
2.1 功能描述 56
2.2 实现机制 57
2.2.1 Java与网络通信 57
2.2.2 Socket介绍 58
2.2.3 使用对象流传递数据 62
2.3 设计方案 64
2.3.1 网络通信的设计方案 64
2.3.2 Socket的数据传输 64
2.3.3 程序的类结构 65
2.4 程序实现 66
2.4.1 主类的实现 66
2.4.2 俄罗斯方块类的实现 69
2.4.3 游戏画布类的实现 70
2.4.4 菜单类的实现 72
2.4.5 对象数据传输类的实现 75
2.4.6 游戏的运行 76
2.5 点评 78
第3章 五子棋双人对战游戏的实现 79
3.1 功能描述 79
3.2 实现机制 80
3.2.1 界面设计 80
3.2.2 游戏控制 81
3.2.3 网络结构与数据传输 81
3.3 设计方案 82
3.3.1 游戏总体构思 83
3.3.2 客户端设计 83
3.3.3 服务器端设计 89
3.3.4 程序的类结构 94
3.4 程序设计 95
3.4.1 客户端程序实现 95
3.4.2 服务器端程序实现 103
3.5 运行效果 109
3.6 点评 110
第4章 多媒体展示系统——网络游鱼 111
4.1 功能描述 111
4.2 实现机制 111
4.2.1 UDP数据通信 111
4.2.2 利用Datagram方式实现通信 112
4.2.3 IP多播 113
4.2.4 动画实现 115
4.2.5 音频处理 116
4.2.6 LinkedList类 117
4.2.7 UML建模 117
4.3 设计方案 118
4.3.1 需求分析 118
4.3.2 系统建模 119
4.3.3 基本类的设计 124
4.4 程序设计 132
4.4.1 服务器端程序设计 132
4.4.2 客户端程序设计 137
4.5 运行效果 143
4.6 点评 145
第5章 野人和传教士过河问题的实现 146
5.1 功能描述 146
5.2 实现机制 147
5.2.1 状态空间法 147
5.2.2 搜索算法 148
5.3 设计方案 150
5.3.1 问题的形式化描述 150
5.3.2 主要数据结构的定义 153
5.3.3 系统的总体构思 154
5.4 程序实现 159
5.4.1 A算法搜索模块 159
5.4.2 动画演示模块 165
5.5 点评 171
第6章 五子棋人机对战游戏的实现 172
6.1 功能描述 172
6.2 实现机制 173
6.2.1 Java GUI编程 173
6.2.2 定时更新信息 178
6.3 设计方案 179
6.3.1 游戏总体设计 179
6.3.2 博弈策略 179
6.3.3 基本类的设计 184
6.4 程序实现 188
6.4.1 窗口初始化及相应图片的绘制 188
6.4.2 棋盘的绘制及鼠标事件的监听 189
6.4.3 左侧标签的实现 194
6.4.4 右侧按钮的实现 195
6.4.5 极大极小值搜索策略的实现 197
6.4.6 计算机落子的实现 202
6.4.7 定时更新的实现 203
6.5 点评 204
第7章 蚁群算法的模拟实现 205
7.1 功能描述 205
7.2 实现机制 206
7.2.1 SWT 206
7.2.2 蚁群算法 206
7.3 设计方案 209
7.3.1 总体框架的设计 210
7.3.2 演示界面的设计 210
7.3.3 算法的设计 211
7.3.4 基本类的设计 213
7.4 程序实现 218
7.4.1 主界面的实现 218
7.4.2 算法类的实现 223
7.4.3 效果与效率 229
7.4.4 参数的设置 231
7.5 点评 231
第8章 SchoolEbay的实现 232
8.1 功能描述 232
8.2 系统分析 232
8.2.1 需求分析 233
8.2.2 实现机制 237
8.3 系统设计 244
8.3.1 数据库设计 244
8.3.2 系统总体描述 248
8.3.3 详细设计 249
8.4 系统实现 252
8.4.1 模块功能的实现 252
8.4.2 编码转换、HTML处理和加密的实现 258
8.5 系统配置与运行 260
8.6 点评 261
第9章 Ajax技术在网上教学平台的应用 262
9.1 功能描述 262
9.2 系统分析与设计 263
9.2.1 自主学习平台 263
9.2.2 实现机制 266
9.3 实现方案 268
9.3.1 Ajax实现级联菜单 268
9.3.2 Ajax+XML+XSL实现页面数据格式化显示 270
9.3.3 Ajax实现无刷新数据搜索 272
9.4 程序实现 275
9.4.1 级联菜单的实现 275
9.4.2 数据显示的实现 277
9.4.3 无刷新搜索的实现 278
9.5 点评 280
第10章 简单编译器的实现 281
10.1 功能描述 281
10.2 系统分析与设计 281
10.2.1 系统分析 282
10.2.2 系统设计 283
10.3 实现机制 283
10.3.1 StringTokenizer类 283
10.3.2 Iterator接口 285
10.3.3 栈和队列 286
10.4 程序框架 288
10.4.1 表达式的实现类 288
10.4.2 队列类和栈类 289
10.4.3 主类 291
10.5 程序设计 292
10.5.1 表达式分析用到的类 292
10.5.2 表达式转换的实现 295
10.5.3 表达式计算的完整实现 299
10.6 点评 301
第11章 基于RMI分布的计算实例 302
11.1 功能描述 302
11.2 系统分析和设计 302
11.3 实现机制 303
11.3.1 RMI的简介 303
11.3.2 RMI的使用 305
11.4 程序框架 307
11.5 程序实现 310
11.5.1 客户和服务配置的实现 311
11.5.2 远程接口和远程方法的实现 312
11.5.3 客户程序的实现 314
11.5.4 RMI服务器的实现 319
11.5.5 计算过程 320
11.6 点评 323
第12章 基于Agent分布的计算实例 324
12.1 功能描述 324
12.2 系统分析和设计 325
12.3 实现机制 326
12.3.1 Agent简介 326
12.3.2 Aglet简介 327
12.3.3 Aglet的使用方法 331
12.4 程序框架 333
12.5 程序实现 334
12.5.1 Matrix类 334
12.5.2 Calculator类 337
12.5.3 计算过程 338
12.6 点评 341