Přeskočit na obsah

Tvoje první hra

Cíl: červený míček, který řídíš po obrazovce šipkami — běží přímo na tvém počítači, žádný PicoPad není potřeba. Zabere to asi pět minut. Pokud umíš spustit Python skript, zvládneš to.

  1. Potřebuješ Python 3 a projekt picogame (repozitář picogame) s jeho pomocníky v lib/ a simulátorem v sim/. Pillow se používá pro snímky obrazovky:

    Terminál
    pip install pillow
  2. (Volitelné) pro živé, hratelné okno místo snímků obrazovky nainstaluj i pygame:

    Terminál
    pip install pygame

Ulož tohle jako first_game.py. Je to celá hra — zhruba tucet řádků:

import picogame as pg
import picogame_game # nastavení jedním voláním
import picogame_input # tlačítka
import picogame_clock # časování snímků
import picogame_shapes as shapes # tvorba jednoduchých bitmap v kódu
# Převezmeme obrazovku a získáme scénu, do které budeme kreslit.
scene, bufA, bufB = picogame_game.setup(background=pg.rgb565(20, 24, 40))
buttons = picogame_input.Buttons()
clock = picogame_clock.Clock(30) # cílíme na 30 snímků za sekundu
# Červený míček — kruh 24 px nakreslený v kódu, takže zatím nepotřebujeme žádnou grafiku.
ball = pg.Sprite(shapes.circle(24, pg.rgb565(230, 80, 80)), 150, 110)
scene.add(ball)
# Herní smyčka: čti vstup, pohni, překresli — donekonečna.
while True:
buttons.poll()
ball.x += (buttons.is_pressed(buttons.RIGHT) - buttons.is_pressed(buttons.LEFT)) * 3
ball.y += (buttons.is_pressed(buttons.DOWN) - buttons.is_pressed(buttons.UP)) * 3
scene.refresh()
clock.tick()
▶ Vyzkoušet v prohlížeči

Spustit to můžeš rovnou tady v prohlížeči přes Vyzkoušet, nebo si to ulož jako first_game.py a spusť v simulátoru (níže).

Ze složky projektu:

Terminál
# headless: spustí ~30 snímků s drženým RIGHT+DOWN, uloží snímek obrazovky
python3 sim/run.py first_game.py --frames 30 --hold RIGHT,DOWN --shot out.png
# nebo živé, hratelné okno (potřebuje pygame):
python3 sim/run.py first_game.py --backend pygame

Uvidíš míček uprostřed tmavě modré obrazovky — a v živém okně ho šipky rozjedou kolem dokola:

Míček z první hry po posunu dolů a doprava

Celou hru nesou jen čtyři myšlenky — zbytek jsou detaily, na které narazíš později:

ŘádekMyšlenka
picogame_game.setup(...)Předá ti scénu — to, do čeho kreslíš — a vyčistí obrazovku. Jedno volání skryje veškeré nastavení displeje.
pg.Sprite(shapes.circle(...), x, y)Sprite je pohyblivý obrázek. Tady je tím obrázkem kruh, který jsme vygenerovali v kódu; později to bude tvoje vlastní grafika.
scene.add(ball)Vloží sprite do scény, aby se vykreslil.
smyčka whileHerní smyčka: každý snímek čti vstup → změň věci → scene.refresh(). Engine překreslí jen to, co se pohnulo.
  • Jak picogame funguje — pětiminutový myšlenkový model, aby další věci, které postavíš, dávaly smysl.
  • Tutoriály — postav si opravdový Breakout, pak střílečku a nakonec RPG, vždy jedna nová myšlenka na krok.
  • Chceš místo tvarů kreslených v kódu použít skutečnou grafiku? Podívej se na grafiku v tutoriálech.