Nvm_Sorry
Období: Týden 15/2026 (od 12.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-15 19:56: nová textura životů
- 2026-04-16 20:49: Bug fixy + QOL změny
- 2026-04-17 18:47: Optimalizace + walk particle
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ů | 3 |
| Změněné soubory | 3 |
| Počet přid./odeb. řádků kódu | 269 |
Komentář a zpětná vazba od AI
Ahoj! Jako tvůj pedagogický asistent jsem prošel tvé odevzdané změny v projektu "The Labyrinth" za uplynulý týden. Musím tě pochválit, protože tvůj posun od jednoduchého vykreslování k optimalizovanému hernímu enginu je velmi výrazný.
Zde je tvé hodnocení:
1. Smysluplnost popisů u commitů [3 body]
Zprávy jako „Optimalizace + walk particle“ nebo „nová textura životů“ jasně a stručně popisují, co se v daném kroku v kódu změnilo. Pomáhá to v orientaci v historii vývoje.
2. Smysluplnost komentářů v kódu [6 bodů]
V kódu se objevují užitečné komentáře (např. # Pohyb a kolize v ose X, # Update a vykreslení částic), které vysvětlují logické bloky. Oceňuji zejména vysvětlení u cullingu a raycastingu, což jsou pokročilejší koncepty.
3. Kvalita a srozumitelnost dokumentace a struktura repozitáře [2 body]
Pravidla pro strukturu jsi dodržel – projekt má vlastní složku /The-Labyrinth/ a textury jsou přehledně v podsložce /textures/. README.md v kořenu sice obsahuje trochu zvláštní formátování (nadbytečné mezery), ale jasně definuje tvůj cíl.
4. Logika řešení a přemýšlení studenta v Pythonu (progrese kódu) [9 bodů]
Tato kategorie je u tebe nejsilnější. V tomto týdnu jsi udělal obrovský kus práce:
* Optimalizace kolizí: Přechod z cyklu for na metodu .collidelist() je v Pygame mnohem efektivnější.
* Separace os: Rozdělení pohybu na osu X a Y je klíčové pro to, aby se hráč "nezasekával" o rohy zdí.
* Vizuální efekty: Implementace částicového systému (particles) pomocí seznamu slovníků ukazuje dobré pochopení datových struktur.
* Culling a LOS: Přidání kontroly, zda se zeď nachází na obrazovce předtím, než se vykreslí, a optimalizace Line-of-Sight (přes los_rect) svědčí o tom, že přemýšlíš nad výkonem aplikace.
Drobné upozornění: V kódu používáš proměnnou wall_draw_size, která v poskytnutém výstupu není definována, ale předpokládám, že ji máš v konstantách na začátku souboru.
Celkem získáno bodů: [20 / 100%] ze 20 možných
DIFFICULTY_INDEX: [3]
Kontrolní otázka k obhajobě
Všiml jsem si, že jsi v kódu nově rozdělil výpočet pohybu a kolizí zvlášť na osu X a osu Y – jaký konkrétní problém s ovládáním by nastal, kdyby se obě osy kontrolovaly současně, a jak toto rozdělení ovlivňuje chování postavy při pohybu těsně u zdi?