如何在Java中创建任意大小的Tic-Tac趾板?
对于我的任务,我必须创建一个Tic-Tac-Toe游戏,其中棋盘大小不同。。。我知道如何创建一个3X3的板,但我不知道从哪里开始。我的指导老师希望我们在课堂上使用如何在Java中创建任意大小的Tic-Tac趾板?,java,tic-tac-toe,Java,Tic Tac Toe,对于我的任务,我必须创建一个Tic-Tac-Toe游戏,其中棋盘大小不同。。。我知道如何创建一个3X3的板,但我不知道从哪里开始。我的指导老师希望我们在课堂上使用 public TicTacToe(int edgesize) { } 所以,当我创建我的任意大小的板时,我应该从这个开始吗 public TicTacToe(int edgesize){ int [][] board = new int[edgesize] [edgesize] } 如果你这样做 public TicTacTo
public TicTacToe(int edgesize) {
}
所以,当我创建我的任意大小的板时,我应该从这个开始吗
public TicTacToe(int edgesize){
int [][] board = new int[edgesize] [edgesize]
}
如果你这样做
public TicTacToe(int edgesize){
int [][] board = new int[edgesize] [edgesize]
}
board
变量将是构造函数本身的局部变量。这意味着它在构造函数之外不可用
将board
设置为实例级变量,并使用构造函数为其实例化数组,以便TicTacToe
类中的所有实例方法都可以使用它:
public class TicTacToe {
private int[][] board;
public TicTacTo(int size) {
this.board = new int[size][size];
//initialize the board
}
//write methods to do stuffs with the board
您的board声明应该在构造函数之外,也就是说,它应该是一个实例变量,它应该是类的属性,这样您就可以使用getter/setter轻松地访问/操作它。您当前将其声明为局部变量,这是一种错误的方法
public class TicTacToe
{
int[][] board;
public TicTacToe(int edgesize)
{
this.board = new int[edgesize][edgesize];
}
//Getter and setter for your "board".
public int[][] getBoard()
{ return board; }
public void setBoard(int[][] board)
{ this.board = board; }
//Some other methods for iterating your "board" maybe, etc.
}
int[]board=newint[edgesize][edgesize]
您能编写一个标准的3x3 board类吗?有时,从特定的案例开始,然后返回并概括它是有帮助的。阅读变量范围和类成员。在您有要求之前,我不会添加setBoard()方法。此外,即使您可以从board.length获得它,我也会将edgesize存储在一个实例变量中。因为您稍后将需要它来执行循环、检查赢家等操作。@user949300您肯定是对的,我只是试图向OP展示全局范围在这种情况下的重要性。我不会称它为全局变量。@BheshGurung它是一个全局变量,但我想您的意思是“实例变量”更好。谢谢,请看我的编辑。