我正试图在一个简单的统一游戏中设置玩家轮流,但是我的玩家转弯布局(这是一个双人游戏)似乎根本没有改变。播放器转向布尔值对于稍后在我的统一脚本中的代码很重要,因此是依赖的,但无论我做出什么改变,它都会粘在一个值上。我已经搜索了一个答案但找不到适合我的上下文的答案,所以我将把问题转移到这里。
代码如下:
if (TurnP1 = true)
{
TurnP1 = false;
}
else
{
TurnP1 = true;
}
DropPiece(columnNumber, TurnP1);
TestForWinner();
TestForDraw();
非常感谢帮助。
答案 0 :(得分:4)
问题在于你实际上在做一项任务:
if (TurnP1 = true)
与以下内容相同:
TurnP1 = true;
if (TurnP1) {
TurnP1 = false;
} else {
TurnP1 = true;
}
此条件始终为true
您需要将此代码更改为
if (TurnP1 == true)
但是,所有这些代码行都可以用否定代替:
TurnP1 = !TurnP1;
DropPiece(columnNumber, TurnP1);
TestForWinner();
TestForDraw();
答案 1 :(得分:1)
TurnP1 = true
是作业,您需要if (TurnP1)
来检查TurnP1是否为真,或者只是
DropPiece(columnNumber, !TurnP1);
TestForWinner();
TestForDraw();