Leopard
Období: Týden 16/2026 (od 19.04.) Skupina: zatopek
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) | ✅ SPLNĚNO |
Vypočtený Index za tento týden: 392
Týdenní Index Náročnosti dodaných skriptů (1-5): 4
2. Kvantitativní přehled úprav
| Metrika | Hodnota |
|---|---|
| Počet všech commitů | 3 |
| Počet změněných souborů | 5 |
| Počet přid./odeb. řádků kódů | 855 |
Přehled commitů
- 2026-04-22 06:28: Základní kostra hry a inicializace herního okna a entit vytvořena.
- 2026-04-22 21:27: Implementována základní logika pohybu hráče, nepřátel a střelby.
- 2026-04-23 12:27: Dokončena detekce kolizí, správa skóre a herních stavů.
3. Hodnocení asistentem AI (Logika a úsilí)
Ahoj! Jako tvůj pedagogický asistent jsem prošel tvůj repozitář a kód, který jsi za poslední týden vytvořil. Je vidět, že jsi odvedl velký kus práce, zejména na projektu Space Invaders. Zde je tvé hodnocení:
1. Smysluplnost popisů u commitů [3 body]:
Tvé commity jsou jasné, stručné a přesně popisují, co se v daném kroku změnilo (např. „Dokončena detekce kolizí...“). To je skvělá praxe, která pomáhá v orientaci v historii projektu.
2. Smysluplnost komentářů v kódu [6 bodů]:
Kód je komentován velmi detailně, možná až příliš (vysvětluješ i základní importy), ale pro účely výuky a přehlednosti je to v pořádku. Oceňuji používání docstringů u tříd a funkcí, což zvyšuje profesionalitu tvého kódu.
3. Kvalita a srozumitelnost dokumentace a struktura repozitáře [2 body]:
Struktura repozitáře je příkladná. Každý projekt má svou vlastní složku a dokumentaci v souborech _projekt.md. README v kořenu obsahuje přehlednou tabulku. Všechna pravidla o umístění souborů byla dodržena.
4. Logika řešení a přemýšlení studenta v Pythonu [8 bodů]:
Logika tvého řešení u Space Invaders je na vysoké úrovni. Použití tříd dědících z pygame.sprite.Sprite je správná cesta pro správu herních entit. Velmi chválím funkci load_image_or_placeholder, která řeší případnou absenci grafických souborů – to ukazuje na defenzivní programování.
V kódu jsem však narazil na drobný problém, který by způsobil pád programu:
* Ve třídě Player a Enemy používáš proměnné PLAYER_IMAGE_PATH a ENEMY_IMAGE_PATH, které ale v horní části kódu (v sekci konstant) nemáš nikde definované. Program by skončil chybou NameError.
* Zároveň v metodě main ve smyčce while running chybí ukončení bloku pro střelbu (kód končí v půlce řádku), ale předpokládám, že je to jen neúplným zobrazením v odevzdávce.
Jinak je progrese z fáze 1 do fáze 3 velmi plynulá a technicky zvládnutá (práce s časem pro cooldowny, správa skupin spritů).
Celkem získáno bodů: [19 / 95%] ze 20 možných
DIFFICULTY_INDEX: [4]