Anuncios Google

[NUEVO]Problema en mi HB en LUA[NUEVO]

Hola, estoy haciendo un Juego en LuaDEV y no se que hecho mal en este código

negro = color.new(0,0,0)
blanco = color.new(255,255,255)
MovAuto = 1
Jugador = { }
Jugador.C = image.load("Jugador.png")
Jugador.x = 32
Jugador.y = 32
Jugador.w = 32
Jugador.h = 64
Oponente = { }
Oponente.C = image.load("Oponente.png")
Oponente.x = 416
Oponente.y = 32
Oponente.w = 32
Oponente.h = 64
Bola = { }
Bola.C = image.create("pelota.jpg")
Bola.x = 64
Bola.y = 32
Bola.w = 32
Bola.h = 32
function MovJ()
if controls.down() then
Jugador.y = Jugador.y + 3
elseif controls.up() then
Jugador.y = Jugador.y - 3
end
if controls.down() then
Jugador.x = Jugador.x + 3
elseif controls.up() then
Jugador.x = Jugador.x - 3
end
if Jugador.x > 208 then
Jugador.x = 208
elseif Jugador.x < 0 then
Jugador.x = 0
end
if Jugador.y > 208 then
Jugador.y = 208
elseif Jugador.y < 0 then
Jugador.y = 0
end
image.blit(Jugador.x,Jugador.y,Jugador.C)
end
function MovO()
if MovAuto == 1 then
Oponente.y = Oponente.y + 3
elseif MovAuto == 2 then
Oponente.y = Oponente.y - 3
end
if Oponente.y > 208 then
MovAuto = 2
elseif Oponente.y < 0 then
MovAuto = 1
end
image.blit(Oponente.x,Oponente.y,Oponente.C)
end
function MovB()
Jugador.x + Jugador.w = Bola.x and
Jugador.x <= Bola.x + Bola.w and
Jugador.y + Jugador.h >= Bola.y and 
Jugador.y <= Bola.y + Bola.h and controls.press("cross") then
while true do
controls.read()
screen.clear(blanco)
MovJ()
MovO()
screen.flip()
end


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 barney77

Recomendación, este code: if

Recomendación, este code:

if controls.down() then
Jugador.y = Jugador.y + 3
elseif controls.up() then
Jugador.y = Jugador.y - 3
end
if controls.down() then
Jugador.x = Jugador.x + 3
elseif controls.up() then
Jugador.x = Jugador.x - 3
end
if Jugador.x > 208 then
Jugador.x = 208
elseif Jugador.x < 0 then
Jugador.x = 0
end
if Jugador.y > 208 then
Jugador.y = 208
elseif Jugador.y < 0 then
Jugador.y = 0
end
image.blit(Jugador.x,Jugador.y,Jugador.C)
end
function MovO()
if MovAuto == 1 then
Oponente.y = Oponente.y + 3
elseif MovAuto == 2 then
Oponente.y = Oponente.y - 3
end
if Oponente.y > 208 then
MovAuto = 2
elseif Oponente.y < 0 then
MovAuto = 1
end

Lo puedes hacer a una sola linea, muy larga pero funciona, un ejemplo:

if xxx then xxx elseif xxx then xxx elseif xxx then xxx end

Imagen de sting18

En vez de hacer esto Jugador

En vez de hacer esto

 

Jugador = { }Jugador.C = image.load("Jugador.png")
Jugador.x = 32 Jugador.y = 32 Jugador.w = 32 Jugador.h = 64

as esto.
Jugador={}jugador[1] = {C = image.load("Jugador.png"),x = 32,y = 32 , w = 32 ,h = 64}


y tambien no carges la imagen en tabla ya que cargaras demaciado la ram te recomiendo cargarla y despues darle definicion en la tabla.
imagen = image.load("imagen.pmg")
jugador={}jugador[1]={esprite=imagen,blablabla}

 


Imagen de moikop

