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

正文內(nèi)容

畢業(yè)論文--基于java的手機(jī)游戲中國象棋的設(shè)計(jì)與實(shí)現(xiàn)-資料下載頁

2025-06-05 08:44本頁面
  

【正文】 qizi[startI][startJ]。//移動棋子 qizi[startI][startJ] = 0。//將原來處設(shè)空 startI = 1。 startJ = 1。 endI = 1。 endJ = 1。//還原保存點(diǎn) focus = false。//標(biāo)記當(dāng)前沒有選中棋子 Move cm = (qizi)。//根據(jù)當(dāng)前局勢查詢一個最好的走法 if(){ ()。//播放下棋聲音 } qizi[][] = qizi[][]。//移動棋子 qizi[][] = 0。 caiPan = true。//恢復(fù)玩家響應(yīng) } } } }//end 點(diǎn)擊的位置有棋子 else{//如果點(diǎn)擊的位置沒有棋子 endI = i。 endJ = j。 boolean canMove = (qizi, startI, startJ, endI, endJ)。//查看是否可走 if(canMove){//如果可以移動 caiPan = false。//不讓玩家走了 if(){ ()。//播放下棋聲音 } qizi[endI][endJ] = qizi[startI][startJ]。//移動棋子 qizi[startI][startJ] = 0。//將原來處置空 startI = 1。 startJ = 1。 endI = 1。 endJ = 1。//還原保存點(diǎn) focus = false。//標(biāo)志位設(shè) false Move cm = (qizi)。//得到一步走法 if(qizi[][] == 8){//電腦吃了您的將 status = 2。//切換游戲狀態(tài)為失敗 } if(){//需要播放聲音時 ()。//播放下棋聲音 } qizi[][] = qizi[][]。//移動棋子 qizi[][] = 0。 caiPan = true。//恢復(fù)玩家響應(yīng) } } }//end 之前選中過棋子 } }//end 點(diǎn)擊的 位置在棋盤內(nèi)時 }//end 游戲中時 } return (event)。 } public int[] getPos(MotionEvent e){//將坐標(biāo)換算成數(shù)組的維數(shù) int[] pos = new int[2]。 double x = ()。//得到點(diǎn)擊位置的 x 坐標(biāo) double y = ()。//得到點(diǎn)擊位置的 y 坐標(biāo) if(x10 amp。amp。 y10 amp。amp。 x10+() amp。amp。 y10+()){//點(diǎn)擊的是棋盤時 pos[0] = ((float)((y21)/36))。//取得所在的行 pos[1] = ((float)((x21)/35))。//取得所在的列 } else{//點(diǎn)擊的位置不是棋盤時 pos[0] = 1。//將位置設(shè)為不可用 pos[1] = 1。 } return pos。//將坐標(biāo)數(shù)組返回 } public void success(){//勝利了 status = 1。//切換到勝利狀態(tài) } public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { } public void surfaceCreated(SurfaceHolder holder) {//重寫的 (true)。 ()。//啟 動刷幀線程 (true)。 ()。//啟動思考時間的線程 } public void surfaceDestroyed(SurfaceHolder holder) {//view 被釋放時調(diào)用的 boolean retry = true。 (false)。//停止刷幀線程 (false)。//停 止思考時間線程 while (retry) { try { ()。 ()。//等待線程結(jié)束 retry = false。//設(shè)置循環(huán)標(biāo)志位為 false } catch (InterruptedException e) {//不斷地循環(huán),直到等待的線程結(jié)束 } } } class TutorialThread extends Thread{//刷幀線程 private int span = 300。//睡眠的毫秒數(shù) private SurfaceHolder surfaceHolder。//SurfaceHolder 的引用 private Game gameView。//gameView 的引用 private boolean flag = false。//循環(huán)標(biāo)志位 public TutorialThread(SurfaceHolder surfaceHolder, Game gameView) {//構(gòu)造器 = surfaceHolder。//得到 SurfaceHolder 引用 = gameView。//得到 GameView 的引用 } public void setFlag(boolean flag) {//設(shè)置循環(huán)標(biāo)記 = flag。 } public void run() {//重寫的方法 Canvas c。//畫布 while () {//循環(huán)繪制 c = null。 try { c = (null)。 synchronized () { (c)。//調(diào)用繪制方法 } } finally {//用 finally 保證下面代碼一定被執(zhí)行 if (c != null) { //更新屏幕顯示內(nèi)容 (c)。 } } try{ (span)。//睡眠 span 毫秒 }catch(Exception e){//不會異常信息 ()。//打印異常堆棧信息 } } } } } public class Move { int ChessID。//表明是什么棋子 int fromX。//起始的坐標(biāo) int fromY。 int toX。//目的地的坐標(biāo) int toY。 int score。//值 ,估值時會用到 public Move(int ChessID, int fromX,int fromY,int toX,int toY,int score){//構(gòu)造器 = ChessID。//棋子的類型 = fromX。//棋子的起始坐標(biāo) = fromY。 = toX。//棋子的目標(biāo)點(diǎn) x坐標(biāo) = toY。//棋子的目標(biāo)點(diǎn) y坐標(biāo) = score。 } } public class TimeThread extends Thread{ private boolean flag = true。//循環(huán)標(biāo)志 Game gameView。 public TimeThread(Game gameView){//構(gòu)造器 = gameView。//得到 GameView 引用 } public void setFlag(boolean flag){//設(shè)置循環(huán)標(biāo)記位 = flag。 } @Override public void run(){//重寫的 run 方法 while(flag){//循環(huán) if( == false){//當(dāng)前為黑方走棋、思考 ++。//黑方時間自加 } else if( == true){//當(dāng)前為紅方走棋、思考 ++。//紅方時間自加 } try{ (1000)。//睡眠一秒種 } catch(Exception e){//捕獲異常 ()。//打印異常信息 } } } } public class GuiZe { boolean isRedGo = false。//是不是紅方走棋 public boolean canMove(int[][] qizi, int fromY, int fromX, int toY, int toX){ int i = 0。 int j = 0。 int moveChessID。//起始位置是什么棋子 int targetID。//目的地是什么棋子或空地 if(toX0){//當(dāng)左邊出界時 return false。 } if(toX8){//當(dāng)右邊出界時 return false。 } if(toY0){//當(dāng)上邊出界時 return false。 } if(toY9){//當(dāng)下邊出界時 return false。 } if(fromX==toX amp。amp。 fromY==toY){//目的地與出發(fā)點(diǎn)相同, return false。 } moveChessID = qizi[fromY][fromX]。//得到起始棋子 targetID = qizi[toY][toX]。//得帶終點(diǎn)棋子 if(isSameSide(moveChessID,targetID)){//如果是同一陣營的 return false。 } switch(moveChessID){ case 1://黑帥 if(toY2||toX3||toX5){//出了九宮格 return false。 } if(((fromYtoY)+(toXfromX))1){// 只能走一步 return false。 } break。 case 5://黑士 if(toY2||toX3||toX5){//出了九宮格 return false。 } if((fromYtoY) != 1 || (toXfromX) != 1){//走斜線 return false。 } break。 case 6://黑象 if(toY4){//不能過河 return false。 } if((fromXtoX) != 2 || (fromYtoY) != 2){//相走
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1