在Lua(Codea on ipad)中,我製作了一個程序,其中有四對XY座標,這些座標放在同一個ID(count = count + 1) 當我第一次使用一對測試代碼時,要檢測XY座標何時觸摸表格中的座標之一(座標已經存在)。 我這樣做是使用這段代碼:Lua表檢查是否有任何變量匹配任何值
if (math.abs(xposplayer - posx) < 10) and (math.abs(yposplayer - posy) < 10) and id < (count - 10) then
這段代碼在這個循環正在播放:
for id,posx in pairs(tableposx) do
posy = tableposy[id]
這個工作它就像我想!
但現在我已經與8桌(tableposx1 tableposy1,...) 我想檢查是否任何當前座標觸及任何表中的任何座標(永遠),所以我試過了:
for id,posx1 in pairs(tableposx1) do
posy1 = tableposy1[id]
posy2 = tableposy2[id]
posx2 = tableposx2[id]
posy3 = tableposy3[id]
posx3 = tableposx3[id]
posy4 = tableposy4[id]
posx4 = tableposx4[id]
這一點四倍(四個當前座標)
if ((math.abs(xposplayer1 - posx1) < 10) and (math.abs(yposplayer1 - posy1) < 10))
or ((math.abs(xposplayer1 - posx2) < 10) and (math.abs(yposplayer1 - posy2) < 10))
or ((math.abs(xposplayer1 - posx3) < 10) and (math.abs(yposplayer1 - posy3) < 10))
or ((math.abs(xposplayer1 - posx4) < 10) and (math.abs(yposplayer1 - posy4) < 10))
and (id < (count - 10))
但這總是(幾乎)爲真。並且因爲有時候表中的值是零,它會給我一個錯誤,說它不能比較某個零值。
在此先感謝,Laurent
你能給我一個這樣的循環和所謂的「無檢查」的例子嗎? – Laurent