【发布时间】:2020-04-28 16:28:58
【问题描述】:
Okie dokie,这是我第一次在这里发帖,如果我的格式不是很好,请原谅我。 我目前正在上我的第二个 C++ 课程,我们的任务是使用一维数组创建一个井字游戏。我们的教授希望它的方式要求数组使用字符而不仅仅是整数。 我有我的游戏代码,但我希望能够在有人获胜或平局后玩新游戏。为了做到这一点,我需要摆脱现在存储在我的数组中的 X 和 O。 我的麻烦是试图创建一个循环来适当地重新分配字符值。
我对数组的概念完全陌生,至少可以说我的理解仍然很脆弱。如果我只是完全错过了可以简化这一点的东西,请帮帮我! 目前它只是打印出随机的 ascii 字符,因为它不知道这些数字应该被解释为字符。有任何想法吗? :)
更新:我找到了一种重新分配值的蛮力方法,但看起来必须有更好的方法。
// This is the initial board setup
char theBoard[SIZE] = {'0', '1', '2', '3', '4', '5', '6', '7', '8'};
// It is re-assigned values of 'X's and 'O's throughout the game
// By the end it looks more like : {X, O, X, O, O, X, X, X} if you can imagine
// My brute force method looks like this:
void initializeBoard(char theBoard[], int SIZE)
{
theBoard[0] = '0';
theBoard[1] = '1';
theBoard[2] = '2';
theBoard[3] = '3';
theBoard[4] = '4';
theBoard[5] = '5';
theBoard[6] = '6';
theBoard[7] = '7';
theBoard[8] = '8';
}
// And the for loop I was trying to use looked like this:
void initializeBoard(char theBoard[], int SIZE)
{
for(int i = 0; i < SIZE; i++)
{
theBoard[i] = i;
}
}
【问题讨论】:
-
如果你将你的问题描述为“试图创建一个循环来适当地重新分配字符值”,那么你为什么要用一个大程序来填充你的问题,其中 99% 没有任何东西与有问题的循环有关?这个问题的问题不是“格式不好”,而是它不符合minimal reproducible example 的“最低”要求。
-
嗨,Sam,我刚收到一封来自 Stack Overflow 的电子邮件,其中包含他们的发帖建议。我很快意识到我在这里放了太多代码。我刚刚更新了它,所以希望这更直接和最小。 :)