我正在尝试在一个简单的统一游戏中设置玩家回合,但是我的玩家回合 boolean 值(这是一个两人游戏)似乎根本没有改变。玩家转 boolean 值的值对于我的统一脚本中的代码很重要,因此是依赖的,但是无论我做出什么更改,它都坚持一个值。我已经搜索了答案,但没有找到适合我的上下文的答案,因此我将在这里转储我的问题。
代码如下:
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();
关于c# - boolean 值始终相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33643669/