个别布尔值返回true,但检查两者是否为true时返回false

时间:2013-04-16 00:03:26

标签: c# boolean unity3d

所以我有两个布尔值:Player1FinishPlayer2Finish。当玩家专门进入某一点时,他们都转向true。代码中的所有内容都正常工作,如果布尔值为了测试目的而返回true,我测试了它并打印了某些内容:

if(Player1Finish == true){
    print("One");
}
if(Player2Finish == true){
    print("Two");
}
if(Player2Finish && Player1Finish){
    print("Both");
}

但这些是我得到的结果:我的控制台正在打印"One""Two"但不打印"Both"。我很困惑;我搞砸了什么?我找不到任何可以回答这个问题的基本布尔问题,所以如果有答案的话,如果你指出我正确的方向,我会非常乐意阅读它。

除了这个小循环之外,代码中没有别的东西是错误的,而且这是唯一让我无法完成的东西。

2 个答案:

答案 0 :(得分:-1)

从我们在您的代码段中看到的内容,您应该获得“One”,“Two”和“Both”的输出。既然你不是,那么我们唯一可以得出的结论是,该片段之外的东西正在影响它。

如果您在代码段之前直接添加这些代码行,那么您是否获得了所有三个输出?

Player1Finish = true;
Player2Finish = true;

答案 1 :(得分:-2)

以下内容应该有效。

        if (Player1Finish == true && Player2Finish == true) {
            Console.Write("Both");
        } else if (Player1Finish == true) {
            Console.Write("One");
        } else {
            Console.Write("Two");
        }