Nvm_Sorry
Období: Týden 16/2026 (od 19.04.) Skupina: tria URL: https://github.com/6Aminek7/Nvm_Sorry.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) | ❌ NESPLNĚNO |
2. Přehled commitů
- 2026-04-20 07:17: Settings feature
- 2026-04-23 14:38: Bug fixy + optimalizace
- 2026-04-25 07:59: pickup mechanic + dust particles
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 | 1 |
| Počet přid./odeb. řádků kódu | 561 |
Komentář a zpětná vazba od AI
Ahoj, posílám ti hodnocení tvé práce na projektu „The Labyrinth“ za uplynulý týden. Vedl jsi si velmi dobře, zejména v oblasti dokumentace kódu a vizuálního vylepšení hry.
1. Smysluplnost popisů u commitů [3 body]:
Tvé commit zprávy jsou věcné a jasně popisují, co se v daném kroku v projektu změnilo (např. „pickup mechanic + dust particles“). To je v programátorské praxi velmi důležité pro sledování historie vývoje.
2. Smysluplnost komentářů v kódu [6 bodů]:
V této oblasti jsi odvedl skvělou práci. Kód je doplněn o české komentáře, které srozumitelně vysvětlují logiku inicializace Pygame, práci s kamerou i proces „pixelizace“ textur pro retro vzhled. Pomáhá to nejen mně při kontrole, ale i tobě, až se ke kódu vrátíš s odstupem času.
3. Kvalita a srozumitelnost dokumentace a struktura repozitáře [2 body]:
Pravidla pro strukturu repozitáře jsi dodržel – projekt má svou vlastní složku /The-Labyrinth/, ve které jsou logicky odděleny textury. V hlavní složce (rootu) se nachází pouze README.md, což je v pořádku. Dokumentace v README.md i _projekt.md stručně a jasně definuje tvůj cíl.
4. Logika řešení a přemýšlení studenta v Pythonu [8 bodů]:
Tvé řešení vykazuje výrazný pokrok. Velmi oceňuji:
- Abstrakci: Vytvoření funkce get_texture, která řeší načítání obrázků s ošetřením chyb a „fallbackem“ na barvu, pokud soubor chybí.
- Vizuální efekty: Implementace systému prachových částic (ambient_dust) a práce s průhledností (alfa kanálem) u dust_surfaces.
- Optimalizaci: Předvykreslení bludiště na maze_surface, což výrazně šetří výkon procesoru.
Drobné výtky k logice:
- V kódu se ti objevil redundantní (duplicitní) blok výpočtů:
zde je chyba: Mezi řádky 147 a 157 počítáš proměnné wall_draw_size, player_draw_size a enemy_draw_size dvakrát úplně identicky těsně pod sebou. Jeden tento blok je zbytečný.
- Logika sbírání předmětů (klíče) v ukázce začíná správně pomocí výpočtu vzdálenosti od hráče, ale diff končí dříve, než je mechanika dokončena.
Celkem získáno bodů: [19 / 95%] ze 20 možných
DIFFICULTY_INDEX: [3]
Kontrolní otázka k obhajobě
Všiml jsem si, že v cyklu pro parsování mapy vytváříš pro zdi (
W) a zamčené zdi (L) objektypygame.Rect, ale pro klíč (K) ukládáš do seznamuitems_on_groundslovník se souřadnicemiitem_xaitem_y– jaký je k tomu konkrétní důvod a jak jsi matematicky zajistil, aby se klíč objevil přesně uprostřed políčka místo v jeho levém horním rohu?