999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于JAVA技術(shù)象棋游戲的分析與設(shè)計(jì)

2017-05-09 11:27:10張昊
關(guān)鍵詞:游戲

張昊

【摘 要】Java語言具有平臺(tái)無關(guān)性、易移植性等諸多特征,得到了廣泛的應(yīng)用。程序開發(fā)費(fèi)用少,工作效率高,并擁有很好的用戶界面和強(qiáng)大的開發(fā)工具。網(wǎng)上數(shù)據(jù)編程體現(xiàn)的非常充分,是其它語言無法做到的。

本論文著眼于Java技術(shù)的應(yīng)用,開發(fā)中國象棋游戲程序,完成基于Java技術(shù)象棋游戲的分析與設(shè)計(jì),充分在游戲中體現(xiàn)了java的優(yōu)勢(shì)。

【關(guān)鍵詞】Java 象棋 游戲 類 接口

【中圖分類號(hào)】TP311 【文獻(xiàn)標(biāo)識(shí)碼】A 【文章編號(hào)】2095-3089(2017)06-0063-02

中國象棋被譽(yù)為中國的“國粹”,從誕生到現(xiàn)在已經(jīng)成為國人最喜歡的棋類競(jìng)技游戲,對(duì)青少年的影響也是很廣泛,雙方在象棋的對(duì)弈過程中,體驗(yàn)著智慧對(duì)壘的快樂。

隨著游戲與Java技術(shù)平臺(tái)的合作,越來越多的游戲編程愛好者把Java作為了實(shí)現(xiàn)游戲程序的首選。如今Java技術(shù)在游戲產(chǎn)業(yè)中發(fā)展迅猛,并在網(wǎng)絡(luò)的支持下,在游戲領(lǐng)域中開辟了自己的廣闊天地。

游戲設(shè)計(jì)目的及意義

象棋歷史悠久,棋類博弈游戲越來越受廣大游戲愛好者的喜愛,它不僅能給對(duì)弈的雙方帶來快樂,而且還在競(jìng)技的過程中感受使用計(jì)策戰(zhàn)術(shù),戰(zhàn)勝對(duì)手的自豪感。

功能需求

通過對(duì)中國象棋游戲的需求分析,該游戲應(yīng)實(shí)現(xiàn)棋盤界面的顯示功能,雙方下棋使用鼠標(biāo)挪動(dòng)棋子并吃子的功能,每走一步棋對(duì)棋譜進(jìn)行記錄的功能,嚴(yán)格實(shí)現(xiàn)中國象棋走棋規(guī)則的功能,關(guān)閉退出游戲等功能。

象棋游戲設(shè)計(jì)的幾個(gè)要點(diǎn)

對(duì)弈的程序,至少應(yīng)具備如下幾個(gè)部分:

①在機(jī)器中表示棋盤的方法,能夠提供一個(gè)最基本的操作界面,有了這個(gè)界面才能運(yùn)行。

②產(chǎn)生中國象棋走法的規(guī)則,以使對(duì)弈正確地進(jìn)行,并可判斷雙方是否亂走。

③實(shí)現(xiàn)吃子過程中的圖形替換、重繪,使得雙方能看出游戲當(dāng)前的形勢(shì)。

象棋游戲棋盤的設(shè)計(jì)

中國象棋的棋盤與其它博弈類的棋盤不同,對(duì)陣雙方各執(zhí)一方戰(zhàn)場(chǎng),中間有空白河界相隔,俗稱“楚河漢界”。在己方各有一個(gè)交點(diǎn)互相連接的田字格,俗稱“九宮格”,“將”和“士”只能在這個(gè)范圍內(nèi)走動(dòng),不能踏出。

中國象棋的棋盤如圖1-1所示:

