基于JAVA的网络五子棋游戏设计开题报告

 2021-08-08 11:00:07

1. 研究目的与意义

1.应用java的java swing技术和java bean技术,设计一个基于java的网络五子棋游戏,当游戏双方建立网络连接后,可以通过系统进行五子棋对弈。

2.双方通过ip进行访问,棋子分黑白两色,交替下棋,通过系统控制游戏的进行,并自动判断胜负。

3.在游戏界面,显示对方的昵称及ip。

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

2. 国内外研究现状分析

对于计算机来说,直接通过棋盘信息判断走法的好坏并不精确。除了输赢这样的局面可以准确判断外,其它的判断都只能做到大致估计。判断两种走法孰优孰劣的一个好方法就是观看棋局走下去的结果。也就是向下搜索若干步,然后比较发展下去的结果。为了避免差错,我们假定对手的思考也和我们一样,也就是,我们想到的内容,对手也想到了。这就是极大极小搜索算法的基本原则。极大极小搜索算法的时间复杂度是O(bn)。这里b是分枝因子,指棋局在各种情况下的合法走步的平均值;n是搜索的最大深度,也就是向下搜索的博弈双方的走步之和。例如向下搜索甲乙双方各走一步的情形,n就是2。显然对于五子棋这种分枝因子在200左右的棋类游戏,时间开销随着n的增大会急剧的增长,不出几层就会超出计算机的处理能力,这将导致在有限时间内得不到令人满意的结果。

人们在开发高效的搜索算法上投入了大量的研究。在过去的几十年中,一些相当成功的改进大大提高了极大极小搜索的效率。Alpha-Beta剪枝、迭代深化、置换表、历史启发等手段的综合运用将搜索效率提高了几个数量级。

3. 研究的基本内容与计划

1.界面设计

(1)登陆界面。开始游戏时,玩家自定义并输入自己的昵称和对方主机的ip地址。

(2)游戏界面。包括下棋面板,用户信息面板,用户列表和聊天面板等。

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

4. 研究创新点

1.实现透明的登录界面。使用glasspane玻璃面板,调用jframe窗体的setglasspane( )方法进行设置。继承jpanel类编写登陆界面,重写paintcompoent()方法。

2.监控网络连接状态。调用socket的sendurgent( )方法发送紧急数据,调用datasetoobinline( )方法进行紧急数据接收。

3.绑定属性的javabean。定义一个javabean对象,用于记录棋盘的当前棋子的布局。当该属性被修改时会自动产生属性变更事件,并通知所在监听该属性的监听器。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

发小红书推广免费获取该资料资格。点击链接进入获取推广文案即可: Ai一键组稿 | 降AI率 | 降重复率 | 论文一键排版