基于java的黑白棋的设计与实现
2023-06-19 08:06:08
论文总字数:20780字
摘 要
黑白棋又称之为奥赛罗棋,游戏中通过互相翻转对方的棋子,最后以棋盘上双方的棋子数量的多少来决定胜负,是一项非常好的益智对弈游戏。为了提高黑白棋的趣味性和可玩性,在MyEclipse8.5环境下,运用Java Applet实现了网络版黑白棋的设计与开发,主要功能有两个:第一个是玩家之间可以通过服务器进行文字之间的交流以及游戏的对弈;第二个是在游戏中,让电脑作为玩家时具有如同人脑的思维,知道如何去分析棋盘上的局势并作出相应的动作,实现了简单的人工智能。关键词:黑白棋,Java Applet,人工智能
Abstract:Reversi is known as Othello, it is a superduper chess puzzle game by mutual flipping each other"s game pieces to decide the outcome. The use of net design and development version of Othello is carried out in MyEclipse8.5 environment with Java Applet implements, and it can improve its interesting and playability it has two main functions: Firstly, players can have simple text communication with each other through the server ; Secondly, in the game, computer can just as a man to analyze the situation on the board and make the appropriate action, to achieve a simple artificial intelligence.
Keywords: reversi, java applet, artificial intelligence
目 录
1 绪论 4
1.1 黑白棋开发背景 4
1.2 黑白棋简介 4
1.3 黑白棋的研究意义 5
2 程序开发环境和关键技术 6
2.1 开发环境 6
2.2 关键技术 6
3 需求分析与模块说明 7
3.1 需求分析 7
3.2 模块以及模块下实现的功能介绍 8
3.3 程序执行流程图 9
4 程序详细设计 10
4.1 服务器端的设计与实现 10
4.2 客户端的设计与实现 10
4.3 游戏自身规则的设计与实现 24
5 系统测试 30
5.1 测试目的 30
5.2 测试方法 30
5.3 测试点及测试结果 30
结 论 32
参 考 文 献 33
致谢 34
1 绪论
1.1黑白棋开发背景
随着计算机技术日益完善,其运算速度在更快的基础上,也更加智能化,甚至实现了人类才有的思考过程。在以往的三十几年中,已经成功实现了一些拥有一部分“人工智能”的计算机系统,例如信息的检索系统、定理的证明系统、下棋程序、语言的翻译系统、疾病的诊断系统等[1,2]。在人类生活中,处处可见这些“人工智能”的身影,好比如现在众多手机上的人脸识别系统,科技频道经常播的机器人足球比赛,这都意味着人工智能已经达到了一个新的高度。而黑白棋是一种常见的棋类游戏,它具有规则简单、游戏时间较短、可玩性高的特点,可以说用Java Applet来实现黑白棋的对弈就是实现一种简单的人工智能。
1.2 黑白棋简介
1.2.1 黑白棋来源
两百多年前,一个英国人将黑人与白人之间的斗争想象成了一场棋局的对弈,其中将黑人比作黑色棋子,白人比作白色棋子,并借用莎士比亚的作品《奥赛罗》命名,创造出了现在被世人所熟知的棋盘游戏——黑白棋,所以黑白棋也被称之为奥赛罗棋。
而黑白棋在中国得以流行却是在上世纪80年代,当时游戏机和个人电脑逐渐在国内出现,而这两个电子产品中都被嵌入了黑白棋的游戏。因为中国人自古以来就喜欢棋牌游戏,而黑白棋的规则与中国的围棋和象棋来比又简单了许多,但是可玩性和趣味性却又是很高,又因为作为一种从未接触过的新型的游戏,所以黑白棋一出现就得到了众多中国玩家的追捧。
1.2.2 黑白棋规则
与传统的国际象棋不同,同为流行的黑白棋的棋规简单多了。它拥有一个8 × 8的正方形棋盘,两种棋子——黑子和白子。下棋时是将棋子落在空格里,而不是落在线与线的交叉点上。每一局开始的时候都有两百两黑在棋盘的正中间事先交叉摆放好。两方选手各执一种颜色棋子,交替落子。具体规则如下:
.棋局初始时黑棋和白棋在棋盘上分别有棋子如图1-1所示。
图1-1 初始棋局图
.黑方先行,双方交替下棋。
.一个合理的落子:在棋盘的空格内而且能够使对方的棋子翻转。
.夹住的位置上必须全部是对手的棋子,不能有空格。
.如果新落子在几个方向上都能使对方的棋子翻转,那这几个方向上的对方棋子都要翻转过来。
.如果玩家交换手落子时,发现不能在棋盘上落子从而翻转对方的棋子时,只能放弃该次落子机会,而由他的对手继续落子直到他有合法棋步可下。
.当玩家落子的时候只要拥有一个可使对方棋子翻转的空格时,就一定要落子,不可以弃权。
.在双方都不能继续落子的时候,游戏结束。通过棋盘中所具有的一样颜色棋子数量来予以判断,数量多的则为赢家,数量少的则为输家,当双方数量一样多的时候,则为和棋。
1.3 黑白棋的研究意义
这些年来,由于计算机技术的突飞猛进,人们拥有了许许多多的电脑游戏来作为日常生活中的娱乐方式,而其中棋牌类游戏更是受到广大玩家的喜爱,而且人们不在只是在人类自身中寻找厉害的对手,更是向以优越计算能力的计算机提出了挑战。例如国际象棋世界冠军卡斯帕罗夫与最强电脑围棋选手“深蓝”的一战,虽然输了,但是却激起了更多人类玩家对电脑玩家的喜爱,计算机人工智能的发展也随之进入了更多普通人的视野里。
在掌握了黑白棋的一些基本信息后,觉得黑白棋作为一种棋牌游戏,拥有很高的可玩性。通过使用Java来实现黑白棋游戏,可以让我更深层的理解这个游戏,并且在实现过程中进一步理解人工智能的具体实现过程。
2 程序开发环境和关键技术
2.1 开发环境
(1)服务器端
- 操作系统:Microsoft Windows 7 旗舰版
- Web服务器:Tomcat 6.0
(2)客户端
- 浏览器:IE、Firefox等大多数常用浏览器
(3)系统开发平台
- 开发工具:MyEclipse8.5
- 开发语言:Java
2.2 关键技术
2.2.1 JavaApplet概况
Applet可以翻译为“小应用程序”,Java Applet就是用Java语言编写出来的小应用程序,这些程序可以直接嵌入到网页之中,并且能够产生特殊的效果[3]。包含Applet的网页被称之为Java-powered页,可以称其为Java支持的网页[4]。
当用户访问这种类型的网页时,Applet被下载到用户的计算机上来执行。由于Applet是在用户的计算机上执行的,所以他的执行速度不会受到网络带宽以及Modem存取速度的限制,因此用户可以更好的欣赏网页上Applet产生的多媒体效果。诸如图形的绘制,文字字体大小以及文字颜色的控制,或者视频和音频的插入,人机交互与网络交流等许多功能都可以在Java Applet里实现。
剩余内容已隐藏,请支付后下载全文,论文总字数:20780字