以下是一个简单的五子棋游戏的Java代码实现: ```java import java.util.Scanner; public class Gomoku { private static final int BOARD_SIZE = 15; private static final char EMPTY = '.'; private static final char PLAYER1 = 'X'; private static final char PLAYER2 = 'O'; public static void main(String[] args) { char[][] board = new char[BOARD_SIZE][BOARD_SIZE]; initBoard(board); printBoard(board); Scanner scanner = new Scanner(System.in); boolean player1Turn = true; while (true) { System.out.println("轮到玩家" + (player1Turn ? "1" : "2") + ",请输入行和列(用空格隔开):"); int row = scanner.nextInt(); int col = scanner.nextInt(); if (row < 0 || row >= BOARD_SIZE || col < 0 || col >= BOARD_SIZE || board[row][col] != EMPTY) { System.out.println("无效的输入,请重新输入。"); continue; } board[row][col] = player1Turn ? PLAYER1 : PLAYER2; printBoard(board); if (checkWin(board, row, col)) { System.out.println("玩家" + (player1Turn ? "1" : "2") + "获胜!"); break; } player1Turn = !player1Turn; } scanner.close(); } private static void initBoard(char[][] board) { for (int i = 0; i < BOARD_SIZE; i++) { for (int j = 0; j < BOARD_SIZE; j++) { board[i][j] = EMPTY; } } } private static void printBoard(char[][] board) { for (int i = 0; i < BOARD_SIZE; i++) { for (int j = 0; j < BOARD_SIZE; j++) { System.out.print(board[i][j] + " "); } System.out.println(); } } private static boolean checkWin(char[][] board, int row, int col) { char player = board[row][col]; int count; // 检查行 count = 0; for (int i = 0; i < BOARD_SIZE; i++) { if (board[row][i] == player) { count++; if (count == 5) return true; } else { count = 0; } } // 检查列 count = 0; for (int i = 0; i < BOARD_SIZE; i++) { if (board[i][col] == player) { count++; if (count == 5) return true; } else { count = 0; } } // 检查主对角线 count = 0; for (int i = row - Math.min(row, col), j = col - Math.min(row, col); i < BOARD_SIZE && j < BOARD_SIZE; i++, j++) { if (board[i][j] == player) { count++; if (count == 5) return true; } else { count = 0; } } // 检查副对角线 count = 0; for (int i = row - Math.min(row, BOARD_SIZE - col - 1), j = col + Math.min(row, BOARD_SIZE - col - 1); i < BOARD_SIZE && j >= 0; i++, j--) { if (board[i][j] == player) { count++; if (count == 5) return true; } else { count = 0; } } return false; } } ``` 这个代码实现了一个简单的五子棋游戏,玩家可以在控制台输入行和列坐标来下棋。游戏会检查每次下棋后是否有玩家获胜,如果有玩家连成五个棋子,则该玩家获胜。 [2024-07-15 17:52:57 | AI写代码神器 | 1090点数解答]