Anuncios Google

El ahogado [Error]

Hola, pues tengo unos errores en un jueg que estoy creando, pero primero dejo el código:

--Agua--
if current ~= 4 and pad:cross() and oldpad:cross() ~= pad:cross() then
errores = errores + 1
elseif current ~= 5 and pad:cross() and oldpad:cross() ~= pad:cross() then
errores = errores + 1
elseif current ~= 9 and pad:cross() and oldpad:cross() ~= pad:cross() then
errores = errores + 1
elseif current ~= 16 and pad:cross() and oldpad:cross() ~= pad:cross() then
errores = errores + 1
elseif current ~= 19 and pad:cross() and oldpad:cross() ~= pad:cross() then
errores = errores + 1
elseif current ~= 21 and pad:cross() and oldpad:cross() ~= pad:cross() then
errores = errores + 1
end
 
--Imprimiendo agua--
 
if errores == 1 then
screen:blit(57,243,liquido)
elseif errores == 2 then
screen:blit(57,233,liquido)
screen:blit(57,243,liquido)
elseif errores == 3 then
screen:blit(57,223,liquido)
screen:blit(57,233,liquido)
screen:blit(57,243,liquido)
elseif errores == 4 then
screen:blit(57,213,liquido)
screen:blit(57,223,liquido)
screen:blit(57,233,liquido)
screen:blit(57,243,liquido)
elseif errores == 5 then
screen:blit(57,203,liquido)
screen:blit(57,213,liquido)
screen:blit(57,223,liquido)
screen:blit(57,233,liquido)
screen:blit(57,243,liquido)
elseif errores == 6 then
screen:blit(57,193,liquido)
screen:blit(57,203,liquido)
screen:blit(57,213,liquido)
screen:blit(57,223,liquido)
screen:blit(57,233,liquido)
screen:blit(57,243,liquido)
elseif errores == 7 then
screen:blit(57,183,liquido)
screen:blit(57,193,liquido)
screen:blit(57,203,liquido)
screen:blit(57,213,liquido)
screen:blit(57,223,liquido)
screen:blit(57,233,liquido)
screen:blit(57,243,liquido)
elseif errores == 8 then
screen:blit(57,173,liquido)
screen:blit(57,183,liquido)
screen:blit(57,193,liquido)
screen:blit(57,203,liquido)
screen:blit(57,213,liquido)
screen:blit(57,223,liquido)
screen:blit(57,233,liquido)
screen:blit(57,243,liquido)
elseif errores == 9 then
screen:blit(57,163,liquido)
screen:blit(57,173,liquido)
screen:blit(57,183,liquido)
screen:blit(57,193,liquido)
screen:blit(57,203,liquido)
screen:blit(57,213,liquido)
screen:blit(57,223,liquido)
screen:blit(57,233,liquido)
screen:blit(57,243,liquido)
elseif errores == 10 then
screen:blit(57,153,liquido)
screen:blit(57,163,liquido)
screen:blit(57,173,liquido)
screen:blit(57,183,liquido)
screen:blit(57,193,liquido)
screen:blit(57,203,liquido)
screen:blit(57,213,liquido)
screen:blit(57,223,liquido)
screen:blit(57,233,liquido)
screen:blit(57,243,liquido)
elseif errores == 11 then
screen:blit(57,143,liquido)
screen:blit(57,153,liquido)
screen:blit(57,163,liquido)
screen:blit(57,173,liquido)
screen:blit(57,183,liquido)
screen:blit(57,193,liquido)
screen:blit(57,203,liquido)
screen:blit(57,213,liquido)
screen:blit(57,223,liquido)
screen:blit(57,233,liquido)
screen:blit(57,243,liquido)
elseif errores == 12 then
screen:blit(57,133,liquido)
screen:blit(57,143,liquido)
screen:blit(57,153,liquido)
screen:blit(57,163,liquido)
screen:blit(57,173,liquido)
screen:blit(57,183,liquido)
screen:blit(57,193,liquido)
screen:blit(57,203,liquido)
screen:blit(57,213,liquido)
screen:blit(57,223,liquido)
screen:blit(57,233,liquido)
screen:blit(57,243,liquido)
end

Según el código dice, si current ~= 4 ó 5 ó 9 ó 16 ó 19 ó 21 le sume a errores 1, pero el probema es que:

Aún estando en cualquiera de los numeros anteriores le suma y esto no debería de pasar, ¿cómo puedo solucionar esto?

Gracias.

sAlud0s!


Tutorial: Fabricando nuestro propio micrófono para la PSP.

Exclusivo de PSP.Scenebeta.com


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 Arkanist

Por cierto.

Dado que últimamente pspgorrister ha comentado lo de los vectores, me he interesado, y aunque aún no he encontrado ningún tutorial, estoy inverstigando y creo que tu función del agua se podría resumir así.

function imprimir_agua()
for a = 1,9 do
for b = 243,243-(10*a),10 do
if errores == a then
screen:blit(57,b,liquido)
end
end
end
end

No estoy seguro de que vaya bien, pero haber si almenos alguien que entienda me lo corrige, o si lo puedes probar y confirmarme que funciona, pues no estoy acostumbrado a usar vectores.

Saludos.

Imagen de Arkanist

Haber.

Aqui la condicion esta mal hecha

--Agua--
if current ~= 4 and pad:cross() and oldpad:cross() ~= pad:cross() then
errores = errores + 1
elseif current ~= 5 and pad:cross() and oldpad:cross() ~= pad:cross() then
errores = errores + 1

Si tu número es 5, primero pasa por la primera condicion:

if current ~= 4 and pad:cross() and oldpad:cross() ~= pad:cross() then
errores = errores + 1

Y al ver que no es 4, le añade un error.

Saludos.

Imagen de el__QAT

Y como

Y ¿Cómo quedaría?

Imagen de Arkanist

Pues...

Hombre tio, trabaja un poco xd.

if pad:cross() and oldpad:cross() ~= pad:cross() then
if current ~= 4 and current ~= 5 and current ~= 9 and current ~= 16 and current ~= 19 and current ~= 21 then
errores = errores +1
end 
end

Esta es la forma mas rapida que se me ha ocurrido.

Supongo que funcionará

Imagen de el__QAT

Gracias...

Me va perfecto!

+ 30 scenebitos ;-)

sAlud0s!

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.