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

正文內(nèi)容

java五子棋設(shè)計(jì)畢業(yè)論文(已改無錯(cuò)字)

2022-07-26 08:09:47 本頁面
  

【正文】 ()。 }else{ pchuiqi()。 } } })。 jit[1][2].addActionListener(new ActionListener() { //背景顏色 public void actionPerformed(ActionEvent e) { Color cc=(frame,棋盤背景顏色, new Color(226,189,0))。 if(cc!=null){ c=cc。 (c)。 } } })。 } // 監(jiān)聽鼠標(biāo)事件,下棋以及判斷本盤是否結(jié)束,電腦是白方,玩家是黑方 public void addEventHandler(){ (new MouseAdapter(){ public void mousePressed(MouseEvent e) { if(!isEnd){ int x=(()5)/30。 int y=(()5)/30。 if(qipan[y+1][x+1]==0){ load(x+1,y+1)。 }else{ (此處已經(jīng)有棋子,請(qǐng)重新下子!)。 } } } })。 } //電腦下棋 public void pcLoad(){ qixing()。 int count = 0。 int hang = 0。 int lie = 0。 for(int i=0。i17。i++){ for(int j=0。j17。j++){ if(qixingPC[i][j]count){ count = qixingPC[i][j]。 hang = i+1。 lie = j+1。 } if(qixingPlayer[i][j]count){ count = qixingPlayer[i][j]。 hang = i+1。 lie = j+1。 } } } if(qipan[hang][lie]==0){ load(lie,hang)。 return。 } } //下棋子 public void load(int x,int y){ col=x。 row=y。 if(isBlack){ prow=row。 pcol=col。 qipan[row][col]=1。 isBlack = false。 }else{ qipan[row][col]=2。 isBlack = true。 } printqipan(row,col)。 if(panduan(row1,col1)){ if(isPC){ (本局結(jié)束,恭喜+(isBlack?電腦:玩家)+獲勝!)。 isEnd = true。 }else{ (本局結(jié)束,恭喜+(isBlack?黑:白)+方獲勝!)。 isEnd = true。 } }else{ if(isPC){ ((isBlack?電腦:玩家)+在(+ row+:+col+)處下子,+現(xiàn)在+(isBlack?玩家:電腦)+下子!)。 }else{ ((isBlack?白:黑)+方在(+ row+:+col+)處下子,+現(xiàn)在+(isBlack?黑:白)+下子!)。 } if(!isBlack){ if(isPC){ pcLoad()。 } } } } //刷新棋盤 public void printqipan(int n,int m){ panel=new DrawPanel(qipan,n,m)。 (c)。 (panel,Center)。 } //人人對(duì)弈悔棋 public void huiqi(){ if(isEnd){ (游戲已經(jīng)結(jié)束不能悔棋,請(qǐng)重新開局!)。 return。 } isBlack=!isBlack。 qipan[row][col]=0。 printqipan(row,col)。 ((isBlack?黑:白)+方悔棋,請(qǐng)重新下棋!)。 } //人機(jī)對(duì)弈悔棋 public void pchuiqi(){ if(isEnd){ (游戲已經(jīng)結(jié)束不能悔棋,請(qǐng)重新開局!)。 return。 } qipan[row][col]=0。 qipan[prow][pcol]=0。 printqipan(row,col)。 ((isBlack?玩家:電腦)+悔棋,請(qǐng)重新下棋!)。 } //算出雙方的棋形數(shù)組 public void qixing(){ for(int i=0。i17。i++){ for(int j=0。j17。j++){ if(qipan[i+1][j+1]==0){//說明此處沒有棋子 qixingPC[i][j] = heiheng(i,j,2)+heishu(i,j,2)+heizuoxie(i,j,2)+heiyouxie(i,j,2)。 qixingPlayer[i][j] = heiheng(i,j,1)+heishu(i,j,1)+heizuoxie(i,j,1)+heiyouxie(i,j,1)。 }else{ qixingPC[i][j] = 0。 qixingPlayer[i][j] = 0。 } } } } // 算出黑子橫方向的棋型數(shù)值 public int heiheng(int hang,int lie,int num){ int k = 0。//記錄空白處的個(gè)數(shù) int count = 1。//記錄可以形成幾連 int n = hang+1。//對(duì)應(yīng)棋盤的行 int m = lie+1。//對(duì)應(yīng)棋盤的列 boolean left = false。//判斷左邊是否有黑子 boolean liveLeft = false。//判斷左邊是活還是死 boolean liveRight = false。//判斷右邊是活還是死 while((qipan[n][m1]!=1)amp。amp。(qipan[n][m1]==num||qipan[n][m1]==0)){ if(qipan[n][m1]==0amp。amp。k1){//第一個(gè)空白 if(qipan[n][m2]!=num){ liveLeft = true。 break。 } k++。 m。 }else if(qipan[n][m1]==num){//黑子 left = true。 m。 }else{//第二個(gè)空白 liveLeft = true。 break。 } } if(!left){ k = 0。 m = lie+1。 } while((qipan[n][m+1]!=1)amp。amp。(qipan[n][m+1]==num||qipan[n][m+1]==0)){ int t = qipan[n][m+1]。 if(m==lie){ count++。 m++。 continue。 } if(t==0amp。amp。k1){//第一個(gè)空白 if(qipan[n][m+2]!=num){ liveRight = true。 break。 } k++。 m++。 }else if(t==0amp。amp。k0){//第二個(gè)空白 liveRight = true。 break。 }else{//黑子 m++。 count++。 } } return jieguo(liveLeft,liveRight,count,k,num)。 } // 算出黑子豎方向的棋型數(shù)值 public int heishu(int hang,int lie,int num){ int k = 0。//記錄空白處的個(gè)數(shù) int count = 1。//記錄可以形成幾連 int n = hang+1。//對(duì)應(yīng)棋盤的行 int m = lie+1。//對(duì)應(yīng)棋盤的列 boolean top = false。//判斷上邊是否有黑子 boolean liveLeft = false。 boolean liveRight = false。 while((qipan[n1][m]!=1)amp。amp。(qipan[n1][m]==num||qipan[n1][m]==0)){ if(qipan[n1][m]==0amp。amp。k1){//第一個(gè)空白 if(qipan[n2][m]!=num){ liveLeft = true。 break。 } k++。 n。 }else if(qipan[n1][m]==num){//黑子 top = true。 n。 }else{//第二個(gè)空白 liveLeft = true。 break。 } } if(!top){ k = 0。 n = hang+1。 } while((qipan[n+1][m]!=1)amp。amp。(qipan[n+1][m]==num||qipan[n+1][m]==0)){ int t = qipan[n+1][m]。 if(n==hang){ count++。 n++。 continue。 } if(t==0amp。amp。k1){//第一個(gè)空白 if(qipan[n+2][m]!=num){ liveRight = true。 break。 } k++。 n++。 }else if(t==0amp。amp。k0){//第二個(gè)空白 liveRight = true。 break。 }else{//黑子 n++。 count++。 } } //return jieguo(k==0,count)。 return jieguo(liveLeft,liveRight,count,k,num)。 } // 算出黑子左斜方向的棋型數(shù)值 public int heizuoxie(int hang,int lie,int num){ int k = 0。//記錄空白處的個(gè)數(shù) int count = 1。//記錄可以形成幾連 int n = hang+1。//對(duì)應(yīng)棋盤的行 int m = lie+1。//對(duì)應(yīng)棋盤的列 boolean top = false。//判斷上邊是否有黑子 boolean liveLeft = false。 boole
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1