Detail reportu: Vozuch

Týden 12/2026 (od 22.03.) – Výsledky AI analýzy a hodnocení odevzdaného kódu.

📁 Archiv-2026
Zpět

Vozuch

Období: Týden 12/2026 (od 22.03.) Skupina: tria URL: https://github.com/tomasskudrzyk-dev/Vozuch.git

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

2. Přehled commitů

3. Výsledky AI analýzy kódu

Metrika Hodnota
Celkové body (AI) 17 / 20 b. (85%)
Náročnost projektu (Index) 3
Počet commitů 3
Změněné soubory 4
Počet přid./odeb. řádků kódu 218

Komentář a zpětná vazba od AI

Zde je tvé hodnocení za uplynulý týden. Celkově odvádíš velmi dobrou práci na svém projektu Snake game, ale je potřeba se zaměřit na organizaci souborů a čistotu kódu.

1. Smysluplnost popisů u commitů [3 body]:

Splněno. Tvé commit zprávy jsou jasné, popisují přesně ty části kódu, na kterých jsi pracoval (pohyb, růst, restart), a umožňují snadné sledování historie vývoje projektu.

2. Smysluplnost komentářů v kódu [6 bodů]:

Splněno. Komentuješ téměř každý řádek kódu, což u začátečníka oceňuji – ukazuje to, že rozumíš tomu, co jednotlivé příkazy Pygame a Pythonu dělají. U pokročilejších projektů se budeme snažit komentovat spíše logické bloky, ale pro teď je to v pořádku.

3. Kvalita a srozumitelnost dokumentace a struktura repozitáře [1 bod]:

V této kategorii musím strhnout bod za nedodržení pravidel adresářové struktury. - Vytknutí: Soubor /snake_game.py se nachází volně v kořenovém adresáři (rootu) repozitáře. Podle metodiky musí mít každý projekt svou vlastní samostatnou složku (podobně jako máš složku /Projekty pro ping pong). - README.md: Popis ovládání a cíle hry je zpracován přehledně a srozumitelně.

4. Logika řešení a přemýšlení studenta v Pythonu [7 bodů]:

V kódu je vidět výrazný posun. Přechod z ovládání pomocí pygame.key.get_pressed() na událostní systém pygame.KEYDOWN se směrovým vektorem smer = (0, -1) je logicky správný krok pro mřížkovou hru, jako je Snake. Implementace růstu hada pomocí had.insert a had.pop je také správná. Objevil jsem však několik logických nedostatků: - zde je chyba: V kódu máš duplicitní bloky pro restart hry. Logika while True s čekáním na klávesu 'R' se v souboru opakuje dvakrát (pravděpodobně po nárazu do zdi a po kolizi se sebou samým). To dělá kód nepřehledným. - zde je chyba: Dochází ke konfliktu v pohybu u okrajů. Na jednom místě kódu se pokoušíš hada udržet uvnitř okna (had_y = 0), ale o pár řádků dál máš logiku, která při nárazu do okraje vyvolá konec hry. Je třeba si vybrat jeden přístup. - zde je chyba: Kód if udalost.type == pygame.KEYDOWN and udalost.key == pygame.K_r: break se nachází vně vnitřní smyčky událostí, což může vést k nepředvídatelnému chování.

Celkem získáno bodů: [17 / 85%] ze 20 možných

DIFFICULTY_INDEX: [3]

Kontrolní otázka k obhajobě

V úpravách pohybu používáš u klávesy W podmínku and smer != (0, -1) – co se stane, když had právě míří dolů a hráč stiskne klávesu pro pohyb nahoru, a proč tvůj kód v tuto chvíli nezabrání tomu, aby se had okamžitě otočil do vlastního těla?