commit d22bb16dfbc3bc8f36560792200aa0e3a56722f7 Author: Raimon Zamora Date: Wed Mar 18 16:28:47 2026 +0100 - First commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f7362e9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +mini +mini_debug diff --git a/data/game.ini b/data/game.ini new file mode 100644 index 0000000..727ba9e --- /dev/null +++ b/data/game.ini @@ -0,0 +1,5 @@ +title=MiniPilotes +config=minipilotes +width=320 +height=240 +zoom=2 diff --git a/data/gfx.gif b/data/gfx.gif new file mode 100644 index 0000000..06d17bc Binary files /dev/null and b/data/gfx.gif differ diff --git a/data/main.lua b/data/main.lua new file mode 100644 index 0000000..4a003b4 --- /dev/null +++ b/data/main.lua @@ -0,0 +1,74 @@ +pilota = { + x=10, + y=10, + dx=1, + dy=1 +} + +abad = { + x=120, + frame = 1, + animation = {0,1,0,2}, + flip = false +} + +function mini.init() + -- Si no declarem una variable com a "local", per defecte es global + grafics = surf.load("gfx.gif") + surf.source(grafics) + + -- Esta de baix es local, mor quan eixim de la funció + local p = pal.load("gfx.gif") + pal.set(p) + -- Ai! aleshores petarà la paleta? No, "pal.set" agafa els valors de la paleta i els copia + -- a la paleta de sistema + -- Pero en el de dalt, la surface, tampoc haguera petat, perque el que torna surf.load en + -- realitat es un numeret. A surf.source li havem dit que use eixe numeret, no la variable + + -- Açò diu que, si cridem a sys.beat() sense paràmetres, nomes tornarà true cada 10 frames + sys.beat(10) + + -- També està sys.delta() i altres, mes adequats si vols total independència del frame rate +end + +function mini.update() + surf.cls(16) + + -- Pintar la pilota + draw.surf(112,16,16,16,pilota.x,pilota.y) + + -- Que rebote en les vores de la pantalla + if pilota.x > 304 then pilota.dx = -1 end + if pilota.x < 0 then pilota.dx = 1 end + if pilota.y > 224 then pilota.dy = -1 end + if pilota.y < 0 then pilota.dy = 1 end + + -- Moure la pilota + pilota.x = pilota.x + pilota.dx + pilota.y = pilota.y + pilota.dy + + -- Pintem al Abad + draw.surf(abad.animation[abad.frame]*16, 0, 16,16, abad.x, 206,16,16, abad.flip) + + -- Cada 10 frames, comprobem el teclat i movem al abad si toca + if sys.beat() then + if key.down(key.RIGHT) then + abad.flip = false + abad.x = abad.x + 4 + abad.frame = abad.frame + 1 + if abad.frame == 5 then abad.frame = 1 end + elseif key.down(key.LEFT) then + abad.flip = true + abad.x = abad.x - 4 + abad.frame = abad.frame + 1 + if abad.frame == 5 then abad.frame = 1 end + end + end + + -- Si pulsem ESC eixim. + -- key.down() mira si la tecla està pulsada o no. + -- key.press() mira si s'ha pulsat la tecla (pulsar i soltar). + if key.press(key.ESCAPE) then + sys.quit() + end +end