Al margen de que ya lo haya solucionado...

No veo fundamento para tu solución...

Imagen de sting18

No es una solucion el ya lo

No es una solucion el ya lo soluciono (eso dijo abajo) es mas bien una recomendacion.

Imagen de moikop

Solución-recomendación...

Sea una solución o una recomendación, siguo sin ver qué mejoraría en el código...

Imagen de sting18

mejoraria en orden ya que si

mejoraria en orden ya que si implementa mas cosas otro jugador o enemigo solo tendria que poner una tabla mas y las coliciones y movimientos serian los mismos solo utilisando un for y poniendolo en las cosas como enemigo[for].


Imagen de moikop

Cuando tenés razón, tenés razón :P

No había pensado la posibilidad de que pueda llegar a implementar otros jugadores (ya que generalmente yo los implemento a la primera).  Mirándolo de esa manera, tenés razón.

Un saludo ;)


Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderas trucos para resolver tus dudas antes.

No preguntes por MP, mejor pregunta aquí.

Imagen de Dioni0396

lo empeoras

desde mi punto de vista, es empeorado

Imagen de -chus-

no lo creo

pues asi es como yo lo manejo asi como sting pone el ejemplo, para mi es mas organizado, entendible, que mas adelante sea mas facil para anñadir mas detalles XD


                                          Mis Homebrew´s

 http://psp.scenebeta.com/noticia/memorama-games#comment-803033


Imagen de Dioni0396

Bueno para gustos

colores.

Cada uno programa a su manera

Imagen de -chus-

asi es

cada quien tiene su forma para todo, has dicho lo correcto, como lo dije antes, no importa como este el codigo, con que funcione esta bien XD aun que hay que esforzarse para dar un hb de calidad :P


                                          Mis Homebrew´s

 http://psp.scenebeta.com/noticia/memorama-games#comment-803033


Imagen de pspgorrister

Cada uno programa a su manera...

Así está el nivel de scenebeta

Imagen de Dioni0396

No todos

sabemos naciendo, no todos somos expertos... parece que no te gusta que los novatos expongan sus dudas..... menos mal que yo nunca sere tú

Imagen de sting18

xD.

Hola dioni la verdad tu comentario se vio un poco agresivo xD espero y algun dia sea como el o mejor (ninguno de los coder hablamos de persona a persona sino de coder a coder por eso los comentarios a vecesl suenan asi).


Imagen de Dioni0396

-.-

Yo si  alguna vez hablara de coder a coder no hablare asi, te lo aseguro

Imagen de pspgorrister

Creo que no entendéis bien a

Creo que no entendéis bien a string18. Realmente su propuesta no optimiza nada (tampoco hace lo contrario), pero él hace una cosa que a mí me gusta prevenir mejoras futuras.

El dice que jugador sea un vector de jugadores, no un jugador en sí mismo, quizás el nombre "jugador" sea confuso, sería mejor llamarlo "jugadores", de esta forma implementar otro jugador no requiere modificar mucho el código, como el bien dice, un bucle for que recorra los jugadores es suficiente. no hace falta crear una nueva variable y duplicar todo el código.


LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.

LOL :O

Que Lua usas ? 

Imagen de lamanerostrum

Luadev,Pero ya esta

Luadev,Pero ya esta solucionado

Saludos!

Imagen de pspgorrister

Si has resuelto el problema,

Si has resuelto el problema, dinos cómo lo has hecho, esto podría servir a otros foreros que tuvieran una situación similar a la tuya.

Y para otra vez, en vez de decir "no se que he hecho mal" (y mostrarnos un código con el doble de saltos de linea), podrías decir que error te da, etc. Esto es en beneficio de todos, unos dan la solución y otros aprenden del error.

Un saludo.


LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.

La verdad es que no tengo ni

La verdad es que no tengo ni idea ya que no se como es exactamente LuaHM (tampoco se que versión usas).

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.