N 값이있는 테이블을 무작위로 채울 수있는 사람이 있습니까? 값이 1, ..., M이면 중복을 허용하지 않습니까?randoming a table 코로나 SDK/루아
건배. 이 당신을 도울 수
N 값이있는 테이블을 무작위로 채울 수있는 사람이 있습니까? 값이 1, ..., M이면 중복을 허용하지 않습니까?randoming a table 코로나 SDK/루아
건배. 이 당신을 도울 수
local M, N, tNonFinal, tFinal = 500, 20, {}, {}
math.randomseed(os.time())
for i = 1, N, 1 do
local iRandom = math.random(1, M)
while tNonFinal[iRandom] do
iRandom = math.random(1, M)
end
table.insert(tNonFinal, iRandom, true)
tFinal[i] = iRandom
end
당신의 필수 테이블을 코딩하십시오. 조건을 추가 할 수도 있습니다. if M < N then N = M end
정말 고마워! – Eyeball
...
local myArray = {}
local valueArray = {1,2,3,4,5,6,7,8,9,10} -- let it be the array with values 1,2...M
local index = 0
local isFetched = {}
for i=1,#valueArray do
isFetched[i] = 0
end
local randomValue = 0
local function addTomyArray()
randomValue = math.random(#valueArray)
if(isFetched[randomValue]==0)then
index = index + 1
isFetched[randomValue] = 1
myArray[index] = valueArray[randomValue]
if(index==#valueArray)then
for i=1,#myArray do
print(myArray[i]) -- result : shuffled array
end
end
else
addTomyArray()
end
end
timer.performWithDelay(0,addTomyArray,#valueArray) -- #valueArray
는
tFinal
될 것입니다 ........
도움 주셔서 감사합니다. 내가 일하도록 해 = D – Eyeball
그런 다음 질문에 대한 대답은 "예, 그렇게 할 수있는 방법이 있습니다." [faq # dontask] (http://stackoverflow.com/faq#dontask)를 확인하십시오. – hjpotter92
Ive이 (가) 내 질문을 편집했습니다. – Eyeball
관련 항목 : http://stackoverflow.com/q/158716 – finnw