我是另一个使用 devkit pro 为 nds 编写 c++ 的新手,令人惊讶的是,我在网上找不到任何关于此的内容。如何编写如下的 or 语句:
if ((keys & KEY_L && LR==true) or (keys & KEY_X && LR==false))
{
...
}
如果您想说“如果按下 L 键...”,您将使用“if (keys & KEY_L)...”
那么我怎么说“如果 LR 为真,按下 L 键,或者如果 LR 为假,按下 X 键”
我是另一个使用 devkit pro 为 nds 编写 c++ 的新手,令人惊讶的是,我在网上找不到任何关于此的内容。如何编写如下的 or 语句:
if ((keys & KEY_L && LR==true) or (keys & KEY_X && LR==false))
{
...
}
如果您想说“如果按下 L 键...”,您将使用“if (keys & KEY_L)...”
那么我怎么说“如果 LR 为真,按下 L 键,或者如果 LR 为假,按下 X 键”
LR == true
(注意双等号,否则你写的是赋值而不是比较!)是不必要的:只需使用LR
. 同样,使用!LR
代替LR == false
. 此外,添加几个括号也不会受到伤害:
if (((keys & KEY_L) && LR) || ((keys & KEY_X) && !LR))
{
...
}
你很近。出于某种奇怪的原因,&&
and||
运算符的优先级高于 | 和&
,所以你需要一些额外的括号:
你需要使用 == 来检查是否相等。
改变这个:
if ((keys & KEY_L && LR=true) or (keys & KEY_X && LR=false))
对此:
if (((keys & KEY_L) && LR==true) or ((keys & KEY_X) && LR==false))
几乎就像您所做的那样,仅==
用于相等比较:
if ((keys & KEY_L && LR==true) || (keys & KEY_X && LR==false))
{
...
}
虽然or
会起作用,但它只是||
. 此外,您可以更改LR==false
为 just !LR
。
&
学习和之间的区别&&
。==
学习和之间的区别=
。if
工作。 和...if(val == true)
一样if(val)