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

Android環(huán)境下的中國象棋設(shè)計與實現(xiàn)

2018-01-31 08:31:34雷舒昊何歡
科技視界 2018年30期

雷舒昊 何歡

【摘 要】中國象棋不僅娛樂性強(qiáng),還能激發(fā)頭腦的思考,集娛樂與智慧于一體。但由于實體中國象棋的娛樂受限于時間地點和對弈人的限制,不能達(dá)到業(yè)余時間隨時隨地娛樂的目的,因此,在熟練掌握中國象棋的行走規(guī)則的背景下,學(xué)習(xí)了在Android平臺下的游戲開發(fā)技術(shù),設(shè)計和實現(xiàn)了在Android系統(tǒng)下的中國象棋游戲的設(shè)計,經(jīng)過系統(tǒng)調(diào)試,中國象棋游戲運行良好,實現(xiàn)最終設(shè)計目標(biāo)。

【關(guān)鍵詞】Android;中國象棋;游戲開發(fā);

中圖分類號: TP 393 文獻(xiàn)標(biāo)識碼: A 文章編號: 2095-2457(2018)30-0266-003

DOI:10.19694/j.cnki.issn2095-2457.2018.30.118

The Design and Implementation of Chinese Chess in Android

LEI Shu-hao1 HE Huan2

(1.Anshan First Middle School,Anshan Liaoning 114041;

2.National Computer Experimental Teaching Demonstration Center,Northeastern University,

Shenyang Liaoning 110819,China)

【Abstract】Chinese chess is not only entertaining,but also stimulates the mind and integrates entertainment and wisdom.However,due to the restriction of time,place and players, the entertainment of Chinese chess in the entity can not achieve the purpose of entertaining anytime,anywhere in the spare time.Therefore,under the background of mastering the rules of Chinese chess,we learned the game development technology under Android platform,designed and realized the design of Chinese chess game under Android system.After debugging,Chinese chess game runs well and achieves the final goal.

【Key words】Android;Chinese chess;Game Development

中國象棋是受廣大中國人喜愛的休閑娛樂活動之一。中國象棋[1]發(fā)展至今已有兩千三百多年歷史,是中華民族的國粹。以往經(jīng)常見到路邊一堆人圍在一起下棋的場面,但隨著信息技術(shù)的高速發(fā)展,智能手機(jī)已進(jìn)入到普通人的日常生活,手機(jī)游戲[2]這種大眾化的娛樂方式也受到人們的廣泛歡迎。因此手機(jī)端的游戲開發(fā),成為目前研究的熱點。中國象棋愛好者遍布全球,通過網(wǎng)絡(luò),下棋沒有了地域限制,人們甚至可以和電腦對弈。在對弈中,對戰(zhàn)雙方通過對游戲規(guī)則的掌握使游戲結(jié)果利于己方,機(jī)器博弈研究成果已廣泛應(yīng)用于眾多領(lǐng)域[3]。中國象棋集文化、科學(xué)、軍事、競技于一體,有利于開發(fā)人的智力,鍛煉人的思維能力,并增強(qiáng)人的競爭意識[4],使人更加輕松地感受象棋的魅力。

鑒于此,本文在Android系統(tǒng)[5]上開發(fā)了一款中國象棋游戲,提出一種簡單、實用、易操作的象棋游戲系統(tǒng),方便各個年齡階層使用。

1 系統(tǒng)需求及總體設(shè)計

1.1 系統(tǒng)需求分析

游戲界面需求如下:

(1)運行游戲,首先出現(xiàn)歡迎界面,隨后進(jìn)入菜單頁面;

(2)菜單頁面設(shè)置“開始游戲”、“象棋歷史”、“象棋 規(guī)則”、“退出游戲”幾個板塊。點擊“象棋歷史”與“象棋 規(guī)則”可分別進(jìn)入象棋歷史介紹與游戲玩法介紹頁面;

