- First commit

This commit is contained in:
2026-03-18 16:28:47 +01:00
commit d22bb16dfb
4 changed files with 81 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
mini
mini_debug

5
data/game.ini Normal file
View File

@@ -0,0 +1,5 @@
title=MiniPilotes
config=minipilotes
width=320
height=240
zoom=2

BIN
data/gfx.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

74
data/main.lua Normal file
View File

@@ -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