quisiera saber si hay alguna forma de que no se repitan tantas veses el mismo numero.
De antemano grasias.
rojo = Color.new(255,0,0)
dado1 = Image.load("dado1.png")
dado2 = Image.load("dado2.png")
dado3 = Image.load("dado3.png")
dado4 = Image.load("dado4.png")
dado5 = Image.load("dado5.png")
dado6 = Image.load("dado6.png")
while true do
screen:clear()
pad = Controls.read()
if pad:cross() and oldpad:cross() ~= pad:cross() then
dado()
end
function dado()
math.randomseed( os.time() )
aleatorio = math.random(1,6)
oldpad = Controls.read()
if aleatorio == 1 then
screen:print(0,0,"Ha salido el numero 1",rojo)
screen:blit(166,81,dado1)
screen.flip()
elseif aleatorio == 2 then
screen:print(0,0,"Ha salido el numero 2",rojo)
screen:blit(166,81,dado2)
screen.flip()
elseif aleatorio == 3 then
screen:print(0,0,"Ha salido el numero 3",rojo)
screen:blit(166,81,dado3)
screen:flip()
elseif aleatorio == 4 then
screen:print(0,0,"Ha salido el numero 4",rojo)
screen:blit(166,81,dado4)
screen.flip()
elseif aleatorio == 5 then
screen:print(0,0,"Ha salido el numero 5",rojo)
screen:blit(166,81,dado5)
screen.flip()
elseif aleatorio == 6 then
screen:print(0,0,"Ha salido el numero 6",rojo)
screen:blit(166,81,dado6)
screen.flip()
end
end
screen.waitVblankStart()
oldpad = pad
end
Saves tocar la guitarra, eres de las peresonas como yo que no deja la guitarra ni un dia, pues espera mi aplicacion pues te sera de mucha utilidada.
Trabajando en 3 proyectos aunque no alla tiempo jaja:
*Batalla Ninja v5 incluira muchas mejoras muy buenas esperenlo
*Un juego de Mesa con editor de mapas y manejamiento automatico de mapa
*Una aplicacion secreta util para los guitarristas
Team AntraX Miembro
Perdon, no me explique bien,
Perdon, no me explique bien, me refería a que los números aleatorios , siempre llevavan el mismo orden.
PE: Si cuando te metes te sale 1,6,4,6,6,2,3,4,3 ; luego te vuelven a salir cuando vuelves a iniciar los mismos números, pero esque se me cruzaron los cables :P
Saludos
¡Iníciate en Linux fácilmente! Sólo entra aquí y comprueba que distribución se adapta mejor a tí.
Mi review: iPod Touch 4G
Esto ya surgio en un foro
Esto ya surgio en un foro anterior , y trajo muchos problemas porque nadie sabia solucionarlo, hasta que no alcance el nivel y lo deje de ladoXD
Saludos.
PD: Si quieres verlo era algo del parchis
¡Iníciate en Linux fácilmente! Sólo entra aquí y comprueba que distribución se adapta mejor a tí.
Mi review: iPod Touch 4G
¿Pero nadie sabía
¿Pero nadie sabía solucionar el qué?, ¿Que no se repitieran números aletarios?.
Es que si son aleatorios PUEDEN repetirse. Es decir yo puedo tirar un dado 4 veces
y tirar 4 "seises" seguidos, y también lo puedo tirar 20 veces y no repetir una tirada
consecutiva, de ahí la "aleatoriedad".
Si no es eso, no acabo de comprender el problema.
LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.
Que se liaban con el randomseed
Lo que no sabían solucionar es que se repitiera siempre la misma secuencia.
O sea, que siempre le ponían la misma semilla (generalmente, ninguna), o se la repetían periódicamente, y ya sabes qué pasa.
Me suena que "alguien" dijo que miraran la referencia, y que no le hicieron mucho caso... :)
Strength is irrelevant. Resistance is future. We wish to improve ourselves.
La fuerza es irrelevante. La resistencia es futuro. Queremos mejorarnos.
Ahorrando código.
La solución de que el número no se te repita te lo han dicho mas abajo, de todas formas te voy a dar una indicación para que te ahorres tanto código, eso con un dado de 20 puede ser brutal. ;-)
NOTA: No conozco Lua, así que la sintaxis no puede ser correcta, pero al menos que quede claro "el concepto"
rojo = Color.new(255,0,0)
while true do
screen:clear()
pad = Controls.read()
if pad:cross() and oldpad:cross() ~= pad:cross() then
dado()
end
screen.waitVblankStart()
oldpad = pad
end
function dado()
math.randomseed( os.time() )
aleatorio = math.random(1,6)
oldpad = Controls.read() --¿¿necesario esto??
screen:print(0,0,"Ha salido el numero " + aleatorio,rojo)
dado_img = Image.load("dado" + aleatorio + ".png")
screen:blit(166,81,dado_img)
screen.flip()
end
NOTA: Me imagino que randomseed, inicializará la generación de números aleatorios a partir de un valor. Si es así, no hace falta que lo pongas en la función, ya que con se ejecute una vez al principio del programa es suficiente.
LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.
Aclarar...
Que para unir dos strings, se usa "..", se que no programas en Lua, pero lo aclaro para el usuario que abrió el post, por si se confundiera xd.
Saludos.
dejame intentarlo y grasias.
dejame intentarlo y grasias.
Pues
Con condiciones, un ejmplo:
Supongamos que ha salido el numero 6 y no quieres que se repita, tendrias que crear dos variable una que almacene el numero anterior y otra que almacene el numero actual, seria algo asi:
If prevnum == 6 and currentnum == 6 then
math.random(1,6)
end
La variable currentnum es la que contiene el numero actual y la variables prevnum es al que contiene el numero anterior al actual. Como sea, lo que s eha hecho ahi es comparar las dos variables, si el numero anterior al numero actual es el mismo, pues volvera a buscar otro numero hasta que sea diferente al numero anterior.
No es una forma fiable, pero algo es algo.
Un saludo y espero hayas entendido.
PD: Este es un ejemplo no funcional.
Manual del Perfecto Votante Para un voto libre y justo!.
TheGCProjects