棋盤表示就是使用一種數(shù)據(jù)結(jié)構(gòu)來描述棋盤及棋盤上的棋子,通常是使用一個(gè)二維數(shù)組。一個(gè)典型的中國象棋棋盤是使用9×10的二維數(shù)組表示。每一個(gè)元素代表棋盤上的一個(gè)交點(diǎn)。在Java中我們?cè)贑hessBoard這個(gè)類下來具體實(shí)現(xiàn),定義一個(gè)ChessPoint point[ ][ ]二維數(shù)組,縱列從1到9,橫列從A到J,這樣就表示了象棋棋盤的9×10的方陣,為每個(gè)棋子提供了放置位置。

中國象棋游戲規(guī)則的實(shí)現(xiàn)描述

從中國象棋游戲的棋子和規(guī)則可以看出,由于將或帥、仕和士、象和相、卒和兵的走法相同,只是棋子的標(biāo)示不同,再加上車、馬、炮,所以規(guī)則的主要實(shí)現(xiàn)點(diǎn)有七點(diǎn),以下對(duì)中國象棋游戲的部分棋子行棋規(guī)則實(shí)現(xiàn)加以描述。

首先我們對(duì)每個(gè)棋子行棋時(shí)的初始和中止位置設(shè)置為startI,startJ,endI,endJ。這樣我們就可以用這四個(gè)值表示出棋子的初始及中止位置的坐標(biāo)點(diǎn)。

接著,我們?cè)俣x兩個(gè)整形變量xAxle和yAxle,他們分別表示初始與終止坐標(biāo)值之間差值的絕對(duì)值。

將或帥:只能在王宮內(nèi)移動(dòng)。每一步只可以水平或垂直移動(dòng)一點(diǎn)。

將或帥的行棋思路如圖1-2所示:

分析描述:對(duì)于帥的活動(dòng)范圍,通過if(endI<=6&&endI>=4&&endJ>=8)語句限定,如果滿足則可以走棋,不滿足則不能走棋,這就限定棋盤下方的帥不能走出九宮格。對(duì)于將的活動(dòng)范圍,通過if(endI<=6&&endI>=4&&endJ<=3)語句限定,原理同上。

行棋規(guī)則則通過if((xAxle==1&&yAxle==0)||(xAxle==0&&yAxle==1))這條語句限定,就圖1-2所示,帥只能移動(dòng)到(x2,y1)、(x2,y3)、(x1,y2)、(x3,y2)四個(gè)點(diǎn),他們的坐標(biāo)差絕對(duì)值只有滿足上面語句這兩種情況才可以行棋。

象或相:河界的一側(cè)。每一步只可以沿對(duì)角線方向移動(dòng)兩點(diǎn),另外,在移動(dòng)的過程中不能夠穿越障礙。

象或相的行棋思路如圖1-3所示:

分析描述:對(duì)于象的活動(dòng)范圍,通過if(endJ<=5)語句就可限定,如果滿足則可以走棋,不滿足則不能走棋,這就限定了象不能越過河界到對(duì)方盤面去。對(duì)于相的活動(dòng)范圍,通過if(endJ>=6)語句限定,原理同上。

行棋規(guī)則比較特殊,它是沿對(duì)角線方向移動(dòng)兩點(diǎn),另外,在移動(dòng)的過程中不能夠穿越障礙。就圖1-3所示,象要走到(x3,y3)這一點(diǎn)上的前提條件是(x2,y2)這個(gè)田字格的中心,也就是“象眼”的位置沒有棋子,對(duì)于這一點(diǎn)的坐標(biāo),我們要定義兩個(gè)變量centerI=(startI+endI)/2和centerJ=(startJ+endJ)/2,這樣當(dāng)我們行棋時(shí),就可以用if(point[centerI][centerJ].isPiece())這條語句判斷“象眼”位置是否有棋子,如果有則返回false,無則返回true。對(duì)于沿對(duì)角線方向移動(dòng)兩點(diǎn)的實(shí)現(xiàn),則通過if(xAxle==2&&yAxle==2)語句來限定,他們的坐標(biāo)差絕對(duì)值只有滿足上面語句這種情況才可以行棋。

