我不知道爲什麼,但這似乎不起作用。php比較2個合作社
基本上,我想這是真的,如果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
任何想法,我做錯了一平方內?
我不知道爲什麼,但這似乎不起作用。php比較2個合作社
基本上,我想這是真的,如果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
任何想法,我做錯了一平方內?
如果你用一些測試值替換,你可能會得到:
if((3 > 5 or 3 < 9) && (13 > 15 or 13 < 19))
顯然,這是總是如此。
在這種情況下,您應該使用&&
而不是or
。
IM這樣的針鋒相對,謝謝 – user1022585 2012-04-07 01:19:41
這只是將or
替換爲and
的情況。這裏寫的更合適的方法,如果你的獎勵積分聲明:
if(abs($playerX - $rs[x]) < 2 && abs($playerY - $rs[y]) < 2) {
// code
你的條件對真正結束,由於OR操作
if (($rs[x] > $playerX-2 && $rs[x] < $playerX+2) && ($rs[y] > $playerY-2 && $rs[y] < $playerY+2)) {
//your code
}
取代或和 – hakre 2012-04-07 01:16:44