在编写井字棋游戏程序时,需要对游戏的棋盘进行初始化,并在其中放置棋子。可以使用多种方法来实现这一点,具体取决于个人的编程风格。
下面是一种可能的解决方案,其中包括创建一个名为“Board”的类和一个名为“Game”的类来管理游戏。
Board类:
public class Board {
private char[][] board;
public Board() { // 初始化棋盘
board = new char[3][3];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
board[i][j] = ' ';
}
}
}
public char getPiece(int x, int y) { // 获取对应位置上的棋子
return board[x][y];
}
public void setPiece(int x, int y, char piece) { // 在对应位置上放置棋子
board[x][y] = piece;
}
}
Game类:
import java.util.Scanner;
public class Game {
private Board board;
private char player;
private Scanner scanner;
public Game() { // 初始化游戏,设置默认值
board = new Board();
player = 'X';
scanner = new Scanner(System.in);
}
public void run() { // 开始游戏
boolean gameOver = false;
while (!gameOver) {
System.out.println(boardToString());
int[] coord = getCoord(player);
board.setPiece(coord[0], coord[1], player);
gameOver = checkGameOver();
if (!gameOver) {
player = switchPlayer(player);
}
}
System.out.println(boardToString());
System.out.println("Game over!");
}
private String boardToString() { // 转换棋盘为字符串
StringBuilder sb = new StringBuilder();
sb.append(" 0 1 2\n");