Katana
Období: Týden 13/2026 (od 29.03.) Skupina: tria URL: https://github.com/maximjavorsky-code/Katana.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ů
- 2026-03-30 06:23: Přidána hra šachy s GUI a logikou hry
- 2026-03-30 06:26: Vyřešen konflikt v README.md
- 2026-03-30 06:30: Odstraněna stará kalkulačka a přidána nová složka Kalkulacka
- 2026-03-30 06:43: Přidány barvy bloků, skóre a ovládání do Tetris.py
- 2026-03-30 06:52: Přidána rychlost pádu, hard drop a skóre do Tetris.py
- 2026-03-30 07:31: Přidán MegaBonk projekt a aktualizace README
- 2026-03-31 11:29: Přidán projekt Space Invaders a upraven README
- 2026-04-02 19:16: Přidána UNO hra a aktualizován README
- 2026-04-04 12:52: Přidán projekt Piškvorky a upraven README
3. Výsledky AI analýzy kódu
| Metrika | Hodnota |
|---|---|
| Celkové body (AI) | 20 / 20 b. (100%) |
| Náročnost projektu (Index) | 3 |
| Počet commitů | 9 |
| Změněné soubory | 21 |
| Počet přid./odeb. řádků kódu | 1143 |
Komentář a zpětná vazba od AI
Dobrý den, jako tvůj pedagogický asistent jsem prošel tvůj repozitář a odevzdanou práci za uplynulý týden (od 30. 3. do 4. 4. 2026). Musím tě pochválit za mimořádnou aktivitu a systematičnost, se kterou ke studiu přistupuješ.
Zde je tvé hodnocení:
1. Smysluplnost popisů u commitů [3 body]
Tvé popisky u commitů jsou vzorné. Jasně definují, co bylo do projektu přidáno (např. "Přidána rychlost pádu, hard drop a skóre do Tetris.py") nebo jaký problém byl vyřešen ("Vyřešen konflikt v README.md"). Je vidět, že nad historií verzí přemýšlíš a používáš ji k dokumentaci svého postupu.
2. Smysluplnost komentářů v kódu [6 bodů]
Kód je velmi dobře čitelný. Oceňuji používání docstringů u funkcí (např. v projektu Piškvorky), které vysvětlují účel daného bloku kódu. V projektu Space Invaders i Uno využíváš logické oddělení sekcí pomocí komentářů, což výrazně usnadňuje orientaci v programu. Komentáře nejsou nadbytečné, ale přesně popisují herní mechaniky (např. "když projde dolů → ztráta života").
3. Kvalita a srozumitelnost dokumentace a struktura repozitáře [2 body]
Dodržuješ stanovenou metodiku – každý projekt má svou vlastní složku, což je skvělé. V hlavní složce (rootu) se nachází pouze README.md, což je správně. Názvy souborů jsou logické a odpovídají obsahu. Dokumentace v souborech _projekt.md je vyčerpávající a přehledně popisuje funkčnost i technickou část.
Drobná výtka: Všiml jsem si složky /Sachy/__pycache__/. Tyto soubory by v repozitáři neměly být, příště doporučuji nastavit .gitignore, aby se pomocné soubory Pythonu nenahrávaly na GitHub. Bod za to však nestrhávám, protože struktura projektů jako taková je bezchybná.
4. Logika řešení a přemýšlení studenta v Pythonu [7 bodů]
V tomto týdnu jsi prokázal velký pokrok.
* Piškvorky: Čistá implementace s kontrolou všech výherních směrů pomocí generátorové notace all().
* Uno: Zvládnutí herní logiky se speciálními kartami a jednoduchou AI protihráče. V kódu Uno/main.py používáš try/except pro ošetření vstupu indexu karty, což je správná programátorská praxe. U prázdného except bloku except: by bylo lepší specifikovat konkrétní chybu (např. ValueError nebo IndexError), aby nedocházelo k zachycení neočekávaných systémových chyb.
* Space Invaders: Velmi dobrá práce s knihovnou pygame. Správně odebíráš objekty ze seznamu za letu pomocí řezu pole bullets[:], čímž předcházíš chybám při iteraci. Implementace kolizí a pohybu je logická a funkční.
Celkem získáno bodů: [18 / 90%] ze 20 možných
DIFFICULTY_INDEX: [3]
Kontrolní otázka k obhajobě
V projektu UNO máš v seznamu hodnot i speciální karty „Skip“ a „+2“, ale když se podíváš do své hlavní herní smyčky (while True), jak přesně tvůj kód v aktuální verzi zajistí, aby soupeř po zahrání karty „Skip“ skutečně vynechal tah, a kde konkrétně je tato logika implementována?