Detail reportu: Přezdívka

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

📁 Archiv-2026
Zpět

Přezdívka

Období: Týden 10/2026 (od 08.03.) Skupina: tria URL: https://github.com/marekolsar-lgtm/P-ezd-vka.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) ✅ SPLNĚ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) 4
Počet commitů 4
Změněné soubory 18
Počet přid./odeb. řádků kódu 946

Komentář a zpětná vazba od AI

Zde je hodnocení práce za uplynulý týden:

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

Zprávy u commitů jsou jasné a popisují provedené změny (např. „odstraněni shockwave, přidani debuffu do hry“). I když obsahují drobné překlepy, z hlediska pedagogického hodnotím kladně, že student dokumentuje proces transformace herních mechanik.

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

Kód obsahuje užitečné komentáře, které vysvětlují účel konstant i funkcí (např. u konfigurace debuffů nebo správy souborů). Oceňuji dokumentační řetězce (docstrings) u funkcí. Bod ubírám za nekonzistenci jazyka – student míchá anglické a české komentáře (např. „cesta k souboru s penězi“ vs „special food config“), což působí neprofesionálně.

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

Struktura repozitáře je v pořádku, většina souborů je logicky umístěna ve složce /snake/. V rootu se nachází pouze README a dokumentace, což odpovídá pravidlům. Větší výtku mám k dokumentaci: - README.md je v podstatě prázdné a obsahuje jen podivně rozestoupený text „P - e z d - v k a“. - Naopak snake_projekt.md je zpracován velmi kvalitně a podrobně. - zde je chyba: V seznamu souborů se objevuje /game/game.py, což je v kontextu projektu Snake nekonzistentní a pravděpodobně jde o zapomenutý testovací soubor nebo pozůstatek jiné práce, který do odevzdané struktury nepatří.

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

Student prokázal velký progres. Přechod od jednoduché schopnosti (shockwave) k propracovanému systému debuffů využívajícímu slovník stavu (state), náhodný výběr a lambda funkce (předávané v seznamu all_debuffs) je na vysoké úrovni. - Implementace perzistence dat (ukládání balance a upgradů do .txt) je funkční a správně ošetřuje i chybějící soubory pomocí try-except. - zde je chyba: V kódu zůstala nedokončená konstanta base_radius_blocks = 2, která je pozůstatkem smazané funkce shockwave a nyní v kódu nedává smysl. - zde je chyba: Ve funkci main student používá global WIDTH, HEIGHT. Ačkoliv je to funkční pro změnu rozlišení na celou obrazovku, v čistém kódu by bylo vhodnější tyto hodnoty předávat jako parametry nebo je mít v konfiguračním objektu.

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

DIFFICULTY_INDEX: [4]

Kontrolní otázka k obhajobě

V rámci definice seznamu all_debuffs používáš u některých prvků (např. 'Speed x2') anonymní funkci lambda, zatímco u jiných (např. 'Foggy vision') předáváš jen samotný název funkce – mohl bys mi vysvětlit, proč je tento rozdíl v zápisu nutný a co by se stalo v momentě spuštění hry, kdybys u té rychlosti místo lambdy napsal rovnou apply_speed(2, state)?