一种趣味五子棋游戏设计

2014-02-23 01:56高海静
电子测试 2014年21期
关键词:五子棋落子棋盘

高海静

(陕西工业职业技术学院信息工程学院,陕西咸阳,712000)

一种趣味五子棋游戏设计

高海静

(陕西工业职业技术学院信息工程学院,陕西咸阳,712000)

五子棋游戏是一种简单大众的游戏,深受广大电脑玩家的喜爱,现在流行的五子棋游戏软件大多缺乏美观的界面和容易的操作方法,电脑的最佳落子算法也不是很好。本文通过Java语言在计算机图形方面的编程,设计了五子棋游戏软件,使该软件具有美观友好的界面,在人机对弈时,使电脑具有较高的智商,使游戏具有更高的可玩性。

五子棋游戏;算法;程序开发

0 引言

五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为连珠,英文称之为Gobang,亦有连五子、五子连、串珠、五目、五目碰、五格等多种称谓。

近来随着计算机的快速发展,各种各样的电脑游戏层出不穷,使得我们能有更多的娱乐项目。而棋类游戏能起到锻炼人的思维和修身养性的作用。而五子棋是一种两人对弈的纯策略型棋类游戏,棋具与围棋通用,是起源于中国古代的传统黑白棋种之一。容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。

1 五子棋游戏开发可行性分析

计算机硬件和软件技术的飞速发展,为游戏系统的开发提供了技术条件。五子棋游戏主要需要实现的功能为人机对弈,有禁手,可以悔棋。通过对五子棋下棋过程的流程加以分析,以及.net提供给的良好开发平台,健壮的电脑落子算法,为游戏的实现提供可靠的参考和依据。

1.2 经济可行性分析

该系统适用于所有人群,开发该游戏的费用主要包括开发阶段的费用以及今后的运行、维护费用。五子棋游戏简单易学,为人民群众喜闻乐见。该游戏功能强大,界面友好,用户是使用方面不存在任何障碍。其开发具有很强的经济性。

1.3 操作可行性分析

本游戏适用于Windows操作系统之上,对于该游戏的推广使用提供了很好的平台。该游戏使用Java语言编写,具有很强的移植性,使其可以运行很方便。在操作上主要凭借使用Windows操作技术玩游戏,方便简单。使用前只要对用户进行简单的说明即可。

2 程序流程图

图2-1 程序流程图

程序流程图如图2-1所示。当程序运行后,自动进行初始化,然后进入程序的主控制器。通过鼠标的点击事件和参数的设定来调用相应的处理事件来判断哪一方落子,然后进入到游戏胜负的处理事件中判断是否获得胜利,如果胜利游戏结束,如果没有,则再次返回到主控器中,再次判断哪一方落子。如此循环,直到游戏结束。

肺癌是1种临床常见肿瘤,其具有恶性程度高、发展迅速的特点,在世界上许多国家其发病率均居高不下,而在我国其发病率排在恶性肿瘤死亡原因之首[1-2]。因而其早期诊断及预后备是临床医师的工作目标,而肿瘤标志物对肿瘤的诊断以及疗效的评价均具有重要意义,但单一的肿瘤标志物对肺癌的诊断敏感性和特异性还不足够[3]。因此,本文探讨血清CA19-9、CA15-3、CEA、NES联合检测在临床诊断肺癌的应用价值,取得满意效果,现报告如下。

3 游戏功能设计

3.1 游戏功能分析

五子棋游戏应该具备的功能如下:

(1)显示一个十五行乘十五列的围棋棋盘。

(2)棋盘上面在对应位置通过点击鼠标下子,棋子将在棋盘上相应位置上显示,棋子将显示在横纵交差点上。

(3)不论黑方或者是白方取胜,由程序自动判断游戏是否结束。当游戏结束后,自动跳出对话框来提示玩家。

(4)实现人机对弈,可以选择电脑先下或者玩家先下。

(5)有悔棋功能。

(6)有禁手规则。

游戏开始后,黑方或者白方的棋子在横、竖或斜方向上有五颗棋子连在一起,那么该方就为赢家。黑棋先下,黑棋有禁手,出现禁手则输。棋盘满,未分出输赢,则为平局。

3.2 游戏功能设计

