本站所列毕业设计(论文)资料均属于原创者所有,初衷是为大家在毕业设计(论文)过程中参考和学习交流之用。

毕业设计我帮你

基于Java语言的益智游戏五子棋的设计与实现

基于Java语言的益智游戏五子棋的设计与实现

本次设计实现了一个可以与人对战的五子棋程序,该程序具有良好的界面和较强的攻防能力,棋力己到中等水平。这个程序是自己查阅大量资料,理解了博弈树及其相关算法的基本思想之后,利用自己掌握得还不是很熟练的程序编写出来的。这是自己编写过的规模最大的程

如需购买请QQ扫描右边二维码或者加QQ 3449649974 咨询 毕业设计(论文)代做请加QQ 2269757180 微信号:bylwwwww


  • 详细描述

    基于Java语言的益智游戏五子棋设计与实
    1可行性分析
        随着手机的普及程度大大提高,目前开发单机应用程序成了热点,也随着目
    前国内手机用户的更大程度的普及,做单机游戏是一个很好的前景产业,也是手
    机软件行业中一个热点。而且此游戏的研究开发不存在任何侵犯,妨碍等责任问
    题,所以是可行的。
        本游戏用Myeclipse 10开发。而学校里不论是实验室、图书馆还是办公室,都普遍使用计算机,而个人也有很多有个人计算机。至于Myeclipse是开源的,可以在网上免费下载。这样就减少了很大一部分的开支,所以在经济上是可行的。
    1.1技术可行性
        在讨论具体的技术细节之前,先讨论整个系统使用的开发环境和工具。项目开发拟使用Windows 7操作系统,安装JDKl .6版本的开发工具包,并按照Java环境要求配置相关的环境变量,开发工具IDE拟使用Myeclipse 10。可见,使用上述工具共同搭建本项目开发的基础平台完全符合项目开发要求。任何一个项目的实施都必须首先考虑是否技术可行,一个再好的项目,如果根本不能用已有的技术实现,也只能是纸上谈兵,毫无意义。因此,我们首先查阅了大量相关资料,对本项目的技术实现进行了全面的分析。
        首先,项目设计的中国象棋游戏建立在Java平台之上,经历了几十年的发展,Java己经变得非常成熟,并且提供了更多的API供开发者使用,为项目的开发提供了良好的接口。从基础平台出发,Java开发工具包JDK能够提供底层的平台支持,同时Java语言也非常适合作为本项目开发的设计语言,尤其是JFrame类、Socket类等类的各种方法对于整个游戏的开发能够提供简单易用的实现。在此考虑游戏当中的两个核心模式,在人机对战模式中,通过前面对Alpha-Beta搜索算法的分析,Alpha-Beta搜索算法的“裁枝”方法能够保证该模式下准确高效的决策搜索,从而确保系统设计的各种功能和性能需求,在实现层面上技术可行。在网络对战模式,Java提供的Socket类能够为网络编程提供极大的便利,同时越来越高速的网络连接也完全能够胜任这种点对点的通信连接,并且大多数情况下都可以保证良好的通信质量,因此,可以认为在网络对战模式下,当前计算机技术和网络现状也完全可以技术实现。
    1.2操作可行性
        在技术可行的情况下,还需要考虑项目成功以后是否对于用户来说各种操作是在能够接受的范围内,或者说项目操作是否能够受到游戏玩家的喜爱。
        可以获得游戏中用户的所有操作,对于图中所示的每一个用例,用户都可以通过点击鼠标直接进行操作,其中保存棋局、读取棋局、模式选择以及其他设置操作都是通过左键单击鼠标进行操作,这与现今的主流操作方式完全一致;另外,着棋操作是通过点击鼠标并拖拽的方式进行操作,这种方式不仅完全模拟了现实生活中的下棋操作,同时也与网络应用中类似操作完全统一,因此不会对用户的习惯操作提出新的挑战,总体而言,在技术实现的基础上,游戏提供的操作方式与人们熟识的应用操作保持了高度的统一,虽然在某些操作中引入了较为新颖的操作方式,但对于用户而言,操作完全可行。
    3.1.3经济可行性
    经过上面的讨论,己经确定系统在技术上可以实现,在用户操作上也与用户常见操作非常统一,接下来需要考虑整个项目在经济方面是否值得投资。在科技飞速发展的时代,经济因素始终都是各种现实问题最后把关的定锤之音,软件项目开发也是一样fz210 考虑系统开发使用的开发平台和开发工具,Java平台完全开源,同时使用的其他工具也都可以从各大网站直接下载,因此在开发环境搭建和工具准备阶段并不需要投入任何经济支出;在软件开发过程中,我们使用的算法和网络资源都可以在Java平台自主设计和实现,不会涉及使用专利和其他有偿资源,即使是在最后的测试和修正过程中,需要的外部资源也仅仅是一条网络连接,因此总体而言,整个游戏开发过程需要的经济支出非常少,在可承受的范围之内。
     
    目录
    第一章 绪论 5
    1.1研究背景与意义 5
    1.2国内外研究现状 6
    1.3本章小结 6
    第二章 相关技术介绍 7
    2.1 Java平台简介 7
    2.1.1Java体系结构 7
    2.2 AIpha-Beta搜索算法 9
    2.2.1算法核心 9
    2.3 Java网络编程简介 10
    2.3.1网络通信基础 10
    2.3.2Java Socket简介 10
    2.4本章小结 11
    第三章 系统的需求分析与设计 11
    3.1可行性分析 11
    3.1.1技术可行性 12
    3.1.2操作可行性 12
    3.1.3经济可行性 13
    3.2系统设计 13
    3.2.1概要设计 13
    3.2.2游戏界面设计 13
    3.2.3事件驱动设计 13
    3.2.4游戏流程设计 14
    3.2.5数据库设计 14
    3.3本章小结 15
    第四章 系统主要功能的实现 16
    4.1主窗体实现 16
    4.2用户登录实现 17
    4.3棋盘模块实现 18
    4.4游戏事件实现 20
    4.4.1游戏开始事件的实现 20
    4.4.2悔棋事件的实现 21
    4.4.3认输事件的实现 22
    4.4.4和棋事件的实现 23
    4.5游戏回放功能的实现 23
    4.6更换游戏背景的实现 24
    4.8本章小结 25
    第五章 系统测试 26
    5.1系统测试的意义 26
    5.2性能测试 27
    5.3系统主要功能的实现 27
    5.3.1人机游戏 27
    5.4测试用例 28
    5.4.1测试的任务 28
    5.4.2测试的目标 28
    5.4.3软件测试的方法 28
    结  论 30
     
    结论
    这个程序基本上达到了预期的效果,但是还有一些遗憾。主要表现在:第一,这个程序没能实现禁手功能,五子棋禁手的判断是一个复杂的递归过程,由于本人编程能力和时间的关系没能实现这个功能。第二,程序的效率较低,在搜索的剪枝方面还没有达到最优。第三,程序的棋力不是很强,可能是估价函数设计得不够好或者因为程序效率低所导致的搜索广度和深度受到限制的原因。第四,但本程序没有使用现在大部分博弈程序使用的开局库,这也是一大遗憾。第五,程序的界面做的还不是很好。
    总之,这次设计使自己收获很多,也使自己对人工智能特别是机器博弈领域产生了浓厚的兴趣,今后我还会在这方面继续更深入地学习专研。

    收缩