Vozuch
Období: Týden 12/2026 (od 22.03.) 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: 222
Týdenní Index Náročnosti dodaných skriptů (1-5): 3
2. Kvantitativní přehled úprav
| Metrika | Hodnota |
|---|---|
| Počet všech commitů | 3 |
| Počet změněných souborů | 4 |
| Počet přid./odeb. řádků kódů | 218 |
Přehled commitů
- 2026-03-25 21:24: Vytvoření nového projektu, vytvoření základů pro Snake game, pozadí, okno, had, jídlo, kolize s jídlem, pohyb
- 2026-03-26 21:28: Vytvoření růstu hada, vytvoření možnosti restartovat hru po doteku hada s okrajem okna, vytvoření skóre vytvoření popisu hry v README.md
- 2026-03-28 16:55: Úprava pohybu hada, oprava růstu hada, oprava možnosti restartu hry, přidání kolize hada se sebou samým a přidán popis ovládání v README.md
3. Hodnocení asistentem AI (Logika a úsilí)
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]