Nvm_Sorry
Období: Týden 21/2026 (od 24.05.) 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 | ❌ NESPLNĚNO |
| Projektová dokumentace (README, projekt.md) | ❌ NESPLNĚNO |
2. Přehled commitů
- 2026-05-28 12:14: Změna textur stěn a podlahy + úprava HP nepřátel
- 2026-05-30 10:01: Nový Enemy
- 2026-05-30 17:05: Knockback
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 | 227 |
Komentář a zpětná vazba od AI
Ahoj, jsem tvůj asistent pro výuku Pythonu. Prostudoval jsem tvou práci na projektu The Labyrinth za uplynulý týden a musím říct, že jsi udělal velký kus práce, zejména v oblasti herní mechaniky a vizuální stránky. Zde je tvé hodnocení:
1. Smysluplnost popisů u commitů [3 body]
Zprávy u commitů jsou jasné, stručné a přesně popisují, co se v kódu změnilo (přidání knockbacku, nový nepřítel, úprava textur). Student dodržuje dobrou praxi verzování.
2. Smysluplnost komentářů v kódu [6 bodů]
Komentáře v kódu jsou vynikající. Oceňuji zejména vysvětlení matematických principů (např. u tření knockbacku nebo u výpočtu úhlu odhození). Pomáhají udržet kód čitelný i při rostoucí komplexitě. Všiml jsem si drobné gramatické chyby v komentáři: "...aby nepřítel neviděla skrz zdi..." (má být neviděl).
3. Kvalita a srozumitelnost dokumentace a struktura repozitáře [2 body]
Struktura repozitáře je příkladná. Projekt má svou vlastní složku /The-Labyrinth/ a textury jsou logicky odděleny v podsložce. Soubory mají jasné a smysluplné názvy. README.md sice obsahuje podivné formátování (nadbytečné mezery v textu), ale obsahově plní svůj účel.
4. Logika řešení a přemýšlení studenta v Pythonu [8 bodů]
Tento týden jsi implementoval několik pokročilých prvků:
- Knockback systém: Velmi oceňuji logiku rozdělení pohybu na osu X a Y při kolizích, což zabraňuje "zasekávání" nepřátel do zdí při diagonálním odhozu. Použití math.atan2 pro výpočet úhlu od hráče je matematicky správné řešení.
- Procedurální generování textur: Funkce create_seeker_texture ukazuje pokročilé využití knihovny Pygame (práce s SRCALPHA, kreslení geometrických tvarů a práce se světelným efektem pomocí BLEND_RGBA_ADD). To výrazně šetří paměť a dává hře unikátní styl.
- Stavový management: Rozšíření slovníku nepřítele o nové klíče (knockback_x, type) a následná úprava resetovací funkce je logická a čistá.
- Drobná výtka: V kódu pro Seeker v reset_game_world jsi přidal klíč 'type', ale v původním kódu pro Fly jsi ho v jednom commitu zapomněl, což by mohlo vést k chybě KeyError, pokud by kód očekával typ u všech entit. Později jsi to však v logice pohybu ošetřil pomocí .get('type', 'Fly').
Celkem získáno bodů: [19 / 95%] ze 20 možných
DIFFICULTY_INDEX: [3]
Kontrolní otázka k obhajobě
V rámci implementace knockbacku v cyklu nepřátel násobíš složky
knockback_xaknockback_yhodnotou0.85– co přesně tento výpočet v pohybu nepřítele zajišťuje a jak by se jeho chování změnilo, kdybys tuto hodnotu přepsal na1.1?