我制作了一个双人控制台tic tac toe程序,但是在玩游戏时显示的棋盘是空白单元格,除了侧面和底部表示法。我想在行和列之间打印行,但我不知道如何。这是涉及我的董事会的代码:
public void createBoard()
{
//This method creates the 3x3 board and fills the board with 0s
for (int row = 0; row < board.length; row++) {
if(row > 0) System.out.println("-+-+-");
for (int column = 0; column < board[0].length; column++) {
if(column > 0) System.out.println("|");
board[row][column] = 0;
}
}
}
public void displayBoard(){
//creates right amount of cells for 3 rows
for (int row=0; row < board.length; row++)
{
//spaces between row notation and board + prints row notation
System.out.print("\t" +(char)('a'+ row) + " ");
//creates right amount of cells for the 3 columns
for (int column=0; column < board.length; column++)
{
if(board[row][column]==BLANK){
System.out.print("\t");
}
else if(board[row][column]==X){
System.out.print("\tX");
}
else{
System.out.print("\tO");
}
}
//blanks on right side of board
System.out.println();
}
//spacing between columns
System.out.println("\t \t1 \t2 \t3");
checkTie();
}
答案 0 :(得分:0)
这取决于控制台的功能。几乎无处不在的最简单方法是使用两个字符|
(bar)和-
(减号)。您可能还想在交叉点使用+
(加号)。
某些终端具有特定的字符来绘制线条和框,但这意味着您的代码必须确定终端的类型,它的功能,有时还有字体。有一些图书馆可以帮助您(如ncurses)。 laterna是一个Java库,它试图为您提供类似的功能。
编辑:看看这个代码示例:
for (int row=0; row < board.length; row++)
{
if(row > 0) System.out.println("-+-+-");
for (int column=0; column < board.length; column++)
{
if(column > 0) System.out.println("|");
... print cell value ...
}
}