Pygame játékfejlesztés MI támogatással

  • Nits László
Vrsta učne ure/projektnega načrta
načrt projekta
Sector
Információs és kommunikációs technológiák
Tema, učno področje
Objektumorientált programozás (OOP) és külső könyvtárak (Pygame) használata MI segítségével
Poklicni predmet(i)
Razred
Kompetence/spretnosti, ki jih je treba razviti
Digitális készségek
Kommunikáció és együttműködés
Kreativitás és innováció
Kritikus gondolkodás és problémamegoldás
Strokovne kompetence in spretnosti, ki jih je treba razviti
A tanulók képesek legyenek egy komplex, több állományból álló Python-Pygame-OOP projektet készíteni.
Metoda poučevanja
AI-alapú egyéni és csoportmunka
aktív tanulás
Játékalapú tanulás
Predmet(-i) javnega izobraževanja
Cilji učenja in razvoja
A tanulók képesek legyenek egy komplex Pygame projektet strukturálni. Az OOP elveket alkalmazni játékobjektumokon. Az MI eszközök tudatos használata új könyvtárak megismerésére és hibakeresésre. Csoportmunka és verziókezelés gyakorlása
Koncepti
pygame, oop, python, AI, clean coding, verziókezelés, type hinting
Potrebna orodja
Számítógép, VS Code editor, Python környezet, Pygame könyvtár, MI asszisztensek a kódmagyarázathoz és dokumentációhoz, GitHub a projektmenedzsmenthez és kódmegosztáshoz
Trajanje
8-10 óra
Gradiva, ki se izdajo pred poukom ali za projekt

Játékfejlesztés Pygame modul használatával lejátszási lista 23 oktató videóval: Játékfejlesztés - YouTube

Uvodni del učne ure / Priprave na projekt

1. fázis: Bevezetés, előkészítés és tervezés (1-2 óra)

  • Csoportok alakítása (3 fő) és a projekt (pl. Space Invaders) céljainak kitűzése.
  • Az MI eszközök használatának etikai és technikai megbeszélése (hogyan kérdezzünk, hogy megértsük a logikát).
  • A GitHub mintaprojekt (GitHub - schmidtnandor/space-invaders · GitHub) szerkezetének elemzése: Miért van szükség külön fájlokra (pl. alien.py, player.py, config.py)?
Izvajanje učne ure/projekta

2. fázis: Alapok és Osztályszerkezet (2 óra)

  • A PyGame ablak inicializálása és a fő játékhurok létrehozása MI segítségével.
  • Az alapvető osztályok vázának megírása típusjelölésekkel (pl. def __init__(self, x: int, y: int) -> None:).
  • A grafikai elemek beimportálása és megjelenítése a képernyőn.

3. fázis: Játéklogika és Interakciók (3-4 óra)

  • A mozgás (billentyűzetkezelés) és a lövés mechanikájának implementálása.
  • Ütközésdetektálás (Collision detection) kidolgozása a pygame.sprite modul segítségével, MI támogatással.
  • A "tiszta kód" felülvizsgálata: beszélő változónevek, rövid metódusok, redundancia kerülése.

4. fázis: Finomhangolás és Dokumentáció (1-2 óra)

  • Menürendszer, pontszámítás és "Game Over" képernyő hozzáadása.
  • A kód kommentezése és a README.md fájl elkészítése a mintaprojekthez hasonlóan.
  • Tesztelés és hibajavítás.
Digitalne naprave, ki se uporabljajo za ustvarjanje lastne vsebine
ChatGPT
Copilot
Gemini
Google Tanterem
Google Meet
Google NotebookLM
Moodle
Drugo orodje, ki ni vključeno v prejšnji seznam
VS Code fejlesztői környezet, VS Code bővítmények
Načrt vrednotenja

Az értékelés nemcsak a kész termékre, hanem a folyamatra is kiterjed, a projekt során folyamatosan értékelem a diákokat a következő szempontokon keresztül:

  • Technikai megvalósítás: Működik-e a játék? Megfelelő-e az OOP struktúra?
  • Kódminőség ellenőrző lista: (lsd. mellékletek)
  • MI használat: Hogyan segítette az MI a tanulást?
  • Együttműködés: A csoporttagok közötti munkamegosztás hatékonysága.
  • Prompt napló értékelése (lsd. mellékletek)
  • Meglévő és új ismeretek alkalmazása.
  • Hibakeresés és javítás, tesztelés.
Diferenciacija
  • Erősebb csoportok: Bonyolultabb ellenség-minták (pl. Boss harc), részecske-effektek vagy többszintű pályarendszer implementálása.
  • Segítségre szorulók: Előre elkészített sablonok (pl. egy működő játékhurok vagy konfigurációs fájl) biztosítása, szorosabb mentori támogatás az MI-vel való promptolásban.
Domača naloga, projektna naloga

Otthoni feladatok, részfeladatok megoldása a mentor segítségével és együttműködésével.