(3)單擊“開始游戲”進(jìn)入游戲主界面,分為單機(jī)游戲和聯(lián)機(jī)游戲。游戲界面中玩家按照象棋規(guī)則下棋,可單擊聲音按鈕控制聲音,當(dāng)游戲一方的“將”或“帥”被吃掉時,出現(xiàn)“你輸了”或“你贏了”界面。游戲中玩家還可隨時通過“退出”按鈕返回游戲主菜單。

1.2 系統(tǒng)總體設(shè)計

系統(tǒng)構(gòu)架及功能設(shè)計,使用功能層次圖或類圖等描述,并進(jìn)行說明,如圖1所示。

整個系統(tǒng)主要分為四大塊,分別為登錄模塊,注冊模塊,注銷模塊,下棋模塊。

登錄模塊為游客登錄APP操作。注冊模塊是游客注冊為會員操作,注冊功能和注銷功能緊密相連,注銷和注冊都可以由管理員進(jìn)行。而注冊還可以由游客自行完成。下棋模塊是APP的核心模塊,通過本模塊進(jìn)行中國象棋游戲,游戲結(jié)束后可進(jìn)行再來一局和返回菜單功能。

2 系統(tǒng)詳細(xì)設(shè)計及方案

下面將分別實現(xiàn)各個模塊的設(shè)計,由于涉及的模塊較多,這里列出主要模塊的設(shè)計實現(xiàn)。

2.1 注冊模塊

實現(xiàn)功能:游客注冊成為用戶,將用信息寫入數(shù)據(jù)庫內(nèi)。

實現(xiàn)過程:(1)系統(tǒng)獲取用戶輸入的用戶名、密碼和昵稱。

(2)若有空,則提示用戶輸入完整;若均已輸入,則系統(tǒng)檢驗該用戶名、郵箱和手機(jī)號是否已被注冊,即遍歷用戶表查詢是否有相同信息,若有相同記錄則提示用戶該用戶名/郵箱/手機(jī)號已被注冊,否則用戶注冊成功,跳轉(zhuǎn)至登錄界面。

2.2 登錄模塊

實現(xiàn)功能:游客登錄到APP。

實現(xiàn)過程:(1)系統(tǒng)獲取用戶輸入的用戶名、密碼。

(2)若有空,則提示用戶輸入完整;若均已輸入,則系統(tǒng)檢驗該用戶名和密碼是否已被注冊,即遍歷用戶表查詢是否有相同信息,若有相同記錄則提示用戶登錄成功,否則輸出相應(yīng)結(jié)果,即用戶名、密碼不存在,跳轉(zhuǎn)至菜單界面。

2.3 注銷模塊

實現(xiàn)功能:管理員注銷用戶,將信息在數(shù)據(jù)庫中修改或刪除。

實現(xiàn)過程:(1)管理員選擇要注銷的用戶。

(2)若不存在,則提示用戶輸入完整;若存在,則系統(tǒng)檢驗該用戶名是否已被注冊,即遍歷用戶表查詢是否有相同信息,若不存在有相同記錄則提示用戶該用戶名不存在,否則用戶注銷成功。

2.4 下棋模塊

實現(xiàn)功能:用戶進(jìn)行象棋游戲,選擇單機(jī)或者聯(lián)機(jī)。

實現(xiàn)過程:

1.游戲開始之前,初始化棋盤。

2.選中棋子進(jìn)行走子操作,如果已有選中的棋子,則不能選中其他棋子。如果想選擇其他棋子,則需點擊已選中的棋子,進(jìn)行取消。

3.判斷是哪種棋子,若游戲未結(jié)束,則循環(huán)執(zhí)行步驟3。

當(dāng)未選擇棋子時:如果選擇位置為空,則輸出結(jié)果。如果選擇位置不為空,先判斷當(dāng)前執(zhí)方,再對執(zhí)行次數(shù)進(jìn)行判斷,選中時,執(zhí)行次數(shù)為1,落下時為2.如果大于1,則執(zhí)行另一方棋子,輸入已落子,請另一方落子。