馬:任何位置。每一步只可以水平或垂直移動(dòng)一點(diǎn),再按對(duì)角線方面向左或者右移動(dòng)。另移動(dòng)的過程中不能夠穿越障礙。

馬的行棋思路如圖1-4,1-5所示,有兩種形式:

分析描述:行棋規(guī)則比較特殊,每一步只可以水平或垂直移動(dòng)一點(diǎn),再按對(duì)角線方面向左或者右移動(dòng)。另外移動(dòng)的過程中不能夠穿越障礙。

就圖1-4所示,這種跳躍形式屬于if(xAxle==2&&yAxle==1)這一情況,馬可以走到(x1,y1)(x5,y1)(x1,y3)(x5,y3)這四個(gè)點(diǎn)上的前提條件是(x2,y2)(x4,y2)這兩個(gè)點(diǎn)上,也就是“馬腿”的位置沒有棋子。

對(duì)于棋子向右側(cè)跳的情況,即滿足if(endI>startI)時(shí),我們判斷“馬腿”位置的棋子通過if(point[startI+1][startJ].isPiece())語句來判斷;對(duì)于棋子向左側(cè)跳的情況,即滿足if(endI

車:任何位置。可以水平或垂直方向移動(dòng)任意個(gè)無阻礙的點(diǎn)。

車的行棋思路如圖1-6所示:

分析描述:可以水平或垂直方向移動(dòng)任意個(gè)無阻礙的點(diǎn)。就圖1-6所示,對(duì)于車縱向行棋情況,即if(startI==endI),先賦j=0,通過對(duì)車初始位置和中止位置之間進(jìn)行掃描,通過if(point[startI][j].isPiece())這條語句判斷有無阻礙的棋子。對(duì)于車橫向行棋情況,即if(startJ==endJ),先賦i=0,通過對(duì)車初始位置和中止位置之間進(jìn)行掃描,通過if(point[i][startJ].isPiece())這條語句判斷有無阻礙的棋子。

炮:任何位置。移動(dòng)起來和車很相似,但它必須跳過一個(gè)棋子來吃掉對(duì)方的一個(gè)棋子。

炮的行棋思路如圖1-7所示:

分析描述:移動(dòng)起來和車很相似,但它必須跳過一個(gè)棋子來吃掉對(duì)方的一個(gè)棋子。就圖1-7所示,對(duì)于炮縱向行棋情況,即if(startI==endI),我們?yōu)榱伺袛嘈衅迓肪€上是否有棋子,引入一個(gè)變量number,然后賦j=0,通過對(duì)炮初始位置和中止位置之間進(jìn)行掃描,通過if(point[startI][j].isPiece())這條語句判斷有無阻礙的棋子,如果有棋子,則number++,這樣number這個(gè)變量就相當(dāng)于一個(gè)計(jì)數(shù)器,對(duì)炮初始位置和中止位置之間棋子的數(shù)量進(jìn)行統(tǒng)計(jì)。if(number>1),則表示初始位置和中止位置之間多于1個(gè)棋子,返回值false,不能走棋;if(number==1),則表示初始位置和中止位置之間有1個(gè)棋子,且if(point[endI][endJ].isPiece()),表示中止位置上有對(duì)方棋子,則可以走棋吃子;if(number==0&&!point[endI][endJ].isPiece()),表示初始位置和中止位置之間沒有棋子,則可以行棋。對(duì)于炮橫向行棋情況,原理同上。

本論文主要研究基于Java技術(shù)象棋游戲的分析與設(shè)計(jì),對(duì)java 在中國象棋游戲編程中的方法和思想進(jìn)行了深刻的分析,對(duì)中國象棋特殊的走棋規(guī)則給予了細(xì)致理解,充分體現(xiàn)了在中國象棋游戲中java的優(yōu)勢(shì)。

參考文獻(xiàn):

[1]耿祥義編著.《JAVA 課程設(shè)計(jì)》.清華大學(xué)出版社.

