freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于android的中國(guó)象棋的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文-文庫(kù)吧資料

2025-07-04 00:30本頁面
  

【正文】 商貿(mào)工業(yè). 2010(20) [5] 李林濤,朱珊虹.基于Android平臺(tái)的網(wǎng)絡(luò)共享研究與實(shí)現(xiàn)[D]. 華東師范大學(xué) 2011 [4] 趙建勛.哈爾濱招行Android手機(jī)銀行匯率換算模塊的設(shè)計(jì)與實(shí)現(xiàn)[D]. 吉林大學(xué) 2011 [3] 施金蘭.移動(dòng)終端的Android移植與應(yīng)用程序設(shè)計(jì)[D]. 西安電子科技大學(xué) 2011 [2] 王蕾.參考文獻(xiàn)[1] 劉敏.同時(shí)還讓我知道做任何事都需端正態(tài)度,量力而行,發(fā)揮自己的長(zhǎng)處,這樣不僅有利于促進(jìn)團(tuán)隊(duì)項(xiàng)目開發(fā)的進(jìn)度,還能讓我們知道我們自己的位置。通過這次的實(shí)訓(xùn),讓我學(xué)到了很多,因?yàn)槲覀兌际堑谝淮谓佑|Android,所以老師先給我們講的每一個(gè)程序我們都去認(rèn)真編寫,通過這些小程序,讓我們知道了如何去創(chuàng)建一個(gè)Android項(xiàng)目,了解了Android項(xiàng)目里的每一個(gè)文件夾和文件的作用。學(xué)習(xí)Android不僅是對(duì)前沿開發(fā)技術(shù)的了解,也是對(duì)編程知識(shí)的一次提升。在這為期三周的實(shí)訓(xùn)中讓我學(xué)到了很多課堂上學(xué)不到的知識(shí),讓我基本掌握了Android應(yīng)用程序開發(fā)的一般流程。在這次項(xiàng)目中讓我體會(huì)到了團(tuán)隊(duì)合作的重要性,團(tuán)隊(duì)合作注重溝通和信任,不能不屑于做一些小事,永遠(yuǎn)要保持親和誠(chéng)信,把專業(yè)理論運(yùn)用到具體實(shí)踐中,不僅加深我對(duì)理論的掌握和運(yùn)用,這是實(shí)訓(xùn)中最大的收獲。當(dāng)遇到問題時(shí)要冷靜去想辦法一點(diǎn)一點(diǎn)的排除障礙,到最后取得成功,一種自信油然而生,這就是工作的樂趣。通過為期三周的Android實(shí)訓(xùn),這次的實(shí)訓(xùn)讓我學(xué)到了很多知識(shí)。當(dāng)自己融于這個(gè)項(xiàng)目時(shí),就能多思考。我們小組在老師的協(xié)助下最終成功的完成實(shí)訓(xùn)項(xiàng)目。在這短暫的三周之內(nèi),有成功有失??;有喜悅有心酸。} 系統(tǒng)流程圖5 運(yùn)行測(cè)試 測(cè)試用例表測(cè)試編號(hào)測(cè)試目標(biāo)期望結(jié)果實(shí)際結(jié)果001測(cè)試象棋“馬”是否“絆馬腿”游戲過程中,“馬”在絆馬腿情況下不能移動(dòng)。//睡眠四秒鐘,以便調(diào)試 } catch (InterruptedException e) {//捕獲異常 ()。public ChessMove searchAGoodMove(int[][] qizi){//查詢一個(gè)好的走法 ListChessMove ret = allPossibleMoves(qizi)。 } .......... } } } return () ? null : ret。 y++){//循環(huán)所有的棋牌位置 int chessman = qizi[x][y]。 x++){ for (int y = 0。//用來裝所有可能的走法 for (int x = 0。 游戲人機(jī)對(duì)戰(zhàn)的實(shí)現(xiàn) (1) 首先產(chǎn)生所有可能的走法,定義一個(gè)ArrayList容器,把可能的走法放入ArrayList容器里面。玩家走棋是通過對(duì)屏幕進(jìn)行監(jiān)聽,從而記錄棋子類型,原有位置坐標(biāo)和目標(biāo)位置坐標(biāo),通過調(diào)用規(guī)則類GuiZe中的CanMove判斷該棋子走法是否可行符合棋子走棋規(guī)則,可行就改變?cè)形恢煤湍繕?biāo)位置數(shù)據(jù),達(dá)到行棋的目的輪到走棋的一方,游戲界面當(dāng)前位置顯示走棋一方的“黑帥”或者“紅將”,將某個(gè)棋子從一個(gè)交叉點(diǎn)走到另一個(gè)交叉點(diǎn),或者吃掉對(duì)方的棋子而占領(lǐng)其交叉點(diǎn),這樣一方走棋結(jié)束當(dāng)前位置顯示改變輪到另一方走棋。電腦走棋時(shí)通過構(gòu)造一個(gè)走法類ChessMove,創(chuàng)建一個(gè)對(duì)象調(diào)用NegamaxEngine類中的Search()函數(shù)根據(jù)當(dāng)前局勢(shì)查詢一個(gè)最好的走法記錄棋子的原有位置坐標(biāo)、目標(biāo)位置坐標(biāo)、棋子類型并對(duì)該對(duì)象進(jìn)行初始化。棋盤上各種棋子以及棋盤的初始布局的設(shè)計(jì)采用10*9的數(shù)組來進(jìn)行標(biāo)識(shí), : 圖 各個(gè)數(shù)字的對(duì)應(yīng)關(guān)系如下:0無棋子;1黑方的帥;2黑方的車;3黑方的馬;4黑方的炮;5黑方的士;6黑方的象;7黑方的卒;8紅方的將;9紅方的車;10紅方的馬;11紅方的炮;12紅方的士;13紅方的相;14紅方的兵。(2) 棋盤的表示針對(duì)棋盤的設(shè)計(jì),每一種棋子對(duì)應(yīng)一個(gè)固定的值用以識(shí)別該棋子的類型,那么設(shè)計(jì)就根據(jù)紅黑雙方的棋子以及每個(gè)類型的棋子,設(shè)計(jì)規(guī)則類(GuiZe類,調(diào)用其中的canMove方法用以判斷某一步走棋的是否可行。}if(((fromYtoY)+(toXfromX))1){//只能走一步 return false。}break。case 1://黑帥if(toY2||toX3||toX5){//出了九宮格 return false。//相眼處有棋子}break。//返回false}if((fromXtoX) != 2 || (fromYtoY) != 2){//相走“田”字 return false。//相眼處有棋子}break。}if((fromXtoX) != 2 || (fromYtoY) != 2){//相走“田”字 return false。象、相:只可以在己方陣營(yíng)走動(dòng),且僅限于7個(gè)點(diǎn),即己方“田”字格上的7個(gè)點(diǎn),走的是斜線,走動(dòng)時(shí),起始點(diǎn)與目標(biāo)點(diǎn)構(gòu)成一條斜線,若該斜線的中點(diǎn)位置存在其他棋子,則被絆住無法走動(dòng)。//返回false } } if(count!=1){ return false。jfromY。//返回false } } if(count!=1){ return false。jtoY。 } } if(count!=1){ return false。ifromX。 } } if(count != 1){ return false。itoX。//返回false } } } } } else{//吃子時(shí) int count=0。 j fromY。 j++){ if(qizi[j][fromX] != 0){ return false。//返回false } } } } else{//豎線 if(fromY toY){//向下走 for(j = fromY + 1。 i fromX。 i++){ if(qizi[fromY][i] != 0){ return false。//返回false } if(qizi[toY][toX] == 0){//不吃子時(shí) if(fromY == toY){//橫線 if(fromX toX){//想右走 for(i = fromX + 1。amp。炮吃子的條件是與目標(biāo)棋子在一條直線上,且兩子之間必須有且只有一個(gè)棋子作為“跳板”,讓炮進(jìn)行跳躍式攻擊。//絆馬腿 break。//移動(dòng) j=fromY1。//移動(dòng) j=fromY+1。//移動(dòng) j=fromY。//移動(dòng) j=fromY。 (toYfromY)==1))){ return false。 (toYfromY)==2) || ((toXfromX)==2 amp。紅黑馬規(guī)則走法的介紹:case 10://紅馬 case 3://黑馬 if(!(((toXfromX)==1 amp。圖  游戲界面 中國(guó)象棋的規(guī)則及走法的實(shí)現(xiàn)(1) 行棋規(guī)則中國(guó)象棋分為紅黑雙方,以楚河漢界為分界線,雙方各執(zhí)16字,分別為2車2馬2相2仕2炮1將5卒,各自走法不同,具體如下:馬:只可以走“日”字方格,因此一匹馬的最理想落子點(diǎn)有8個(gè),但存在絆馬腿的情況,即從馬的位置到要走到的目標(biāo)位置,順著此方向,“日”字方格有兩個(gè)方向,即兩格長(zhǎng)度和一個(gè)長(zhǎng)度,馬緊挨的兩格長(zhǎng)度方向的位置不能有子,否則即被絆住,不能走動(dòng)?;蛘唿c(diǎn)擊退出按鈕也可結(jié)束游戲切換至菜單界面。圖 菜單界面 游戲界面相關(guān)類的實(shí)現(xiàn)游戲界面GameView,該類是整個(gè)程序中最主要的類,該類首先是繪制屏幕上的內(nèi)容棋盤和對(duì)應(yīng)的棋子。圖 游戲歡迎界面 MenuView類中通過監(jiān)聽“開始游戲”切換到游戲界面;通過監(jiān)聽“打開聲音”/“關(guān)閉聲音”進(jìn)行聲音的打開與關(guān)閉,與此同時(shí)“打開聲音”、“關(guān)閉聲音”按鈕進(jìn)行切換;通過監(jiān)聽“幫助”來切換都幫助界面;通過監(jiān)聽“退出游戲”結(jié)束游戲用行退出游戲。: 共有類ChessActivity的實(shí)現(xiàn)該類的主要作用是通過接受Handler消息變量,根據(jù)各個(gè)界面發(fā)送的Handler消息的類型判斷所需要執(zhí)行的操作。4 游戲系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 類框架的設(shè)計(jì)通過對(duì)中國(guó)象棋游戲的了解,對(duì)基于Android技術(shù)的中國(guó)象棋人機(jī)對(duì)弈游戲的需求分析,游戲?qū)崿F(xiàn)的理解并結(jié)合自己對(duì)知識(shí)點(diǎn)所掌握的程度;對(duì)中國(guó)象棋游戲總體設(shè)計(jì),主要由三個(gè)類組成:共有類,輔助界面相關(guān)類,游戲界面相關(guān)類。程序需要讓計(jì)算機(jī)在輪到它走子的時(shí)候能夠執(zhí)行一步它認(rèn)為最有利的著法,而不是亂走;那么它就要有在諸多可供選擇的著法,提供所有候選著法的列表就是著法生成器所要完成的。 游戲走棋需求設(shè)計(jì)分析進(jìn)入游戲界面,游戲提示當(dāng)前走棋為“帥”或者“將”,雙方各走一著,直至分出勝負(fù)或者直接點(diǎn)擊退出結(jié)束游戲,輪到走棋的一方,將某個(gè)棋子從一個(gè)交叉點(diǎn)走到另一個(gè)交叉點(diǎn),或者吃掉對(duì)方的棋子而占領(lǐng)其交叉點(diǎn),都算走一著,雙方各走一著即一個(gè)回合,吃子時(shí),任何棋子走動(dòng),如果目標(biāo)位置上有對(duì)方的棋子,就可以把對(duì)方的棋子拿出棋盤,即屏幕上消失在顯示自己的棋子。做好這些工作需要對(duì)Android開發(fā)平臺(tái)了解,并搭建平臺(tái);深入了解數(shù)據(jù)結(jié)構(gòu)、Android應(yīng)用程序以及各種組件(API)庫(kù)函數(shù)。本游戲設(shè)計(jì)無疑是模擬現(xiàn)實(shí)人人博弈,虛擬的替換了真實(shí)的棋子棋盤,由人來和電腦直接對(duì)弈;在一個(gè)人閑暇時(shí)也可以體驗(yàn)博弈的樂趣。中國(guó)象棋游戲是棋牌類游戲,體現(xiàn)的是一種策略。安裝Android Development Tool plugin
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1