基于Java的五子棋游戏的设计
摘要
五子棋作为一个棋类竞技运动,在民间十分流行,为了熟悉五子棋规则及技巧,以及研究简单的人工智能,决定用Java开发五子棋游戏。主要完成了人机对战和玩家之间联网对战2个功能。网络连接部分为Socket编程应用,客户端和服务器端的交互用ClassMessage定义,有很好的可扩展性,客户端负责界面维护和收集用户输入的信息,及错误处理。服务器维护在线用户的基本信息和任意两个对战用户的棋盘信息,动态维护用户列表。在人机对弈中通过深度搜索和估值模块,来提高电脑棋手的智能。分析估值模块中的影响精准性的几个要素,以及提出若干提高精准性的办法,以及对它们搜索的节点数进行比较,在这些算法的基础上分析一些提高电脑AI方案,如递归算法、电脑学习等。算法的研究有助于理解程序结构,增强逻辑思维能力,在其他人工智能方面也有很大的参考作用。
关键词:深度搜索;估值;电脑AI;五子棋;算法
目录
论文总页数:23页
1引言...1
1.1课题背景...1
1.2本课题研究的意义...1
1.3本课题的研究方法...2
2课题相关基础...2
2.1五子棋...2
2.1.1棋盘和棋子...2
2.1.2规则及解释...3
2.1.3五子棋常用术语...4
2.1.4五子棋攻防...7
3Java.8
3.1Java简介...8
3.2Java开发环境...9
4课题详细研究方法...10
4.1程序结构说明...10
4.2棋盘及棋子的类...11
4.2.1棋盘...11
4.2.2棋子...13
4.3胜负判断条件...13
4.4网络对战...15
4.5电脑AI.17
结论...21
参考文献...21
致谢...22
声明...23