java五子棋的實現(1)

2021-08-30 15:38:37 字數 1470 閱讀 2029

基本介面的實現

建立主窗體,為其新增五子棋基本功能的按鈕:開始遊戲,悔棋,認輸,對戰方式,並繪製棋盤,因為棋盤和棋子的引數是恆定的,我們定義乙個介面

public inte***ce gobanginformation
然後讓整個五子棋程式的所有檔案實現該介面,接著繪製棋盤

private void drawtable(graphics g) 

else

} //繪製棋子,若該位置有棋子則返回false

public static int getindexy(int tempy)

else

} public static boolean drawonechess(graphics g,int indx,int indy,boolean flag)

else

g.filloval(x+(indx)*size-chess_size/2, y+(indy)*size-chess_size/2, chess_size, chess_size);

return true;

}return false;

}

悔棋功能的實現

1.根據棋子歷史修改現有棋盤chesstable上每乙個點上的棋子有無及顏色。

public void actionperformed(actionevent e) 

else

}//人機對戰的悔棋處理,每次悔兩步

if(gamestart==1&&gametype==1)

else

}} }

2.根據chesstable上的棋盤布局重繪棋盤

public void paint(graphics g)
3.具體的重繪方法

public static void drawchess(graphics g) 

else if(chesstable[i][k]==3)

else

}} }

輸贏判斷

判斷輸贏的方法是在每一次畫完棋子後,分別判斷橫,豎,左斜,右斜四條線上是否有相鄰的五顆棋子,若有,則輸出勝利訊號,結束遊戲。

對橫線的處理

private static boolean judgerow(int indx,int indy) 

else

} for(int i=indx+1;i=4)

return result;

}

結束遊戲的操作

if(flag) 

else

private void refresh()

Java實現五子棋

一定義常量類 public class constant二定義我們的棋盤類 public class chess private void playchess 錯誤輸入 if str.length 2 正常輸入的情況 判斷是否越界 if isoverstep str else end if 判斷是否...

下五子棋的bot 五子棋演算法

include include include include include include jsoncpp json.h c 編譯時預設包含此庫 define n 7 每個節點的分支數 以下為各棋型的識別碼 權重 define win 1 4000 define lose 2 4000 defi...

C 實現五子棋

自己寫了一下午,但是還是除錯的時候存在很多問題 繼續改善繼續調整 game.h define game h define row 5 define col 5 void displayboard char board row col int row,int col void gameplayer c...