[2]王克宏編著.《Java技術(shù)教程(基礎(chǔ)篇)》.2002年4月第一版.清華大學(xué)出版社.

[3]孫鑫編著. 《Java Web開發(fā)詳解》. 2006年4月第一版. 電子工業(yè)出版社.

[4]朱戰(zhàn)立,沈偉編著. 《Java程序設(shè)計(jì)實(shí)用教程》. 電子工業(yè)出版社.

[5]《Java Web開發(fā)詳解》光盤視頻教程

[6]Thomas Petche編著.《Java游戲編程》.清華大學(xué)出版社.

[7]王小春編著.《PC游戲編程》.重慶大學(xué)出版社.

[8]中文Java技術(shù)網(wǎng) http://www.cn-java.com/

[9]Sun中國技術(shù)社區(qū)http://developers.sun.com.cn/home/sdnchina/home

[10]Java高級(jí)編程專區(qū) http://dev.yesky.com/javagaoji/

猜你喜歡
游戲
做游戲
夜間游戲
游戲
送信游戲
數(shù)獨(dú)游戲
瘋狂的游戲
飛碟探索(2016年11期)2016-11-14 19:34:47
爆笑游戲
第八章直接逃出游戲
第八章 直接逃出游戲
游戲五計(jì)算
主站蜘蛛池模板: 在线中文字幕日韩| 91外围女在线观看| 亚洲成av人无码综合在线观看| 久久精品欧美一区二区| 亚洲欧美激情小说另类| 欧美激情伊人| 日韩在线影院| 久久久久青草线综合超碰| 五月天婷婷网亚洲综合在线| 男女精品视频| 精品国产电影久久九九| 鲁鲁鲁爽爽爽在线视频观看 | 欧美啪啪网| 国产毛片一区| 国产麻豆永久视频| 1769国产精品免费视频| 伊人久久婷婷| 国产女人在线视频| 国产精品亚欧美一区二区| 九色国产在线| 99在线免费播放| 色哟哟色院91精品网站| 在线观看免费AV网| 国产午夜无码片在线观看网站| 手机永久AV在线播放| 亚洲色大成网站www国产| 国产爽妇精品| 亚洲精品爱草草视频在线| 成人在线欧美| 亚洲精品在线观看91| 欧美另类精品一区二区三区| 亚洲成a人片在线观看88| 思思热在线视频精品| 国产情精品嫩草影院88av| 亚洲va欧美ⅴa国产va影院| 97精品久久久大香线焦| 久草网视频在线| 69免费在线视频| 免费A∨中文乱码专区| 亚洲av成人无码网站在线观看| 91欧洲国产日韩在线人成| 欧美色视频日本| 国产美女自慰在线观看| 香蕉伊思人视频| 亚洲国产中文在线二区三区免| 国模私拍一区二区| 欧美中文字幕无线码视频| 亚洲美女AV免费一区| 婷婷色中文| 久久成人免费| 欧美激情二区三区| 制服丝袜一区二区三区在线| 青草娱乐极品免费视频| 国产人人干| 久久男人视频| 国产欧美精品一区二区| 国产啪在线91| 久久香蕉国产线| 国产精品亚欧美一区二区| 日韩免费中文字幕| av尤物免费在线观看| 国产精品不卡片视频免费观看| 第一区免费在线观看| 中文字幕首页系列人妻| 久久精品中文无码资源站| 黄片在线永久| 中文字幕亚洲另类天堂| 五月婷婷激情四射| 日韩精品一区二区三区视频免费看| 丝袜无码一区二区三区| 久久99热66这里只有精品一| 国产成人麻豆精品| 欧洲成人在线观看| 亚洲人成影视在线观看| 九色综合伊人久久富二代| 色国产视频| 色婷婷在线影院| 九九热精品视频在线| 999精品在线视频| 特级毛片免费视频| 狠狠v日韩v欧美v| 亚洲精品成人片在线观看|