Как убрать номер из таблицы? - PullRequest
0 голосов
/ 04 мая 2018

Понятия не имею, почему это не работает. Я пытаюсь удалить числа в таблице по одному (randomCheck выбирает число из таблицы, и я хочу удалить это точное число), когда я нажимаю кнопку «MyButton»

math.randomseed(os.time())

_X = display.contentCenterX
_Y=display.contentCenterY

local numbers = {1,2,3,4,5,6,7,8,9,10}
local randomCheck =  numbers[ math.random( #numbers) ]
local text = display.newText(""..randomCheck.."",_X,_Y,"Helvetica",50)

function removeNumber()
    for i = 1, 10 do
        if(randomCheck == i ) then 
            table.remove(numbers,i) 
            text.text = (""..i.."") 
        end 
    end
end

myButton = display.newRect(_X,_Y+100,100,80 )
myButton:addEventListener("tap", removeNumber)

1 Ответ

0 голосов
/ 04 мая 2018

В вашем цикле, вместо

if(randomCheck == i)

использовать

if(randomCheck == numbers[i])

Но вся эта работа действительно не нужна.

Вместо

local randomCheck =  numbers[math.random( #numbers)]

использование

local randomIndex =  math.random(#numbers)
local randomCheck =  numbers[randomIndex]

Тогда вы можете просто

table.remove(numbers, randomIndex)
...