Kalpg
08-11-2011, 15:35
Ciao a tutti,
apro questo thread perchè sto cercando di scrivere un piccolo programma in lua che faccia le veci di un sacchetto con 6 bigliettini (numerati da 1 a 6) che faccia 6 estrazioni, mostrando di volta in volta il numero.
Ho compilato questo:
p={0,0,0,0,0,0}
local n
i=1
k=0
NUM=6
n=math.random(NUM)
p[i]=n
print(n)
for i=2,NUM,1 do
while k<1 do
n=math.random(NUM)
if (((((n~=p[1] and n~=p[2]) and n~=p[3]) and n~=p[4]) and n~=p[5]) and n~=p[6])then
p[i]=n
print(n)
k=1
else
end
end
end
Ho provato a farlo girare su http://codepad.org/ ma inspiegabilmente mi stampa solo 2 numeri (tra l'altro sempre 6 e 3 anche se lo eseguo più volte).. inizia a venirmi un dubbio: è il mio programma che fa schifo o è il simulatore? :D
Ad ogni modo, il problema dovrebbe essere su quel ciclo while, perchè lì dovrebbe stamparmi a video il numero solo se diverso da quelli presenti nel vettore iniziale. Pensavo quindi che ci fosse un problema di grammatica negli "and" dell'if... suggerimenti?
Grazie in anticipo, gentili come sempre :)
apro questo thread perchè sto cercando di scrivere un piccolo programma in lua che faccia le veci di un sacchetto con 6 bigliettini (numerati da 1 a 6) che faccia 6 estrazioni, mostrando di volta in volta il numero.
Ho compilato questo:
p={0,0,0,0,0,0}
local n
i=1
k=0
NUM=6
n=math.random(NUM)
p[i]=n
print(n)
for i=2,NUM,1 do
while k<1 do
n=math.random(NUM)
if (((((n~=p[1] and n~=p[2]) and n~=p[3]) and n~=p[4]) and n~=p[5]) and n~=p[6])then
p[i]=n
print(n)
k=1
else
end
end
end
Ho provato a farlo girare su http://codepad.org/ ma inspiegabilmente mi stampa solo 2 numeri (tra l'altro sempre 6 e 3 anche se lo eseguo più volte).. inizia a venirmi un dubbio: è il mio programma che fa schifo o è il simulatore? :D
Ad ogni modo, il problema dovrebbe essere su quel ciclo while, perchè lì dovrebbe stamparmi a video il numero solo se diverso da quelli presenti nel vettore iniziale. Pensavo quindi che ci fosse un problema di grammatica negli "and" dell'if... suggerimenti?
Grazie in anticipo, gentili come sempre :)