(1)為“兵”或“卒”時:新建solider類,將落點和棋子的原橫縱坐標(biāo)及棋子執(zhí)方存入。

判斷走棋規(guī)則是否合法。

如果非法,輸出結(jié)果;

如果合法,則判斷落點是否有子。

如果落點沒有棋子,更新棋盤。

如果落點有子,首先判斷是否為本方棋子,

如果是本方棋子,輸出結(jié)果;

否則,更新棋盤。

如果吃掉的棋子為敵方將帥,則輸出結(jié)果勝利。執(zhí)行步驟4

行棋結(jié)束后,判斷兩帥是否相對,如果相對執(zhí)行步驟4。

(2)為“車”或“車”時:新建car類,將落點和棋子的原橫縱坐標(biāo)及棋子執(zhí)方存入。

判斷走棋規(guī)則是否合法。如果非法,輸出結(jié)果;如果合法,則判斷落點是否有子。如果落點沒有棋子,更新棋盤。如果落點有子,首先判斷是否為本方棋子,如果是本方棋子,輸出結(jié)果;否則,更新棋盤。如果吃掉的棋子為敵方將帥,則輸出結(jié)果勝利。執(zhí)行步驟4行棋結(jié)束后,判斷兩帥是否相對,如果相對執(zhí)行步驟4。

(3)為“帥”或“將”時:新建marshal類,將落點和棋子的原橫縱坐標(biāo)及棋子執(zhí)方存入。

判斷走棋規(guī)則是否合法。如果非法,輸出結(jié)果;如果合法,則判斷落點是否有子。如果落點沒有棋子,更新棋盤。如果落點有子,首先判斷是否為本方棋子,如果是本方棋子,輸出結(jié)果;否則,更新棋盤。如果吃掉的棋子為敵方將帥,則輸出結(jié)果勝利。執(zhí)行步驟4行棋結(jié)束后,判斷兩帥是否相對,如果相對執(zhí)行步驟4。

判斷棋子的執(zhí)方,將棋子的當(dāng)前位置賦給相應(yīng)的變量,判斷兩帥是否相對,如果相對執(zhí)行步驟4。

(4)為“士”或“仕”時:新建housecarl類,將落點和棋子的原橫縱坐標(biāo)及棋子執(zhí)方存入。

判斷走棋規(guī)則是否合法。如果非法,輸出結(jié)果;如果合法,則判斷落點是否有子。如果落點沒有棋子,更新棋盤。如果落點有子,首先判斷是否為本方棋子,如果是本方棋子,輸出結(jié)果;否則,更新棋盤。如果吃掉的棋子為敵方將帥,則輸出結(jié)果勝利。執(zhí)行步驟4行棋結(jié)束后,判斷兩帥是否相對,如果相對執(zhí)行步驟4。

(5)為“馬”或“馬”時:新建horse類,將落點和棋子的原橫縱坐標(biāo)及棋子執(zhí)方存入。

判斷走棋規(guī)則是否合法。

如果非法,輸出結(jié)果;

如果合法,

判斷是否蹩馬腳,如果蹩馬腳輸出相應(yīng)結(jié)果

否則,判斷落點是否有子。

如果落點沒有棋子,更新棋盤。

如果落點有子,首先判斷是否為本方棋子,

如果是本方棋子,輸出結(jié)果;

否則,更新棋盤。

如果吃掉的棋子為敵方將帥,則輸出結(jié)果勝利。執(zhí)行步驟4

行棋結(jié)束后,判斷兩帥是否相對,如果相對執(zhí)行步驟4。

(6)為“相”或“象”時:新建prime minister類,將落點和棋子的原橫縱坐標(biāo)及棋子執(zhí)方存入。

判斷走棋規(guī)則是否合法。

如果非法,輸出結(jié)果;

如果合法,

判斷是否堵象眼,如果堵象眼輸出相應(yīng)結(jié)果

否則,判斷落點是否有子。

如果落點沒有棋子,更新棋盤。

