Java五子棋游戏制作 / 计算机系列教材
¥29.00定价
作者: 宁淑荣,杨国兴
出版时间:2017-04
出版社:清华大学出版社
- 清华大学出版社
- 9787302465638
- 1-1
- 178735
- 16开
- 2017-04
- 工学
- 软件工程
- TP312JA
- 计算机
内容简介
本书以五子棋游戏制作为例,介绍Java在开发应用软件中的各种技术,并体现面向对象的设计思想。内容包括单机版五子棋、下网络五子棋、下棋数据的保存以及人机对战等。书中对于Java中的输入输出、数据库、异常处理、网络编程以及界面编程等进行了比较深入的探讨。本书可作为计算机相关专业Java课程设计、Java实训等课程的教材,也可作为学生毕业设计以及Java程序设计爱好者的参考书。
目录
目录
第1章单机版五子棋游戏/1
1.1五子棋游戏窗口制作/1
1.2创建棋盘类/2
1.2.1准备图片/2
1.2.2棋盘类的创建/2
1.2.3显示棋盘/3
1.3创建棋子类/4
1.3.1棋子类/4
1.3.2在棋盘上画出棋子/6
1.4实现单击鼠标下棋/6
1.5判断赢棋/8
1.6实现工具栏上的功能/11
1.7改变鼠标的形状/13
1.8作业/13第2章网络五子棋/15
2.1服务器端界面制作/16
2.2创建客户端界面/17
2.2.1创建主窗口和棋盘/17
2.2.2创建客户端界面右侧的3个类/18
2.2.3创建客户端界面下方的控制面板类/21
2.3实现“连接主机”按钮的功能/22
2.3.1连接服务器获取用户名/23
2.3.2将已经连接的客户端添加到用户列表中/26
2.4实现“加入游戏”按钮的功能/31
2.4.1客户端申请加入后对方选择同意或拒绝/31
2.4.2完成猜棋并准备好下棋/37
2.5实现下棋功能/41
2.5.1客户端向服务器发送下棋消息/41
2.5.2服务器接收消息并处理/43
2.5.3客户端接收消息并处理/43
2.6实现“放弃游戏”的功能/45
2.6.1Command类添加常量/46
2.6.2添加“放弃游戏”的响应代码/46
2.6.3在Communication类中添加giveup()
方法/46
2.6.4服务器接收giveup命令并处理/46
2.7加入计时功能/47
2.7.1设计计时线程类/47
2.7.2猜先后启动倒计时线程/48
2.8完善“关闭程序”按钮的功能/49
2.8.1在Command类中添加命令/49
2.8.2客户端向服务器发送命令/49
2.8.3服务器处理quit命令/50
2.8.4客户端处理delete命令/50
2.9作业/51第3章下棋数据的保存/52
3.1创建数据库/52
3.1.1数据库设计/52
3.1.2创建数据库/53
3.2用户管理/55
3.2.1数据库连接类/55
3.2.2用户管理/56
3.3用户注册和登录/61
3.3.1准备工作/62
3.3.2用户登录/62
3.3.3用户注册/67
3.4记录棋局和棋谱/71
3.4.1记录棋局/71
3.4.2记录棋谱/77
3.5查询棋局和棋谱欣赏/80
3.5.1查询棋局/81
3.5.2棋谱欣赏/85
3.6作业/90第4章人机对战/91
4.1准备工作/91
4.1.1在主程序中添加复选框/91
4.1.2在棋盘类中添加成员变量/92
4.1.3棋盘类中添加方法以及修改已有的
方法/92
4.2计算机智能下棋/95
4.2.1处理棋盘类中的数据成员/95
4.2.2五子棋的棋型与估值/97
4.2.3创建估值类Evaluate/100
4.2.4实现计算机智能下棋/111
4.3极小极大搜索法提高下棋水平/112
4.3.1极小极大算法与棋局的评价/113
4.3.2极小极大算法的实现/115
4.4AlphaBeta搜索方法/124
4.4.1AlphaBeta搜索方法简介/124
4.4.2AlphaBeta搜索方法实现/125
4.5作业/128
作业参考答案/130
参考文献/152
第1章单机版五子棋游戏/1
1.1五子棋游戏窗口制作/1
1.2创建棋盘类/2
1.2.1准备图片/2
1.2.2棋盘类的创建/2
1.2.3显示棋盘/3
1.3创建棋子类/4
1.3.1棋子类/4
1.3.2在棋盘上画出棋子/6
1.4实现单击鼠标下棋/6
1.5判断赢棋/8
1.6实现工具栏上的功能/11
1.7改变鼠标的形状/13
1.8作业/13第2章网络五子棋/15
2.1服务器端界面制作/16
2.2创建客户端界面/17
2.2.1创建主窗口和棋盘/17
2.2.2创建客户端界面右侧的3个类/18
2.2.3创建客户端界面下方的控制面板类/21
2.3实现“连接主机”按钮的功能/22
2.3.1连接服务器获取用户名/23
2.3.2将已经连接的客户端添加到用户列表中/26
2.4实现“加入游戏”按钮的功能/31
2.4.1客户端申请加入后对方选择同意或拒绝/31
2.4.2完成猜棋并准备好下棋/37
2.5实现下棋功能/41
2.5.1客户端向服务器发送下棋消息/41
2.5.2服务器接收消息并处理/43
2.5.3客户端接收消息并处理/43
2.6实现“放弃游戏”的功能/45
2.6.1Command类添加常量/46
2.6.2添加“放弃游戏”的响应代码/46
2.6.3在Communication类中添加giveup()
方法/46
2.6.4服务器接收giveup命令并处理/46
2.7加入计时功能/47
2.7.1设计计时线程类/47
2.7.2猜先后启动倒计时线程/48
2.8完善“关闭程序”按钮的功能/49
2.8.1在Command类中添加命令/49
2.8.2客户端向服务器发送命令/49
2.8.3服务器处理quit命令/50
2.8.4客户端处理delete命令/50
2.9作业/51第3章下棋数据的保存/52
3.1创建数据库/52
3.1.1数据库设计/52
3.1.2创建数据库/53
3.2用户管理/55
3.2.1数据库连接类/55
3.2.2用户管理/56
3.3用户注册和登录/61
3.3.1准备工作/62
3.3.2用户登录/62
3.3.3用户注册/67
3.4记录棋局和棋谱/71
3.4.1记录棋局/71
3.4.2记录棋谱/77
3.5查询棋局和棋谱欣赏/80
3.5.1查询棋局/81
3.5.2棋谱欣赏/85
3.6作业/90第4章人机对战/91
4.1准备工作/91
4.1.1在主程序中添加复选框/91
4.1.2在棋盘类中添加成员变量/92
4.1.3棋盘类中添加方法以及修改已有的
方法/92
4.2计算机智能下棋/95
4.2.1处理棋盘类中的数据成员/95
4.2.2五子棋的棋型与估值/97
4.2.3创建估值类Evaluate/100
4.2.4实现计算机智能下棋/111
4.3极小极大搜索法提高下棋水平/112
4.3.1极小极大算法与棋局的评价/113
4.3.2极小极大算法的实现/115
4.4AlphaBeta搜索方法/124
4.4.1AlphaBeta搜索方法简介/124
4.4.2AlphaBeta搜索方法实现/125
4.5作业/128
作业参考答案/130
参考文献/152