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

正文內容

android版的中國象棋人機對弈游戲設計與實現(xiàn)畢業(yè)設計(完整版)

2025-07-31 05:59上一頁面

下一頁面
  

【正文】 。import 。 } } try{ (100)。//WeleView的引用 public MyWeleViewThread(MyWeleView myWeleView){//構造器 = myWeleView。 try { // 鎖定整個畫布,在內存要求比較高的情況下,建議參數(shù)不要為null c = (null)。//睡眠的毫秒數(shù) private SurfaceHolder surfaceHolder。amp。//設置循環(huán)標志位 ()。 menu = (getResources(), )。//菜單的y坐標 public MyWeleView(Context context,MyDoChessActivity myDoChessActivity) {//構造器 super(context)。//的引用 private TutorialThread thread。import 。//播放聲音 } } public void initGameView(){//初始化游戲界面 (new MyGameView(this,this))。 getWindow().setFlags( , )。//是否播放聲音 MediaPlayer startSound。import 。 圖第六部分:游戲框架的簡介 按照程序運行的順序介紹各個類的作用以及整體的運行框架,步驟如下:啟動游戲,首先被創(chuàng)建的是MyDoChessActivity,而在MyDoChessActivity中首先將用戶顯示成歡迎界面MyWeleView.在顯示歡迎界面的同時,啟動MyWeleViewThread線程生成界面動畫當玩家單擊“菜單”按鈕時進入界面MyMenuView,在菜單界面會根據玩家不同的選擇執(zhí)行不同的操作。一種是棋子沒過河界,另一種是棋子過了河界。首先判斷棋子是否走田字格,而且不能過河,接著再用判斷象腿是否被其它棋子壓著。 *帥和士的走法:“帥”,它只能在“九宮”中行走,而且每次只能橫著或者縱著行走一棋點。 圖6在游戲過程中,玩家可以隨時通過單擊“退出”按鈕返回到游戲主菜單。運行的目標平臺 (3)操作方式 該游戲擬采用屏幕事件進行操作,玩家可以鼠標來單擊屏幕完成對游戲進行控制,游戲中部分的功能可以使用鍵盤操作來完成。在這個游戲的設計中,將牽涉到圖形界面的顯示與更新,并且在這個游戲的開發(fā)中還會應用類的繼承機制以及一些設計模式。作 者 簽 名:       日  期:        指導教師簽名:        日  期:        使用授權說明本人完全了解 大學關于收集、保存、使用畢業(yè)設計(論文)的規(guī)定,即:按照學校要求提交畢業(yè)設計(論文)的印刷本和電子版本;學校有權保存畢業(yè)設計(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務;學校可以采用影印、縮印、數(shù)字化或其它復制手段保存論文;在不以贏利為目的前提下,學??梢怨颊撐牡牟糠只蛉績热?。作者簽名:        日  期:         摘 要象棋水平的發(fā)展是需要靠信息技術來推動的,國際象棋有兩個很好的范例,一個是象棋棋譜編輯和對弈程序的公共平臺——WinBoard平臺,另一個是商業(yè)的國際象棋數(shù)據庫和對弈軟件——ChessBase,他們?yōu)閲H象棋愛好者和研究者提供了極大的便利。該游戲主要研究基于android技術的中國象棋游戲的分析與設計,對中國象棋游戲特殊的行棋規(guī)則給予了細致的分析與理解,設計出了一種實時可行的行棋規(guī)則,從移動范圍、移動方向等方面重新描述行棋規(guī)則,基于android技術通過計算機模擬實現(xiàn)了中國象棋特殊的行棋規(guī)則算法,設計出了一種可行的方法,使每個棋子的行棋路線都嚴格遵循本身的行棋規(guī)則,游戲的實戰(zhàn)對弈得以實現(xiàn),通過實驗運行,證明這種限定棋子行棋路線的方法是可行的,并得到了預期的目標。2)android平臺下游戲的準備工作相關的素材。第五部分:游戲的架構共有類 Activity的實現(xiàn)類MyDoChessActivity,該類是通過擴展基類Activity得到的,是整個游戲的控制器,也是整個游戲程序的入口。首先,判斷棋子是否是在“九宮”里行走,接著判斷棋子是否是橫向或縱向只走一個棋點。如果棋子象走動符合以上的走棋規(guī)則,則可以走動,否則棋子強制放回原處。首先判斷棋子是否出屆,然后設定棋子沒過河界,接著設定棋子在沒過河界的情況下只能向前行走一個棋點;然后設定棋子過了河界,緊接著設定棋子在過了河界的情況下只能向前、向左、向右行走一個棋點。當玩家單擊“幫助”菜單時,將進入幫助界面MyHelpView.而當玩家單擊“開始游戲”菜單按鈕時,進入的將是游戲界面MyGameView。import 。//開始和菜單時的音樂 MediaPlayer gamesound。 startSound = (this, )。 //切換到游戲界面 } public void initMenuView(){//初始化菜單界面 if(startSound != null){//停止 ()。import 。//內部刷幀的線程 private MyWeleViewThread moveThread。 = myDoChessActivity。 } public void onDraw(Canvas canvas){//自己寫的繪制方法,并非重寫的 //畫的內容是z軸的,后畫的會覆蓋前面畫的 ()。//啟動線程 } public void surfaceDestroyed(SurfaceHolder holder) {//摧毀時釋放相應進程 boolean retry = true。 ()200+() amp。//SurfaceHolder引用 private MyWeleView weleView。 synchronized () {//同步 (c)。//得到WeleView的引用 } public void setFlag(boolean flag){//設置循環(huán)標志位 = flag。//睡眠指定毫秒數(shù) }catch(Exception e){//捕獲異常 ()。import 。//棋盤 Bitmap qizibackground。//退出按鈕圖片 Bitmap sound2。 //當然選中的棋子 int startI, startJ。 public MyGameView(Context context,MyDoChessActivity myDoChessActivity) {//構造器 super(context)。//初始化規(guī)則類 } public void init(){//初始化方法 paint = new Paint()。//向左的指針 exit2 = (getResources(), )。//黑士 heiZi[5] = (getResources(), )。//紅相 hongZi[6] = (getResources(), )。 jqizi[i].length。 } else if(qizi[i][j] == 8){//為紅將時 (hongZi[0], 12+j*34, 13+i*35, paint)。//繪制VS背景圖 if(caiPan == true){//當該玩家走棋時,即紅方走棋 (right, 145, 400, paint)。//繪制失敗界面 (ok, 113, 236, paint)。//聲音取反 if(){//當需要放聲音時 if( != null){//gamesound不為空時 if(!()){//當前沒有音樂時 ()。 ()440+()){//按下了退出按鈕 (1)。//發(fā)送消息,切換到MenuView } } else if(status == 2){//失敗后 if(()135amp。amp。 j = pos[1]。 startJ = j。//移動棋子 qizi[startI][startJ] = 0。//播放下棋聲音 } qizi[][] = qizi[][]。//播放下棋聲音 } qizi[endI][endJ] = qizi[startI][startJ]。//得到一步走法 if(qizi[][] == 8){//電腦吃了您的將 status = 2。//得到點擊位置的x坐標 double y = ()。//取得所在的行 pos[1] = ((float)((x21)/35))。 (false)。//得到SurfaceHolder引用 = gameView。//睡眠span毫秒 }catch(Exception e){//不會異常信息 ()。import 。//關閉聲音的圖片 Bitmap help。//導入背景 startGame = (getResources(), )。//繪制圖片 if(){//放聲音時,繪制關閉聲音圖片 (closeSound, 50, 150, null)。//設置循環(huán)標志位 while (retry) {//循環(huán) try { ()。 ()95){//點擊的是開始游戲 (2)。//將聲音開關取反 if(!){//當沒有放聲音時 if( != null){//檢查當前是否已經有聲音正在播放 if(()){//當游戲聲音正在播放時, ()。 ()295){//點擊的是幫助按鈕 (3)。//直接退出游戲 } } return (event)。 } public void run() {//重寫的run方法 Canvas c。import 。public class MyHelpView extends SurfaceView implements { MyDoChessActivity myDoChessActivity。//初始化重繪線程 initBitmap()。//循環(huán)標志位 (false)。amp。//得到surfaceHolder引用 = helpView。//睡眠指定毫秒數(shù) }catch(Exception e){//捕獲異常 ()。//起始位置是什么棋子 int targetID。 } moveChessID = qizi[fromY][fromX]。 } break。 fromY == toY){//過河前只能直走 return false。 fromX != toX){//只能走直線 return false。 i toX。 } break。 } if((fromXtoX) != 2 || (fromYtoY) != 2){//相走“田”字 return false。//得帶終點棋子 if(isSameSide(moveChessID,targetID)){//如果是同一陣營的 return false。 } if(toX8){//當右邊出界時 return false。import 。 } public void run() {//重寫的run方法 Canvas c。//發(fā)送Handler消息 } } return (event)。//等待線程結束 retry = false。//返回按鈕 helpBackground = ( getResources(), )。//刷幀的線程 Bitmap back。import 。 try { // 鎖定整個畫布,在內存要求比較高的情況下,建議參數(shù)不要為null c = (null)。//睡眠的毫秒數(shù) private SurfaceHolder surfaceHolder。amp。//則播放聲音 } } } }else if(()105 amp。amp。//停止循環(huán) }catch (InterruptedExce
點擊復制文檔內容
外語相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1