ilou
Období: Týden 12/2026 (od 22.03.) Skupina: tria URL: https://github.com/cieslarova/ilou.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-25 14:03: Přidání první fáze hry Tetris a projektové dokumentace
- 2026-03-25 14:11: Odstranění tetris_faze.py ze sledování a jeho zařazení do .gitignore
- 2026-03-28 17:49: Přidána druhá fáze hry Tetris včetně skórování a dokumentace
3. Výsledky AI analýzy kódu
| Metrika | Hodnota |
|---|---|
| Celkové body (AI) | 19 / 20 b. (95%) |
| Náročnost projektu (Index) | 3 |
| Počet commitů | 3 |
| Změněné soubory | 6 |
| Počet přid./odeb. řádků kódu | 1261 |
Komentář a zpětná vazba od AI
Ahoj! Jako tvůj pedagogický asistent jsem prošel tvou práci na projektu Tetris a celkový stav tvého repozitáře. Musím tě pochválit za velmi profesionální přístup k dokumentaci a struktuře kódu.
Zde je tvé hodnocení za uplynulý týden:
1. Smysluplnost popisů u commitů [3 body]
Splněno. Popisy tvých commitů jsou věcné a jasně vysvětlují, co se v daném kroku změnilo (např. práce s .gitignore nebo přidání konkrétní fáze hry). To velmi usnadňuje orientaci v historii projektu.
2. Smysluplnost komentářů v kódu [6 bodů]
Splněno. Komentování kódu je na vynikající úrovni. Oceňuji zejména vysvětlení transformační logiky u metody convert_shape_format a jasné oddělení konstant od herní logiky. Pomáhá to čitelnosti i u takto komplexnějšího algoritmu.
3. Kvalita a srozumitelnost dokumentace a struktura repozitáře [2 body]
Splněno. Dodržel jsi pravidlo samostatných složek pro projekty. V rootu se nacházejí pouze konfigurační a přehledové soubory, což je správně. Soubor tetris_projekt.md je přehledný a dobře mapuje tvůj postup.
4. Logika řešení a přemýšlení studenta v Pythonu [8 bodů]
Prokázal jsi pokročilé logické uvažování. Implementace Tetrisu pomocí objektově orientovaného přístupu (třídy Tetromino, Board, Game) je správná a robustní. Použití slovníku pro locked_positions je elegantní řešení pro správu herní plochy.
V algoritmu se však vyskytla jedna drobná logická chyba, na kterou si dej v další fázi pozor:
V metodě clear_rows provádíš posun řádků dolů:
if y < ind: <span style='color: red;'>zde je chyba</span> # Pokud jsi výše než ten odstraněný řádek...
Proměnná ind se v cyklu přepisuje a po skončení cyklu obsahuje pouze index posledního (nejvyššího) smazaného řádku. Pokud by hráč smazal dva řádky, které nejsou přímo u sebe (např. řádek 19 a řádek 17), tvůj kód posune dolů pouze vše nad řádkem 17. Bloky na řádku 18 by zůstaly "viset" ve vzduchu, protože nejsou menší než ind (17).
Celkem získáno bodů: [19 / 95%] ze 20 možných
DIFFICULTY_INDEX: [3]
Kontrolní otázka k obhajobě
V metodě
convert_shape_formatprovádíš u výpočtu souřadnic korekcipos[0] - 2apos[1] - 4– mohl bys mi vysvětlit, proč jsou tam právě tyto konkrétní hodnoty a co přesně by se stalo se zobrazením padajících kostek, kdybychom tuto úpravu z kódu odstranili?