我不知道为什么,但这似乎不起作用。
基本上,如果player1 ($playerX, $playerY)
位于距离player2 ($rs[x], $rs[y])
if (($rs[x] > $playerX-2 or $rs[x] < $playerX+2) && ($rs[y] > $playerY-2 or $rs[y] < $playerY+2)) {
// code
知道我做错了吗?
答案 0 :(得分:0)
如果替换为某些测试值,则可能会得到:
if( (3 > 5 or 3 < 9) && (13 > 15 or 13 < 19))
显然,这总是如此。
在这种情况下,您应该使用&&
代替or
。
答案 1 :(得分:0)
只是将or
替换为and
。这是编写奖励积分的if语句的一种更简洁的方式:
if(abs($playerX - $rs[x]) < 2 && abs($playerY - $rs[y]) < 2) {
// code
答案 2 :(得分:0)
由于OR运算符
,您的条件最终为trueif (($rs[x] > $playerX-2 && $rs[x] < $playerX+2) && ($rs[y] > $playerY-2 && $rs[y] < $playerY+2)) {
//your code
}