Jarmil
Období: Týden 10/2026 (od 08.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: 174
Týdenní Index Náročnosti dodaných skriptů (1-5): 3
2. Kvantitativní přehled úprav
| Metrika | Hodnota |
|---|---|
| Počet všech commitů | 10 |
| Počet změněných souborů | 3 |
| Počet přid./odeb. řádků kódů | 204 |
Přehled commitů
- 2026-03-09 07:23: Initial commit
- 2026-03-09 08:57: popis
- 2026-03-09 09:20: uprava readme
- 2026-03-09 09:22: znova oprava readme
- 2026-03-09 09:26: změněno 1stavu
- 2026-03-09 09:33: Komentar
- 2026-03-09 09:35: opět změna
- 2026-03-09 09:36: opět změna
- 2026-03-13 06:02: Rename Snake_hra_projekt.md to Snake_hra_projekt.py
Rename Snake_hra_projekt.md to Snake_hra_projekt.py - 2026-03-14 19:34: Update pro dokumentaci hry snake
3. Hodnocení asistentem AI (Logika a úsilí)
Ahoj Samueli, prostudoval jsem tvůj pokrok na projektu „Had“ za uplynulý týden. Je vidět, že ses do práce pustil s vervou a README vypadá na první pohled velmi profesionálně. Nicméně v technickém provedení a organizaci repozitáře jsem našel několik zásadních nedostatků, na které se musíme zaměřit.
Zde je tvé hodnocení:
1. Smysluplnost popisů u commitů [1 bod]
Většina tvých commitů má bohužel velmi nízkou vypovídající hodnotu. Zprávy jako „opět změna“, „uprava readme“ nebo „změněno 1stavu“ (obsahující navíc překlep) ostatním programátorům neřeknou, co jsi v kódu skutečně udělal. Pozitivně hodnotím pouze poslední dva commity, které jsou o něco konkrétnější. Příště se snaž popsat co a proč jsi změnil (např. „Implementace logiky pohybu hlavy hada“).
2. Smysluplnost komentářů v kódu [4 body]
V kódu se orientuješ pomocí základních komentářů (např. # Had, # Jídlo), což je v pořádku. Komentář u vkládání hlavy je správný. Chybí mi ale podrobnější vysvětlení u složitějších částí, jako je generování jídla nebo výpočet nové pozice. Také si dej pozor na konzistenci – komentuješ sice vkládání hlavy, ale už neřešíš zbytek logiky pohybu.
3. Kvalita a srozumitelnost dokumentace a struktura repozitáře [0 bodů]
V této kategorii musím body strhnout kvůli porušení základních pravidel organizace:
- Chybějící složka: Soubory Snake_hra_projekt.py a README.md leží volně v kořenovém adresáři (rootu). Podle metodiky musí mít projekt vlastní složku (např. /snake-game/).
- Nekonzistence dokumentace: Ve tvém README v sekci „Struktura projektu“ uvádíš, že se hlavní soubor jmenuje snake.py a je ve složce, ale v repozitáři se jmenuje Snake_hra_projekt.py a je v rootu. To je pro uživatele matoucí.
- Zmatek v souborech: Původně jsi kód psal do souboru s příponou .md, což je značkovací jazyk pro text, nikoliv pro Python. I když jsi to pak přejmenoval, svědčí to o nepozornosti při zakládání souborů.
4. Logika řešení a přemýšlení studenta v Pythonu [4 body]
Základní kostra hry s knihovnou Pygame je nastavená správně, ale v samotné logice se objevilo několik problémů:
- Názvosloví: Přejmenoval jsi konstanty pro barvy z angličtiny do češtiny, a to navíc nekonzistentně: Bílá = (255, 255, 255) vs černá = (0, 0, 0) zde je chyba (jednou velké písmeno, podruhé malé, a navíc diakritika v názvech proměnných je v programování velmi špatná praxe).
- Logika pohybu: Funkce move_snake() sice přidá novou hlavu, ale nikde neodstraňuje poslední článek ocasu:
snake.insert(0, new_head) # přidáme novou hlavu zde je chyba
Bez příkazu snake.pop() (pokud had právě nesnědl jídlo) se tvůj had bude neustále prodlužovat při každém pohybu, což znefunkční hru.
- Nedokončený cyklus: Projektu zatím chybí hlavní herní smyčka (while running:), která by funkce volala, a ošetření událostí (zavření okna).
Celkem získáno bodů: [9 / 45%] ze 20 možných
Rady pro příští týden:
1. Přesuň soubory do samostatné složky.
2. Sjednoť názvy souborů s tím, co píšeš v dokumentaci.
3. Oprav logiku pohybu hada (mazání ocasu).
4. Nepoužívej v názvech proměnných češtinu a diakritiku (místo červená použij RED nebo red_color).
DIFFICULTY_INDEX: [3]