public class XO {
private String name;
private static int turn = 1;
public XO(String name) {
if (2 % turn == 0) {
turn++;
name = "X";
}
else {
turn++;
name = "O";
}
}
//set method
public void setName(String name) {
this.name = name;
}
//public void setTurn(int turn){
//this.turn=0;
//}
//get method
public String getName() {
return name;
}
public int getTurn() {
return turn;
}
public boolean equals(XO obj) {
return name == obj.getName();
}
public String toString() {
return "You are " + name;
}
}
import java.util. * ;
public class TicTacToeBoard extends Board {
private int turnCnt;
private XO[][] board;
public TicTacToeBoard(int rows, int columns) {
super(rows, columns);
turnCnt = 0;
this.board = new XO[rows][columns];
}
//set method
public void setBoard(XO[][] board) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
board[i][j] = board.getName();
}
}
}
//get methods
public XO[][] getBoard() {
return board;
}
public int getTurnCnt() {
return turnCnt;
}
//print board
public void printBoard() {
for (int i = 0; i < board.length; i++) {
System.out.println("\n");
for (int j = 0; j < board[i].length; j++) {
System.out.print(board[i][j] + " ");
}
}
}
//add X or O
public boolean add(int r, int c) {
XO[][] j = new XO[r][c];
if (r > 2 && c > 2 || this.board.equals(j)) return false;
else
//setBoard(j);
return true;
}
//check win
public boolean win(XO a, XO b) {
//player 1 wins
if (board[0][0] == a && board[1][0] == a && board[2][0] == a) {
return true;
}
if (board[0][1] == a && board[1][1] == a && board[2][1] == a) {
return true;
}
if (board[0][2] == a && board[1][2] == a && board[2][2] == a) {
return true;
}
if (board[0][0] == a && board[0][1] == a && board[0][2] == a) {
return true;
}
if (board[1][0] == a && board[1][1] == a && board[1][2] == a) {
return true;
}
if (board[2][0] == a && board[2][1] == a && board[2][2] == a) {
return true;
}
if (board[0][0] == a && board[1][1] == a && board[2][2] == a) {
return true;
}
if (board[2][0] == a && board[1][1] == a && board[0][2] == a) {
return true;
}
//now player 2 wins
if (board[0][0] == b && board[1][0] == b && board[2][0] == b) {
return true;
}
if (board[0][1] == b && board[1][1] == b && board[2][1] == b) {
return true;
}
if (board[0][2] == b && board[1][2] == b && board[2][2] == b) {
return true;
}
if (board[0][0] == b && board[0][1] == b && board[0][2] == b) {
return true;
}
if (board[1][0] == b && board[1][1] == b && board[1][2] == b) {
return true;
}
if (board[2][0] == b && board[2][1] == b && board[2][2] == b) {
return true;
}
if (board[0][0] == b && board[1][1] == b && board[2][2] == b) {
return true;
}
if (board[2][0] == b && board[1][1] == b && board[0][2] == b) {
return true;
}
else return false;
}
public String toString() {
return board[0][0] + "\t" + board[1][0] + "\t" + board[2][0] + "\n" + board[0][1] + "\t" + board[1][1] + "\t" + board[1][2] + "\n" + board[0][2] + "\t" + board[1][2] + "\t" + board[2][2];
}
}
嗨,我正在做一个有关创造性的战术游戏在Java中的任务。这些是我的代码。该指南指出,XO类应该保存关于“X”或“O”对象的信息。将对象添加到二维数组
该类应该有两个属性:一个名称(它是一个字符串“X”或“O”)和一个静态int变量,它被设置为0或1(它应该被初始化为1)。您将使用此变量来确定在创建对象时要为其指定的名称(例如,如果它是1,请将名称设置为“X”)。
我不知道如何使用转向变量,我知道我应该将2个对象的X O传递给2d数组,但我对如何将对象传递到2d数组有点模糊。同时,我想先打印板就像一个空白的矩阵,但它始终是 [空空空, 空空空 空空空]
任何帮助将.Thanks很多感谢!
我不知道如何将x o对象添加到电路板。是这样的public boolean add(int r,int c){ \t \t XO [] [] player = new XO [r] [c]; \t \t if(r> 3 && c> 3) \t \t \t return false; \t \t else \t \t \t xo [r] [c] = player; \t \t \t // setBoard(j); \t \t \t turnCnt ++; \t \t \t return true; \t \t \t} – Ratata4