基于深度学习的五子棋AI

 2023-02-12 12:12:20

论文总字数:15604字

摘 要

ABSTRACT IV

第一章 绪论 1

1.1开发背景 1

1.2课题意义 1

第二章 五子棋程序相关技术介绍 2

2.1软件的基本功能 2

2.2开发运行环境 2

2.3软件的开发手段以及工具的介绍 2

2.4软件的实现目的 3

第三章 五子棋程序分析与设计 3

3.1用户需求分析 3

3.2软件功能结构图 4

3.3软件各个功能的简要说明 4

3.4软件设计中使用到的JAVA软件包以及类和方法 5

3.5 五子棋界面设计 6

3.6 五子棋算法设计 7

3.6.1 五子棋棋盘设计 8

3.6.2 棋子设计 9

3.6.3 落子算法设计 10

3.6.4 判断输赢的依据 13

3.7 网络五子棋算法设计 15

第四章 软件的具体实现 18

4.1准备工作 18

4.2游戏窗口界面的实现 18

4.3下棋算法的实现 20

4.4完成判断胜负的功能 22

4.5 测试系统 24

4.6 测试计划 24

4.6.1 测试界面功能 24

4.6.2 单机游戏测试 25

4.6.3 联网游戏测试 25

第五章 总结与展望 26

致谢 26

参考文献 27

摘要

目前,伴随着网络技术在计算机领域的不断发展,以先进的网络和计算机技术作为核心力量,软件在生活中的各个领域都大范围的使用,电脑游戏更是成为了大多数人所喜欢的娱乐休憩方式。正是基于这些技术,近年来各式各样的棋类游戏软件也纷纷出现在了电脑荧屏上,使得那些喜爱下棋,又常常苦于没有对手的棋迷们能随时过足棋瘾。五子棋是世界智力运动会竞技项目之一,是一种两人对弈的纯策略型棋类游戏,是世界智力运动会竞技项目之一,通常双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成5子连线者获胜。本次开发将两者相结合,通过软件实现五子棋的对战功能。

本次五子棋对战系统使用JAVA语言实现,通过图形界面、绘图、布局管理器等模块,构造出游戏的单机模式。通过落子算法实现了不同难度的五子棋人机对战。在此基础上,利用SCOKET的知识,连接了服务器和用户客户端,采用多线程技术解决了两者之间数据通信问题,使得两者之间的问题能够同步进行处理。充分满足用户对于五子棋游戏的需求。

通过对软件的编写,更深入的理解了面向对象的概念,也体会到利用面向对象语言处理一些问题的优势。同时也加深了对多线程,流套接字等高级技术的理解。

关键词: 五子棋;java编程;流套接字;人机对战;联机对战

ABSTRACT

So far,with the network technology developing rapidly the field of computer and advanced network and computer technology representing the core values,software is being widely used in the various walks of life.What"s more,a large amount of people play computer games as a form of entertainment.Various board games appear continuously on the computer screen no other than these technologies.Via board games software,people who are keen on playing chess but with no opponents can enjoy themselves to the full.Gobang is one of the competitive items of the World Intellectual Games.It is a pure strategy game of two players.Normally,the two sides use black and white chess piece separately.The people who makes chess into five sub-lines wins game.This program combine both of them and make it come true by software.

We implement this software in JAVA language.By graphical interfaces,drawing,layout manager and other modules,we construct the game’s stand-alone mode.Also,we make man-machine game of gobang with different difficulty come true through drop algorithm.On these basis,knowledge of SCOKET contributes to connect the server and client,and solving the problem of data communication by multi-threading technology,which enable the two to handle synchronously.Because of these functions,the software fully meets customers’ demand.

Through compiling this software,I have a deeper understanding of the concept of object-oriented and realize the superiority of using object-oriented language to handle some problems.Meanwhile,my grasp of multi-threading and stream socket also get dramatically promoted

Key Words : Gobang; Java programming; stream socket; man-machine battle; on-line battle

第一章 绪论

1.1开发背景

游戏软件是一个深受年轻人群体所喜爱的发展极速的领域,极具潜力与活力,在发达国家中不仅仅是年轻人,就连中老年人中也有很大比例的人喜欢用玩游戏来愉悦和放松自己的精神。二战之后电子计算机的技术发展一路高歌猛进,电子计算机也一路更新迭代,硬件更新的同时,软件也获得了极大的发展空间。一大批计算机软件设计的人才在工作的闲暇时常喜欢利用计算机现有功能设定规则,用事先设定好的路径分析,理性判断来与人比拼胜负。在不断的修改中,计算机的运算和逻辑思维能力已经渐渐与人难分高低。直至现在,游戏已经走入了大多数人的目光中,生活中处处可见游戏的身影,游戏软件产业也受到了广泛的关注,发展潜力不可小觑。用计算机的形式再现经典的游戏,是新时代年轻人非常容易接受的时髦游戏方式,从最初的二进制实现和后来的立体以至于人机(有AI),再到后来的网络对战,VR对弈等,已经受到越来越多人的喜爱和重视。

五子棋是风靡世界的一项智力棋牌类项目,只需要两人对弈即可游戏,所需的条件也简陋,老少皆宜,可以在随意的地点随意的时间来上一局,入门门槛十分低,在对局中反复的思考还可以提升思维逻辑计算能力。

1.2课题意义

我们的科技在不断发展,创造出了一个又一个的工具和便利机械,用软件开发游戏以来可以让男女老少都能随时随地感受游戏的乐趣,促进人与人之间的感情,培养孩子的兴趣爱好,提高逻辑思维能力。五子棋发源于我国,借由此将其在国际上发扬发展起来,距离与文化跨越国界,不再有局限。

剩余内容已隐藏,请支付后下载全文,论文总字数:15604字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;