高海靜
(陜西工業(yè)職業(yè)技術(shù)學院信息工程學院,陜西咸陽,712000)
一種趣味五子棋游戲設(shè)計
高海靜
(陜西工業(yè)職業(yè)技術(shù)學院信息工程學院,陜西咸陽,712000)
五子棋游戲是一種簡單大眾的游戲,深受廣大電腦玩家的喜愛,現(xiàn)在流行的五子棋游戲軟件大多缺乏美觀的界面和容易的操作方法,電腦的最佳落子算法也不是很好。本文通過Java語言在計算機圖形方面的編程,設(shè)計了五子棋游戲軟件,使該軟件具有美觀友好的界面,在人機對弈時,使電腦具有較高的智商,使游戲具有更高的可玩性。
五子棋游戲;算法;程序開發(fā)
五子棋是起源于中國古代的傳統(tǒng)黑白棋種之一。現(xiàn)代五子棋日文稱之為連珠,英文稱之為Gobang,亦有連五子、五子連、串珠、五目、五目碰、五格等多種稱謂。
近來隨著計算機的快速發(fā)展,各種各樣的電腦游戲?qū)映霾桓F,使得我們能有更多的娛樂項目。而棋類游戲能起到鍛煉人的思維和修身養(yǎng)性的作用。而五子棋是一種兩人對弈的純策略型棋類游戲,棋具與圍棋通用,是起源于中國古代的傳統(tǒng)黑白棋種之一。容易上手,老少皆宜,而且趣味橫生,引人入勝;不僅能增強思維能力,提高智力,而且富含哲理,有助于修身養(yǎng)性。
計算機硬件和軟件技術(shù)的飛速發(fā)展,為游戲系統(tǒng)的開發(fā)提供了技術(shù)條件。五子棋游戲主要需要實現(xiàn)的功能為人機對弈,有禁手,可以悔棋。通過對五子棋下棋過程的流程加以分析,以及.net提供給的良好開發(fā)平臺,健壯的電腦落子算法,為游戲的實現(xiàn)提供可靠的參考和依據(jù)。
1.2 經(jīng)濟可行性分析
該系統(tǒng)適用于所有人群,開發(fā)該游戲的費用主要包括開發(fā)階段的費用以及今后的運行、維護費用。五子棋游戲簡單易學,為人民群眾喜聞樂見。該游戲功能強大,界面友好,用戶是使用方面不存在任何障礙。其開發(fā)具有很強的經(jīng)濟性。
1.3 操作可行性分析
本游戲適用于Windows操作系統(tǒng)之上,對于該游戲的推廣使用提供了很好的平臺。該游戲使用Java語言編寫,具有很強的移植性,使其可以運行很方便。在操作上主要憑借使用Windows操作技術(shù)玩游戲,方便簡單。使用前只要對用戶進行簡單的說明即可。
圖2-1 程序流程圖
程序流程圖如圖2-1所示。當程序運行后,自動進行初始化,然后進入程序的主控制器。通過鼠標的點擊事件和參數(shù)的設(shè)定來調(diào)用相應(yīng)的處理事件來判斷哪一方落子,然后進入到游戲勝負的處理事件中判斷是否獲得勝利,如果勝利游戲結(jié)束,如果沒有,則再次返回到主控器中,再次判斷哪一方落子。如此循環(huán),直到游戲結(jié)束。
肺癌是1種臨床常見腫瘤,其具有惡性程度高、發(fā)展迅速的特點,在世界上許多國家其發(fā)病率均居高不下,而在我國其發(fā)病率排在惡性腫瘤死亡原因之首[1-2]。因而其早期診斷及預(yù)后備是臨床醫(yī)師的工作目標,而腫瘤標志物對腫瘤的診斷以及療效的評價均具有重要意義,但單一的腫瘤標志物對肺癌的診斷敏感性和特異性還不足夠[3]。因此,本文探討血清CA19-9、CA15-3、CEA、NES聯(lián)合檢測在臨床診斷肺癌的應(yīng)用價值,取得滿意效果,現(xiàn)報告如下。
3.1 游戲功能分析
五子棋游戲應(yīng)該具備的功能如下:
(1)顯示一個十五行乘十五列的圍棋棋盤。
(2)棋盤上面在對應(yīng)位置通過點擊鼠標下子,棋子將在棋盤上相應(yīng)位置上顯示,棋子將顯示在橫縱交差點上。
(3)不論黑方或者是白方取勝,由程序自動判斷游戲是否結(jié)束。當游戲結(jié)束后,自動跳出對話框來提示玩家。
(4)實現(xiàn)人機對弈,可以選擇電腦先下或者玩家先下。
(5)有悔棋功能。
(6)有禁手規(guī)則。
游戲開始后,黑方或者白方的棋子在橫、豎或斜方向上有五顆棋子連在一起,那么該方就為贏家。黑棋先下,黑棋有禁手,出現(xiàn)禁手則輸。棋盤滿,未分出輸贏,則為平局。
3.2 游戲功能設(shè)計
在本游戲中,最難實現(xiàn)的也是最主要的功能就是電腦落子的實現(xiàn)、棋子輸贏的判斷實現(xiàn)、悔棋功能的實現(xiàn)。
3.2.1 電腦落子位置的判斷
根據(jù)棋盤上棋子和玩家落子的位置判斷幾種位置,并聯(lián)想出下幾步可以走的位子,選出最好的位置落子。
(1)下子之前先對整個棋面進行分析
從棋盤左上角出發(fā),向右逐行搜索,當遇到一個空白點時,以它為中心向左挨個查找,如果遇到己方的子則記錄然后繼續(xù)搜索。如果遇到對方的子、空白點或邊界就停止查找。左邊完成后再向右進行同樣的操作。最后把左右兩邊的記錄合并起來,得到的數(shù)據(jù)就是該點橫向上的棋型,而其他三個方向的棋型也可用同樣的方法得到,當搜索完整張棋盤后,己方棋型就明確了。然后再用同樣的方法分析對方棋型。棋面分析流程如圖3-1所示。
圖3-1 棋面分析流程圖
(2)選出最優(yōu)落子點
具體操作方法如下:首先,由電腦分析一個可能的點,如果在這個點下子將會形成對手不得不防守的棋型(例如:‘沖四’、‘活三’);那么下一步對手就會照電腦的思路下子來防守,如此一來便完成了第一步的預(yù)測。這時再調(diào)用模塊對預(yù)測后的棋進行盤面分析,如果出現(xiàn)了‘四三’、‘雙三’或‘雙四’等制勝點,那么己方就可以獲勝了(當然對黑棋而言‘雙三’、‘雙四’是禁手,另當別論);否則照同樣的方法向下分析,就可預(yù)測出第二步、第三步……要是盤面上沒有對手必須防守的棋型,將自己和對手調(diào)換一下位置,然后用上面的方法來預(yù)測對手的棋,這樣既可以防住對手的攻擊,又能侍機發(fā)動反擊。
3.2.2 游戲輸贏的判斷
玩家每走一步棋后,程序會將你所走的棋的位置計算出來,如果在棋的上下方向,左右方向,斜方向,有五個顏色相同的棋子,那么則判斷該顏色的棋子獲勝。若黑子出現(xiàn)禁手,或者棋盤上所有位置為黑子的禁手,則白棋獲勝。棋盤已滿,但仍未分出勝負,則平手。判斷勝利流程圖如圖3-2所示。
圖3-2 判斷勝利流程圖
3.2.3 悔棋功能的實現(xiàn)
利用堆棧記錄下棋步驟,當要悔棋的時候,則會根據(jù)堆棧里面的位置信息,把相應(yīng)的棋子繪制到棋盤里面,從而達到悔棋的效果。
本文詳細介紹了五子棋游戲軟件設(shè)計的全過程,描述了該軟件的功能,本游戲是以Java語言作為開發(fā)工具,采用搜索算法設(shè)計實現(xiàn)了對電腦落子算法的優(yōu)化,并且實現(xiàn)了悔棋功能和禁手規(guī)則。本次游戲的開發(fā)達到了游戲界面美觀,可玩性強,具有一定難度的目標。玩家在玩游戲的過程中可以達到鍛煉思維,放松大腦的目的。
[1] 洪峰 等,五子棋.[M].江蘇科學技術(shù)出版社 .2008:15-16[2] 丁振凡、章劍,java語言使用教程(第2版).[M].北京郵電大學出版社,2004.2: P4-P38
[3] DavidFlanagan:effecttive enterprise java,中國電力出版社,2005.6:P230-P264
[4] 李慶江,五子棋的開發(fā)[J]. 電腦知識與技術(shù)2013(9-23) :6555-65556
[5] 寧書林、許新龍,java 2 程序設(shè)計與技能自練.[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-),女,陜西寶雞人,講師,主要研究方向為軟件工程.