如果落點有子,首先判斷是否為本方棋子,

如果是本方棋子,輸出結(jié)果;

否則,更新棋盤。

如果吃掉的棋子為敵方將帥,則輸出結(jié)果勝利。執(zhí)行步驟4

行棋結(jié)束后,判斷兩帥是否相對,如果相對執(zhí)行步驟4。

(7)為“炮”或“砲”時:新建cannon類,將落點和棋子的原橫縱坐標(biāo)及棋子執(zhí)方存入。

判斷走棋規(guī)則是否合法。如果非法,輸出結(jié)果;

如果合法,

判斷起始點和落點之間間隔的子數(shù),如果大于1,輸出相應(yīng)結(jié)果

如果中間隔了一個棋子,判斷落點是否有子。如果落點沒有棋子,輸出結(jié)果。

如果落點有子,首先判斷是否為本方棋子,如果是本方棋子,輸出結(jié)果;否則,更新棋盤。如果吃掉的棋子為敵方將帥,則輸出結(jié)果勝利。執(zhí)行步驟4

如果中間沒有棋子,判斷落點是否有子。如果落點沒有棋子,更新棋盤。如果落點有子,首先判斷是否為本方棋子,如果是本方棋子,輸出結(jié)果;否則,更新棋盤。如果吃掉的棋子為敵方將帥,則輸出結(jié)果勝利。執(zhí)行步驟4

4.游戲結(jié)束,彈出對話框,選擇重新開始或再來一局。

5.聯(lián)機(jī)模式下,用戶創(chuàng)建房間,第二個用戶會自動搜尋第一個未滿的房間,來加入到游戲中。進(jìn)入游戲后,通過比目提供的數(shù)據(jù)監(jiān)聽,來對數(shù)據(jù)進(jìn)行更新操作。當(dāng)本方為黑時,下棋結(jié)束后將執(zhí)方繼續(xù)置為黑,知道數(shù)據(jù)更新后才進(jìn)行行棋操作。

3 電路調(diào)試與驗收

3.1 本次開發(fā)所用環(huán)境及工具

系統(tǒng)開發(fā)所使用的操作系統(tǒng)為:Windows10

開發(fā)工具[6]為:Android Studio

Java SDK版本:1.8.0.1610.12

Android版本:Android 9.0 API 28

AndroidManifest:minSdkVersion=15,targetSdkVersion=23

3.2 測試項目

(1)使用不同型號的安卓手機(jī),系統(tǒng)是否能夠正常顯示和運行。

(2)系統(tǒng)能否正常連接數(shù)據(jù)庫,多用戶登錄,服務(wù)端會不會發(fā)生異常。

(3)能否正常實現(xiàn)用戶注冊和登錄,注冊信息是否被寫入到后端數(shù)據(jù)庫內(nèi)的用戶表中。

(4)玩家的昵稱是否正確的顯示出來。

(5)各種棋子的判斷是否正確。

(6)當(dāng)取消棋子時是否正確的取消棋子的選中,當(dāng)取消后是否能正確的選擇下一個棋子。

(7)當(dāng)選擇空位置時,是否正確的顯示提示信息。

(8)各種棋子的行棋規(guī)則是否正確的表現(xiàn)出來。

(9)能否正確的判斷是否對將。

(10)吃掉敵方將帥后是否正確的顯示游戲結(jié)束和勝利結(jié)果。

(11)游戲結(jié)束后彈出的對話框是否正確的顯示再來一局和返回,以及能否正確的進(jìn)行下一步操作。

(12)數(shù)據(jù)是否能正確同步。

(13)修改各類個人信息后,是否正常更新了數(shù)據(jù)庫數(shù)據(jù)。

(14)一系列其它運行過程中的細(xì)節(jié)測試,包括UI界面的效果等。

3.3 測試結(jié)果

所測試項目均符合預(yù)期目標(biāo),并且APP在運行過程中并未出現(xiàn)任何異常,測試順利結(jié)束。

4 結(jié)束語

