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

正文內(nèi)容

基于android的五子棋游戲設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(已改無錯(cuò)字)

2023-07-24 15:41:28 本頁面
  

【正文】 //找到縱座標(biāo),也不在棋盤線外 isOutsideChessboard = false。 break。 } } //縱標(biāo)在棋盤線外 if(isOutsideChessboard){ return null。 } //橫座標(biāo)和縱座標(biāo)都不在棋盤線外 return p。 } 人人對(duì)戰(zhàn) 設(shè)置標(biāo)記whoRun 表示應(yīng)該輪到誰下棋,1為玩家1下,2為玩家2下,1表示玩家正在下 //默認(rèn)第一個(gè)玩家先行 private int whoRun = 1。 private void setPlayer1Run(){ whoRun = 1。 } //是否輪到人類玩家下子 private boolean isPlayer1Run(){ return whoRun==1。 } //是否輪到人類玩家下子 private boolean isPlayer2Run(){ return whoRun==2。 } private void setPlayer2Run(){ whoRun = 2。 } //正在下的過程中,主是因?yàn)殡娔X有較長(zhǎng)的計(jì)算時(shí)間,這期間一定不可以再響應(yīng)觸摸事件 private void setOnProcessing(){ whoRun = 1。 } //是否正在下某一步棋過程中,主是電腦下棋時(shí)需要較長(zhǎng)的計(jì)算時(shí)間,這期間一定不可以再響應(yīng)觸摸事件 private boolean isProcessing() { return whoRun == 1。 } 改寫onTouchEvent方法,監(jiān)聽觸摸事件,在觸摸處下棋子 //處理觸摸事件 public boolean onTouchEvent(MotionEvent event) { //只處理開局后的觸摸彈起事件 if(()!=){ return true。 } //是否正在處理一步棋的過程中 if(isProcessing()){ return true。 } //下一步棋 playerRun(event)。 return true。 } playerRun方法判斷輪到誰下棋子 private synchronized void playerRun(MotionEvent event){ if(isPlayer1Run()){//第一玩家下棋 player1Run(event)。 }else if(isPlayer2Run()){//第二玩家下棋 player2Run(event)。 } } 玩家一下棋的方法 private void player1Run(MotionEvent event){ //取得正確座標(biāo)的棋子 Point point = newPoint((), ())。 if(point==null){//在棋盤外 return 。 } if((point)){//此棋是否可下 //設(shè)置正在下棋子 setOnProcessing()。 ((),point)。 //刷新一下棋盤 refressCanvas()。 //判斷第一個(gè)玩家是否已經(jīng)贏了 if(!()){//我還沒有贏 if(player2==puter){//如果第二玩家是電腦 //10豪秒后才給玩家2下棋 (10)。 }else{ setPlayer2Run()。 } }else{ //否則,提示游戲結(jié)束 setMode(PLAYER_TWO_LOST)。 } } } 玩家二下棋的方法 private void player2Run(MotionEvent event){ Point point = newPoint((), ())。 if(point==null){ return 。 } if((point)){//此棋是否可下 setOnProcessing()。 ((),point)。 //刷新一下棋盤 refressCanvas()。 //判斷我是否贏了 if(!()){//我還沒有贏 setPlayer1Run()。 }else{ //否則,提示游戲結(jié)束 setMode(PLAYER_ONE_LOST)。 } } } 實(shí)現(xiàn)判斷輸贏的方法 private final Point temp = new Point(0, 0)。 //我是否是否贏了 public final boolean hasWin(){ if(()5){ return false。 } //只計(jì)算從最后一步棋子帶來的變化 Point point = (()1)。 int count = 1。 int x=(),y=()。 //橫向 (x).setY(y)。 while (((()1)) amp。amp。 ()=0 amp。amp。 count5) { count ++。 } if(count=5){ return true。 } (x).setY(y)。 while (((()+1)) amp。amp。 ()maxX amp。amp。 count5) { count ++。 } if(count=5){ return true。 } //縱向 count = 1。 (x).setY(y)。 while (((()1)) amp。amp。 ()=0) { count ++。 } if(count=5){ return true。 } (x).setY(y)。 while (((()+1)) amp。amp。 ()maxY amp。amp。 count5) { count ++。 } if(count=5){ return true。 } //正斜向 / count =1。 (x).setY(y)。 while (((()1).setY(()+1)) amp。amp。 ()=0 amp。amp。 ()maxY) { count ++。 } if(count=5){ return true。 } (x).setY(y)。 While(((()+1).setY(()1)) amp。amp。 ()maxX amp。amp。 ()=0 amp。amp。 count6) { count ++。 } if(count=5){ return true。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1