我一直致力于一项需要我编写棋盘游戏代码的作业:Tic-Tac-Toe,Connect 4和Mastermind。我目前头痛的事实是,我可以制作一个名为Board的二维数组,其参数为(3,3)来定义tic tac toe 9 celled游戏板,但我不能制作一个名为Board的数组,其参数为(6,7)定义Connect 4板,甚至(5,8)为Mastermind。有一条规则我完全在看吗?
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6
at games.board.Board.<init>(Board.java:10)
at BoardGameTester.main(BoardGameTester.java:15)
Java Result: 1
main()的来源:http://pastebin.com/CA7Ecp8H Board.java的来源:http://pastebin.com/PjqHfap4
此外,我不是要求对项目的答案,我只是要求更多信息,说明为什么我无法制作非方阵。
答案 0 :(得分:0)
原来,给定的源代码有一个丑陋的错字。我的导师提供的正确代码:
public Board(int rows, int columns) {
cells = new Cell[rows][columns];
for( int r = 0; r < cells.length; r++) {
for( int c = 0; c < cells[r].length; c++) {
cells[r][c] = new Cell(r,c);
}
}
}