本文在熟練掌握中國象棋運行規(guī)則的前提下,在Android系統(tǒng)上開發(fā)了中國象棋游戲,界面簡潔,步驟易操作,實現(xiàn)了網(wǎng)絡(luò)人工對弈的效果,以后的設(shè)計中還可以引入人工智能等先進(jìn)熱點技術(shù),優(yōu)化游戲算法,提示游戲性能。

【參考文獻(xiàn)】

[1]危春波.中國象棋博弈系統(tǒng)的研究與實現(xiàn)[D].昆明:昆明理工大學(xué),2008.

[2]姚昱昱,劉衛(wèi)國.Android的架構(gòu)與應(yīng)用開發(fā)研究[J].計算機(jī)系統(tǒng)應(yīng)用,2008(11):110-112.

[3]徐心和,王驕.中國象棋計算機(jī)博弈關(guān)鍵技術(shù)分析[J].小型微型計算機(jī)系統(tǒng),2006,27(6):961-969.

[4]杜幫國.基于Java平臺的中國象棋游戲的設(shè)計與實現(xiàn)[D].大連:大連理工大學(xué),2013.

[5]胡偉.Android系統(tǒng)構(gòu)架及其驅(qū)動研究[J].廣州:廣播電視大學(xué)學(xué)報,2008.8.

[6]趙燕萍.Java程序設(shè)計語言基礎(chǔ)研究[J].硅谷,2013(8): 61-62.

主站蜘蛛池模板: 999福利激情视频| 国产va欧美va在线观看| 日韩东京热无码人妻| 欧美日韩在线国产| 国产精品福利一区二区久久| 色综合天天娱乐综合网| 亚洲综合片| 欧类av怡春院| 成人免费午夜视频| 国产成年女人特黄特色大片免费| 亚洲VA中文字幕| 亚洲免费黄色网| 玩两个丰满老熟女久久网| 国产一级裸网站| 国产成人三级| 伊人成人在线| 热re99久久精品国99热| 国产网站免费| 就去色综合| 国国产a国产片免费麻豆| jijzzizz老师出水喷水喷出| 欧美性久久久久| 狠狠色综合久久狠狠色综合| 国产一级小视频| 久久人人妻人人爽人人卡片av| 色悠久久久久久久综合网伊人| 中文天堂在线视频| 2021国产在线视频| 精品久久高清| 露脸一二三区国语对白| 91精品国产91久久久久久三级| 色噜噜中文网| 最近最新中文字幕在线第一页| 国产资源免费观看| 亚洲一区第一页| 青青草一区| 日韩A级毛片一区二区三区| 污污网站在线观看| 亚洲人成网址| 欧美精品三级在线| 91啦中文字幕| 欧美日韩综合网| 四虎永久免费在线| 国产精品欧美亚洲韩国日本不卡| 嫩草国产在线| 国产精品久久国产精麻豆99网站| 伊在人亚洲香蕉精品播放 | 99视频在线免费观看| 欧美在线一二区| 免费一级无码在线网站| 国产网友愉拍精品| 免费激情网址| 免费A∨中文乱码专区| 色婷婷在线播放| 亚洲天堂在线免费| 在线观看精品国产入口| 国内精品久久久久久久久久影视| 亚洲国产中文在线二区三区免| 欧美精品1区| 一区二区影院| 国产美女91呻吟求| 九九热在线视频| 亚洲国产清纯| 国产色爱av资源综合区| 亚洲毛片在线看| 97久久精品人人做人人爽| 国产18在线播放| 999福利激情视频| 久久精品女人天堂aaa| 狼友视频国产精品首页| 99精品在线看| 欧美高清三区| 亚洲精品天堂在线观看| 国产91导航| 国产特一级毛片| 国产青榴视频| 狠狠五月天中文字幕| 亚洲天堂久久新| 亚洲欧洲自拍拍偷午夜色无码| 国产区91| 亚洲国产精品美女| 伊人婷婷色香五月综合缴缴情|