黑白棋又稱 Othello。8×8 棋盤,雙方輪流下子。下子位置必須在八個方向(橫、豎、斜)上夾住對方棋子,被夾住的棋子翻轉顏色。無合法落子則跳過。棋盤滿或雙方無子可下時結束,子多者勝。
chess[8][8](1=黑、-1=白、0=空)、鼠標事件註冊、重新開始/切換先手按鈕落子後,向八個方向掃描:
代碼結構:
hengYou/hengZuo/hengShang/hengXia:四直線方向檢測xieyouS/xieyouX/xiezuoS/xiezuoX:四斜線方向檢測paintChess/paintChess1-4:直線/斜線翻子實現// 落子處理片段
if (Chess.chess[i][j] == 0) { // 空位
Chess.chess[i][j] = -stata; // 暫放當前玩家棋子
// 檢測八方向
if (allDirectionsInvalid()) {
Chess.chess[i][j] = 0; // 回滾
JOptionPane.showMessageDialog(null, "不能放子");
} else {
flipAllValidDirections(i, j); // 翻子
updateUI(); // 重繪、更新計數、切換玩家
checkWinOrDraw(); // 判斷勝負
}
}
te==2) → 遊戲結束源碼包含完整界面繪製(雙緩衝思路)、圖片資源加載、狀態管理。附件提供 image.zip(棋盤、棋子、按鈕圖標)。