我正在尝试为课堂制作一个快速的井字游戏,但我为 X 和 O 创建的两个字符遇到了问题。我们必须用于分配的一些代码,所以我不能只有一个标准数组. 每次我将它们放入 char*[] 时,它们都会显示在它们之后创建的任何字符。
以下是我正在使用的部分代码。
char *spots[] = {"1","2","3","4","5","6","7","8","9"};
char player1 = 'X';
char player2 = 'O';
要打印板子的第一行,我们需要使用下面的类:
cout << spots[0] << " | " << spots[1] << " | " << spots[2] << endl;
打印 1 | 2 | 3
下面是我如何将值分配给数组:
spots[1]= &player1;
所以如果我在棋盘上为 player1 选择 2,它会打印:
1 | XO | 3
然后我为 player2 选择 3:
1 | XO | ○
如果我添加第三个字符:
char player1 = 'X';
char player2 = 'O';
char test = 'T';
然后它会打印以下内容:
1 | XOT | 3
1 | XOT | 旧约
我觉得这与字符位置有关,但我无法修复它。