我试图在一个简单的统一游戏中设置玩家回合,但是我的玩家回合布尔值(这是一个两人游戏)似乎并没有改变。稍后,在我的统一脚本中,播放器转布尔的值对于代码很重要,因此是值得依赖的,但是无论我进行什么更改,它都会固定为一个值。我已经搜索了答案,但没有找到适合我的情况的答案,因此我将在此处转储我的问题。
代码如下:
if (TurnP1 = true)
{
TurnP1 = false;
}
else
{
TurnP1 = true;
}
DropPiece(columnNumber, TurnP1);
TestForWinner();
TestForDraw();
非常感谢您的帮助。
最佳答案
问题是您实际上在这里做一个作业:
if (TurnP1 = true)
它与:
TurnP1 = true;
if (TurnP1) {
TurnP1 = false;
} else {
TurnP1 = true;
}
此条件始终为
true
。您需要将此代码更改为
if (TurnP1 == true)
但是,所有这些代码行都可以用负数代替:
TurnP1 = !TurnP1;
DropPiece(columnNumber, TurnP1);
TestForWinner();
TestForDraw();