hola, tengo 15 años y esta tarde he empezado un juego de naves aprovechando los tutoriales de beta para familiarizarme un poco con el lenguaje ya que nunca habia programado nada, os dejo aqui el codigo y os pido por favor que comenteis, ya sean sugerencias, criticas...
--juego naves
--colores
verde = Color.new(0,255,0)
blanco = Color.new(255,255,255)
--imagenes
fondo = Image.load("imagenes/fondo.png")
prota = Image.load("imagenes/nave.png")
malo = Image.load("imagenes/malo.png")
malo2 = Image.load("imagenes/malo2.png")
laser = Image.load("imagenes/laser.png")
humo = Image.load("imagenes/humo.png")
--variables
--menu
--posicion prota
x = 10
y = 120
--posicion malo
c = 410
d = 150
--posicion malo2
e = 500
f = 25
--laser
g = 600
h = 600
--fondo
fondox = 0
fondoy = 0
fondo2x = 490
fondo2y = 0
--vida prota
vida = 100
--vida malos
vidamalo1 = 400
vidamalo2 = 500
while true do
screen:clear()
pad = Controls.read()
screen:blit(fondox,fondoy,fondo)
screen:blit(fondo2x,fondo2y,fondo)
screen:blit(c,d,malo)
screen:print(15,15,"vida",verde)
screen:print(15,30,vida,blanco)
screen:blit(x,y,prota)
screen:blit(e,f,malo2)
--controles
if pad:left() then
x = x - 4
fondox = fondox + 10
end
if pad:right() then
x = x + 4
fondox = fondox - 10
end
if pad:up() then
y = y - 4
end
if pad:down() then
y = y + 4
end
if pad:r() then
screen:blit(x + g,y + h,laser)
g = 130
h = 40
end
if x <= c + 5 and x >= c - 5 and y <= d + 7 and y >= d - 75 then
vida = vida - 15
end
if c <= x + g + 460 and c >= x + g - 10 and d <= y + h + 7 and d >= y + h - 75 then
vidamalo1 = vidamalo1 - 1
end
if x <= e + 5 and x >= e - 5 and y <= f + 7 and y >= f - 75 then
vida = vida - 25
end
if e <= x + g + 460 and e >= x + g - 10 and f <= y + h + 7 and f >= y + h - 75 then
vidamalo2 = vidamalo2 - 1
end
if vidamalo1 <= 0 and vidamalo2 <= 0 then
screen:print(180,130,"has ganado",verde)
end
--movimiento malo
if c <= -200 then
c = c + 650
end
c = c - 6
if d == 147 then d = d + 3 else
d = d - 3
end
--movimiento malo 2
e = e - 10
if f == 20 then f = f + 5 else
f = f - 5
end
if e <= -200 then
e = e + 650
end
--movimiento fondo
fondox = fondox - 15
fondo2x = fondox + 472
if fondox <= -472 then
fondox = fondox + 472
end
--vida
if vida <= 0 then
screen:print(180,130,"has perdido",verde)
end
--vida malo1
if vidamalo1 <= 0 then
malo = fondo
c = c + 100
end
--vida malo2
if vidamalo2 <= 0 then
malo2 = fondo
e = e + 100
end
--bucle infinito
screen.flip()
screen.waitVblankStart()
end
pùes
pues que te puedo decir para ser tu primera vez esta muy bien...
una sugerencia .. podrias ordenar tu codigo en funciones
colocando asi solamente en el bucle funciones ....
SAYA...
Como te acaban de decir, pon
Como te acaban de decir, pon arrays(tablas) así
malo = {}
malo[1] = { x = tal, y = tal, vida tal....}
malo[2] = { x = tal............}
Espero explicarme. Luego para usarlas:
malo[2].x
Así el código sale más estructurado, al declarar menos variables más rapido y más ordenado.
Y cuentanos un poco más explicado para que sepamos un poco.
Cuando lo acabes avísame y te hago la noticia.
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
Me falto explicar como se
Me falto explicar como se hacian :P
Mi sugerencia es k a la hora
Mi sugerencia es k a la hora de declarar variables uses arrays, en vez de declararlas asi 1 por 1.