Pygame játékfejlesztés MI támogatással
Type of lesson / project plan
Project plan
Sector
Információs és kommunikációs technológiák
Topic, learning area
Objektumorientált programozás (OOP) és külső könyvtárak (Pygame) használata MI segítségével
Vocational subject(s)
Grade
Competencies, skills to be developed
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
Professional competencies, skills to be developed
A tanulók képesek legyenek egy komplex, több állományból álló Python-Pygame-OOP projektet készíteni.
Teaching method
AI-alapú egyéni és csoportmunka
aktív tanulás
Játékalapú tanulás
General subject(s)
Learning and development goals
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
Concepts
pygame, oop, python, AI, clean coding, verziókezelés, type hinting
Required tools
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
Duration
8-10 óra
Materials released before class or for a project
Játékfejlesztés Pygame modul használatával lejátszási lista 23 oktató videóval: Játékfejlesztés - YouTube
Introductory part and preparation of the lesson / project plan
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)?
Implementation of the lesson / project plan
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.spritemodul 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.mdfájl elkészítése a mintaprojekthez hasonlóan. - Tesztelés és hibajavítás.
Used digital devices
ChatGPT
Copilot
Gemini
Google Tanterem
Google Meet
Google NotebookLM
Moodle
Other
VS Code fejlesztői környezet, VS Code bővítmények
Evaluation plan
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.
Differentiation
- 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.
Homework, project task
Otthoni feladatok, részfeladatok megoldása a mentor segítségével és együttműködésével.
Attached file
Kód_minősége.docx
(16.57 KB)
Prompt_napló_értékelése.docx
(16.15 KB)