Jarmil
Období: Týden 16/2026 (od 19.04.) Skupina: tria
1. Splnění základních podmínek
| Podmínka | Status |
|---|---|
| Alespoň 3 commity v daném týdnu | ✅ SPLNĚNO |
| Rozestup alespoň 12h mezi 3 commity | ✅ SPLNĚNO |
| Projektová dokumentace (README, projekt.md) | ❌ NESPLNĚNO |
Vypočtený Index za tento týden: 216
Týdenní Index Náročnosti dodaných skriptů (1-5): 3
2. Kvantitativní přehled úprav
| Metrika | Hodnota |
|---|---|
| Počet všech commitů | 5 |
| Počet změněných souborů | 3 |
| Počet přid./odeb. řádků kódů | 77 |
Přehled commitů
- 2026-04-19 09:55: Fix date formatting in README.md
- 2026-04-20 06:29: Update project status for Snake game tasks
- 2026-04-20 06:30: Fix main function call indentation in Snake_hra_projekt.py
- 2026-04-20 08:35: Refactor game loop and improve comments
- 2026-04-23 19:30: Remove unnecessary whitespace in Snake_hra_projekt.py
3. Hodnocení asistentem AI (Logika a úsilí)
Zde je vyhodnocení práce studenta na projektu "Snake Game" za uplynulý týden:
1. Smysluplnost popisů u commitů [3 body]:
Splněno. Commity jsou jasné, stručné a popisují konkrétní činnost (refaktoring, oprava odsazení, formátování data). Student používá angličtinu, což je v programování dobrou praxí.
2. Smysluplnost komentářů v kódu [5 bodů]:
Student do kódu doplnil velké množství vysvětlujících komentářů v češtině. To pomáhá pochopit, že rozumí tomu, co dělají jednotlivé části knihovny Pygame (např. clock.tick, blit, event.get). Bod strhávám za to, že některé komentáře jsou až příliš triviální (např. „start hry“ u funkce main), zatímco u složitější logiky (např. výpočet kolize) by mohly být techničtější.
3. Kvalita a srozumitelnost dokumentace a struktura repozitáře [2 body]:
Splněno. Projekt má vlastní složku Snake_game, soubory jsou logicky pojmenovány. Dokumentace Projekt.md přehledně mapuje progres úkolů pomocí tabulky, což chválím.
4. Logika řešení a přemýšlení studenta v Pythonu [6 bodů]:
Student prokázal schopnost pracovat s poli (seznam souřadnic hada), slovníky (směry pohybu) a herní smyčkou. Implementace "power-upu" a zvyšování úrovně obtížnosti (přidávání překážek a zrychlování) svědčí o dobrém pokroku.
Při posledním refaktoringu se však student dopustil několika logických chyb a překlepů, které by způsobily pád programu:
* Ve funkci game_over se student pokouší volat funkci fmain(), která v kódu neexistuje (má tam být main()).
* V sekci pro power-upy došlo k chybě v odsazení: if power and head == power: je odsazeno uvnitř bloku, který se vykoná jen jednou za 200 ticků při spawnu, takže hráč by musel být na stejném políčku přesně v momentě vzniku, aby ho sebral.
* Na konci souboru je nesmyslně zdvojená a špatně odsazená podmínka if name == "main": if name == "main": main().
* Volání main_game() v závěru je také chybný název, funkce se jmenuje main().
Celkem získáno bodů: [16 / 80%] ze 20 možných
DIFFICULTY_INDEX: [3]