Anuncios Google

Problema

Buenas estoy haciendo un script que será un juego de azar y tengo un problema aquí el code:

 

mac = Adhoc.getMac()
nick = System.nickName()
mac = tostring(mac)
nick = tostring(nick)
Adhoc.init()
Adhoc.connect()
Adhoc.send("Noticia: "..nick.." se ha unido al chat")
Adhoc.send("Con Mac:"..mac)
green = Color.new(255,255,255)
negro = Color.new(0,0,0)
x = 0
limpiar = 0
fuente = Font.load("./Acens.ttf")
fuente:setPixelSizes(0,20)
 
oldpad = Controls.read()
while true do
 
pad = Controls.read() 
 
datos = Adhoc.recv()
 
dado = math.random(1,6)
dado2 = math.random(1,6)
suma = dado + dado2
dado = tonumber(dado)
dado2 = tonumber(dado2)
suma = tonumber(suma)
 
 
 
if datos ~= "" then
x = x + 20
   if tonumber(x) == 260 then
   x = 20
   limpiar = limpiar + 1
   screen:clear(negro)
   screen.flip()
   screen:fontPrint(fuente,10,x,datos,green) 
   screen.flip()
   screen.waitVblankStart()
   else 
   screen:fontPrint(fuente,10,x,datos,green)
   screen.flip()
   screen.waitVblankStart()
end
end
 
 
if pad:r() then
x = x + 20
osk = System.startOSK("","Introduce tu mensaje")
       if tonumber(x) == 260 then
       x = 20
       limpiar = limpiar + 1
       screen:clear(negro)
       screen.flip()
       screen:fontPrint(fuente,10,x,"Yo: "..osk,green)
       screen.flip() 
       screen.waitVblankStart()
       else
       screen:fontPrint(fuente,10,x,"Yo: "..osk,green)
       screen.flip()
       screen.waitVblankStart()
       end
Adhoc.send(nick..": "..osk)
end
 
 
if pad:cross() and not oldpad:cross() then
x = x + 20
Adhoc.send(nick.." ha tirado los dados y ha sacado "..suma)
   if tonumber(x) == 260 then
   x = 20
   limpiar = limpiar + 1
   screen:clear(negro)
   screen.flip()
   screen:fontPrint(fuente,10,x,"Has sacado "..suma.." tirando los dados",green) 
   screen.flip()
   screen.waitVblankStart()
   else 
   screen:fontPrint(fuente,10,x,"Has sacado "..suma.." tirando los dados",green)
   screen.flip()
   screen.waitVblankStart()
   end
end
if tonumber(limpiar) == 4 then
System.memclean()
end
end

 

el problema es que alpulsar x se repite un montón la acción de los dados y yo quiero que aunque deje pulsada la X solo la haga una vez,gracias.

 

PD:Es luaplayerhm7


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de NEKERAFA

Mmm...

Dejar que lo haga como quiera, cualquiera es libre de hacerlo en el lenguaje que le de la gana.

Veo que lo que quieres hacer es que si se pulsa X una vez haga tal cosa, ¿No? Para ello necesitas hacer la siguiente comprobación: if pad:cross() and oldpad:cross() ~= pad:cross() (4. Tablas (arrays)) y al final del bucle añadir oldpad = pad para que sea actualizado en cada vuelta.

También te digo que puedes eliminar el tostring y tonumber, ya que esos valores siempre serán números, y evita hacer tantos screen.flip(), ya que puede provocar una ralentización al tener que "cambiar" los bufferes varias veces en un mismo bucle. Creo que sería recomendable hacer al final del bucle.


NekeOS, el nuevo shell para PSP

PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.

Sony Xperia Z1 Compact con Android 5.1.1

Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).

Estaría mejor que usaras LuaDev...

Es mejor para esas cosas... no hay tanto lio, la verdad.

Un saludo.

Imagen de Dioni0396

Podrias hacer esto

condicion = false
function tal()
code
Condicion = nil
end
while
if Pulso X y la condicion = false entonces
tal()
end
if He soltado X y la condicion = nil entonces
Condicion = false
end
end

Si fuera luadev seria mas facil la verdad...

Imagen de carlossg

Ya está es que no estoy en

Ya está es que no estoy en mi  ordenador y este teclado es muy malo.

Imagen de Dioni0396

Repite

estre trozo:

el problenaes que alpulsar x se repite un montón laacción elos dadosy yo
quiero que aunque l edje pulsadasolo l haga una vez,gracias

pero bien escrito, que no me he enterado de nada

Imagen de manolitico

Lo intento traducir...

"El problema es que al pulsar el botón "X", se repite la elección hacia un monton de ladoy, y yo quiero, que aunque lo deje pulsado, solo lo haga una vez, gracias."

SI ESQUE NO SE ENTIENDE


Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.