在本游戏中,最难实现的也是最主要的功能就是电脑落子的实现、棋子输赢的判断实现、悔棋功能的实现。

3.2.1 电脑落子位置的判断

根据棋盘上棋子和玩家落子的位置判断几种位置,并联想出下几步可以走的位子,选出最好的位置落子。

(1)下子之前先对整个棋面进行分析

从棋盘左上角出发,向右逐行搜索,当遇到一个空白点时,以它为中心向左挨个查找,如果遇到己方的子则记录然后继续搜索。如果遇到对方的子、空白点或边界就停止查找。左边完成后再向右进行同样的操作。最后把左右两边的记录合并起来,得到的数据就是该点横向上的棋型,而其他三个方向的棋型也可用同样的方法得到,当搜索完整张棋盘后,己方棋型就明确了。然后再用同样的方法分析对方棋型。棋面分析流程如图3-1所示。

图3-1 棋面分析流程图

(2)选出最优落子点

具体操作方法如下:首先,由电脑分析一个可能的点,如果在这个点下子将会形成对手不得不防守的棋型(例如:‘冲四’、‘活三’);那么下一步对手就会照电脑的思路下子来防守,如此一来便完成了第一步的预测。这时再调用模块对预测后的棋进行盘面分析,如果出现了‘四三’、‘双三’或‘双四’等制胜点,那么己方就可以获胜了(当然对黑棋而言‘双三’、‘双四’是禁手,另当别论);否则照同样的方法向下分析,就可预测出第二步、第三步……要是盘面上没有对手必须防守的棋型,将自己和对手调换一下位置,然后用上面的方法来预测对手的棋,这样既可以防住对手的攻击,又能侍机发动反击。

3.2.2 游戏输赢的判断

玩家每走一步棋后,程序会将你所走的棋的位置计算出来,如果在棋的上下方向,左右方向,斜方向,有五个颜色相同的棋子,那么则判断该颜色的棋子获胜。若黑子出现禁手,或者棋盘上所有位置为黑子的禁手,则白棋获胜。棋盘已满,但仍未分出胜负,则平手。判断胜利流程图如图3-2所示。

图3-2 判断胜利流程图

3.2.3 悔棋功能的实现

利用堆栈记录下棋步骤,当要悔棋的时候,则会根据堆栈里面的位置信息,把相应的棋子绘制到棋盘里面,从而达到悔棋的效果。

4 总结

本文详细介绍了五子棋游戏软件设计的全过程,描述了该软件的功能,本游戏是以Java语言作为开发工具,采用搜索算法设计实现了对电脑落子算法的优化,并且实现了悔棋功能和禁手规则。本次游戏的开发达到了游戏界面美观,可玩性强,具有一定难度的目标。玩家在玩游戏的过程中可以达到锻炼思维,放松大脑的目的。

[1] 洪峰 等,五子棋.[M].江苏科学技术出版社 .2008:15-16[2] 丁振凡、章剑,java语言使用教程(第2版).[M].北京邮电大学出版社,2004.2: P4-P38

[3] DavidFlanagan:effecttive enterprise java,中国电力出版社,2005.6:P230-P264

[4] 李庆江,五子棋的开发[J]. 电脑知识与技术2013(9-23) :6555-65556

[5] 宁书林、许新龙,java 2 程序设计与技能自练.[M].中国铁道出版社,2005.8:P38-P90

Design of a fun Gobang gamemanagement system

Gao Haijing
(Shaanxi Polytechnic Institute,Xian yang,712000,China)

Gobang game is a simple and popular game,it is favorite by the vast number of computer game player.Now popular Gobang game software is lack of beautiful interface and easy operation method,the best computer Lazi algorithm is not very good.In this paper,the Gobang game software is designed through the C# language in computer graphics programming,the software has a friendly interface,the man-machine players, the computer has a higher IQ,make the game more funny.

Gobang game;algorithm;program development

TP23

A

高海静(1980-),女,陕西宝鸡人,讲师,主要研究方向为软件工程.

猜你喜欢
五子棋落子棋盘
Sim Sim
琴(外一首)
银行理财子公司“落子”布局
落子山东,意在全局
90后罗运生:五子棋是我生命的一部分
90后唐丹:人生如棋,落子不悔
棋盘人生
财政部长吴波的“五子棋局”
棋盘里的天文数字
棋盘疑案