基于java的围棋游戏的设计与实现论文内容摘要:

步:同步显示 使用定时器和等待函数确保游戏和最大帧速同步, 通常认为 30 FPS 是可以接受的最低速率,而大多数动作游戏玩家将他们的图形调整为不低于 60 FPS。 第七步:循环 返回到游戏循环的入口并重新执行以上步骤。 第八步:关闭 这一步结束游戏,表示用户结束主体操作或游戏循环,用户在进行结束前释放所有资源并刷新系统并返回操作系统。 在大多数情况下,游戏循环是一个包含了大量状态的 FSM( Finite State Machine, 有限状态自动机)。 所有的游戏大都按照这样的结构执行。 如图 22 所示,状态的转换是非常连贯的。 职场大变样社区( ):下载毕业设计成品 9 图 22 循环的状态转换图 游戏的元素 游戏中的元素包含:界面(图像), 操作界面 , 游戏性。 首先便是游戏界面的设计, 当玩家在的进行游戏时,界面(图像)的风格和具体形式将会在第一时间告诉玩家游戏的大致轮廓。 这其中主要包括两点: 1,图形技术:2D 图形技术, 3D 图形技术。 2,游戏视角:第一人称视角,第三人称视角,俯视角,等轴斜视角,平面横向视角。 其次是操作界面的设计,操作界面是玩家和游戏间联系地纽带。 良好的操作界面可以提高游戏的品质。 其具体表现为: : 键盘,鼠标。 : 任何界面系统都包括若干控制键。 每个键都有它独特的功能。 控制键越多,游戏就越难以掌握。 因此简化和优化操作是游戏性的保障。 :现实情况复杂多变,玩家口味各不相同。 如果游戏有很多选项,允许玩家自己来调整以适应实际情况,这就比固定参数,不可调整的做法要好得多。 AI:界面和 AI的接合点就是游戏是怎样解释并处理玩家的输入的。 最后便是游戏的娱乐性,游戏 的娱乐性是玩家和乐趣间的桥梁。 它不仅体现在单机上玩家与电脑的对抗中,也体现在多人游戏中二个或更多个人进行的竞争中。 游戏性体职场大变样社区( ):下载毕业设计成品 10 现了一种游戏与玩家的交互,良好的游戏性是游戏具有可玩度的前提。 游戏性常表现在以下方面:游戏的平衡性,游戏的可操作性,游戏的 AI。 游戏系统的层次 游戏系统可分为三个层次:游戏层,引擎层,系统层。 如图 23所示: 图 23 游 戏系统( Game Software System) 职场大变样社区( ):下载毕业设计成品 11 3 系统分析 在一个项目开始之前,一定要明确其目标人群是谁,并一定要明确这些目标人群的需求 是什么。 所以在本项目开始前,进行了详情的需求分析。 可行性分析 在经历了软件危机之后,越来越多的人意识到在软件正式开发之前,对其需求进行可行性分析的重要性,而对项目的可行性分析一般从项目开发的技术难易、到经济允许、甚至是社会调查等方方面面的分析和研究,以避造成不必要的损耗,在项目能够完成的基础上,以保证能够以最低代价完成。 可行性研究的目的,就是在最短的时间内,用最小的代价,评估一下问题是否能够解决完成。 针对该项目,其可行性分析主要包括以下几个方面 (1)经济可行性:在经济的可行性分析上,首先项目的变 现能力主要体现在,当游戏被研制出来之后,会吸引一群围棋爱好者,而通过这些围棋爱好者的自发宣传和扩散,能够带来极为可观的流量,在拥有了流量入口之后,一切用户变现都显得格外容易,同时在开发过程中的损耗主要集中在开发人员的消耗上,但因为开发人员是自身,所以在开发过程中的损耗同样可以降到最低。 (2)市场可行性:市场的可行性主要依赖于围棋爱好者对围棋的需求,伴随着人们群众对围棋的热爱,以及时代的不断发展,可以通过电脑进行围棋对弈,更是能够方便人民大众进行对弈,提高了对弈过程中的娱乐性,降低了对弈所需要的成本开发,可 所谓紧紧抓住了这样一群人的需求。 (3)技术可行性:在技术上的可行性分析上,主要是分析结合现有的技术,是否能够完成项目工作,同时也要分析,现如今所使用的软硬件是否能够胜任项目开发。 首先本项目采用了 C/S 模式进行开发,对服务器的负荷要求低,其安全性也能够得到保障。 所以项目在技术上的依赖性是完全可行的。 综上所述,本项目在开发目标已明确的情况下,技术、经济、市场等各个方面都可行,具有投入少、见效快等优点。 可以直接进入实际操作环节,也能够实现在最短的时间内,利用最低的代价,完成项目实践内容。 职场大变样社区( ):下载毕业设计成品 12 围 棋需求分析 项目目标与功能 1 围棋棋盘基础设置 棋盘由纵横各十九条等距离、垂直交叉的平行线构成。 形成 361 个交叉点,简称为“点”。 在棋盘上标有九个小圆点,称作“星”。 中央的星又称“天元”。 棋子分为黑白两色,用户可自行选择棋色。 游戏以空屏开局,黑子先下,双方轮流下子。 2 吃子功能 参考围棋游戏规则,游戏过程中,一方棋子将另一方棋子包围后,自动将对方被包围的棋子清除。 3 联机功能 游戏开始后,用户选择单机或是联机。 若是选择联机,需要双方都连在同一个局域网中,然后输入对方 ip进行连接( ip 地址获取方式:开始菜单输入栏输入 cmd,在弹出页面输入 ipconfig,可获得 ipv4 地址,输入到游戏页面中的对方 ip输入栏中即可)。 连接成功后双方选择棋色可进行围棋对弈。 4 判定下子合法功能 根据围棋规则,一方棋子形成包围形式,对方棋子则不能下在被此方棋子包围的位置中,若选择此类位置,系统将提示“此处不可放子”。 5 自动判断胜方功能 在棋盘不能再落子的情况下,进行判断,再下既不能吃掉对方的棋子又不能扩大自己的地盘时就可以停下来了。 这时,双方用自已的棋子把自已的地盘都填满,双方 都不能填的就平分,比如双活的公气。 等到把自己的地盘都填满了,公共的也都平分完之后,这时棋盘也就被瓜分完毕了,此时就可以数棋了。 数完之后黑棋还要倒贴给白棋 个子,因为总是执黑者先走的。 然后再比较谁的棋子多就行了。 也可以不倒贴,但黑棋子数要大于等于 185 个才算赢,白棋子数要大于等于 176 个才算赢。 功能模块图解 其中,最重要的便是 项目整体的功能结构图,详情如图 31 所示。 职场大变样社区( ):下载毕业设计成品 13 图 31 系统功能结构图 开始 联机 单机 输入 IP 点击连接 选择黑白棋 开始游戏 判断胜负 结束 职场大变样社区( ):下载毕业设计成品 14 4 软件总 体设计 总体设计 在此系统中,大致分为三大功能模块,分别是游戏主界面总体设计、判断下棋的位置、联机实现。 游戏主界面总体设计中介绍了该软件进行游戏时的具体的一些操作流程,该模块是整个系统最核心的模块。 在判断下棋的位置模块,考虑到有可能棋子会下错位置的情况,所以这个模块是必须的。 在联机实现模块,我因为考虑到如果系统只能在一个机器上运行,而游戏必须要有两个人进行,所以可能会导致极大的不方便,考虑到这一点,本人决定实现一种可供用户在两台机器上通过局域网 IP 连接的方式进行游戏的功能。 游戏的实现目 标及框架流程 游戏的框架结构主要由玩家,鼠标和游戏控制组成。 玩家通过鼠标控制游戏中棋子走向。 如图 41 所示: 职场大变样社区( ):下载毕业设计成品 15 开 始选 择 游 戏 模 式人 机 或 人 人 对 战判 断 胜 负结 束 图 41 实现流程图 分析模型 当游戏正式启动的时候,程序经历的启动模块示意图,如图 42所示: 职场大变样社区( ):下载毕业设计成品 16 图 42 启动流程图 在进入游戏之后,玩家进行角色选择,其示意图如图 33所示。 启动程序 选择游戏方式 开始游戏 单机 联机 职场大变样社区( ):下载毕业设计成品 17 图 43 选择棋色流程图 在联机模式下,不同角色间的对弈,其流程如图 44 所示。 选择 黑 白 下子 等待对方下子 游戏结束 职场大变样社区( ):下载毕业设计成品 18 Y N 图 44 联机流程图 选择联机 输入对方 ip 是否连接成功 游戏 开始 重新输入 ip 游戏结束 职场大变样社区( ):下载毕业设计成品 19 5 系统的详细设计 具体模块功能介绍 游戏主界面总体设计 该功能模块是整个系统的核心 ,是最主要的功能模块,如果没有该模块,那么此款软件设计的将会毫无意义。 当用户点击进入系统之后,用户会进入到一个界面,在该界面中右上角用户可以根据自己的选择去选择缩小或者关闭,然后再界面的正中间,用户可以看到一张 19 乘以 19 的表格,等距离、垂直交叉,总共形成了 361个交叉点,称为“点”,在这个棋盘上用户可以看到标有九个小圆点,称之为“星”,而棋盘最中间的位置我们称之为“天元”。 在整个局面的最右方,我设置了几个按钮,一个是单机按钮,这个按钮在进入系统的时候是默认选择的,当点击这个按钮的时候,用户可以在一台机器 上分别执黑棋和白棋进行游戏,与之对应的是一个联机按钮,当点击该按钮的时候用户会看到一个输入IP 的文本框显示为可输入的状态,在这个模块中,我运用到 Socket 编程,具体编程过程会在代码中体现出来,然后再往下会看到一个连接按钮,这个按钮与之前的联机选择框是绑定在一起的,当用户输入 IP 后,连接按钮进入可点击的状态,用户可以点击连接按钮与对应的机器进行连接,当两台机器进行连接之后,用户两人可以分别在不同的机器上进行对弈,但前期是两台机器必须都安装了此款软件,规则和用户在一台机器上操作一模一样。 再往下用户会看到一个 显示框,此框中显示了用户正在准备下的棋子的颜色,还有一个开始的按钮,此按钮相信大多数人都知道它的功能,在这里我就不具体叙述,按钮的下面我设置了一个图形,但是当用户不进行游戏的时候是不会显示的,它是两个图片对应切换,具体图片与用户当前下的棋子的颜色相对应。 当用户进入系统后,用户可以点击开始按钮进行游戏。 具体的实现代码如下: public MainWindow() { try { jbInit()。 职场大变样社区( ):下载毕业设计成品 20 } catch(Exception e) { ()。 } } private void jbInit() throws Exception { (new Color(244, 254, 239))。 (new Color(244, 254, 239))。 // try // { // (())。 // }catch(Exception e){()。 } (false)。 new Thread(this).start()。 //启动监听线程 =1977。 =false。 //是否主动连接 =false。 //是否继续监听的标志 (黑 )。 (白 )。 LastPoint=new Point()。 messagePoint=new Point()。 (470,450)。 (基于 java 的围棋游戏的设计 杨树青 )。 (false)。 //开始之前屏蔽掉盘面 (new () { public void mouseClicked(MouseEvent e) { checkbox1_mouseClicked(e)。 } })。 =()。 // (borderLayout1)。 (borderLayout2)。 (checkboxGroup1)。 (单机 )。 (checkboxGroup1)。 (联机 )。 (new () { 职场大变样社区( ):下载毕业设计成品 21。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。