adeno
Období: Týden 19/2026 (od 10.05.) Skupina: tria URL: https://github.com/dereksimicek-sudo/Game.git
1. Splnění základních podmínek
| Podmínka | Status |
|---|---|
| Alespoň 3 commity v daném týdnu | ❌ NESPLNĚNO |
| Rozestup alespoň 12h mezi 3 commity | ❌ NESPLNĚNO |
| Projektová dokumentace (README, projekt.md) | ❌ NESPLNĚNO |
2. Přehled commitů
- 2026-05-11 08:25: I added game menu to start the game, also increased the size of the game to full screen
3. Výsledky AI analýzy kódu
| Metrika | Hodnota |
|---|---|
| Celkové body (AI) | 18 / 20 b. (90%) |
| Náročnost projektu (Index) | 3 |
| Počet commitů | 1 |
| Změněné soubory | 2 |
| Počet přid./odeb. řádků kódu | 120 |
Komentář a zpětná vazba od AI
Ahoj, jsem tvůj pedagogický asistent a prostudoval jsem tvou práci na projektu „Mini Age of War“. Tady je tvé hodnocení za uplynulý týden.
1. Smysluplnost popisů u commitů [3 body]
Zpráva u commitu je jasná a srozumitelná. Dobře popisuje hlavní změny (přidání menu a přechod na full screen). Do budoucna bych doporučil rozdělit takto velký balík změn do více menších commitů (např. zvlášť responzivita plátna a zvlášť logika menu), aby byla historie vývoje přehlednější.
2. Smysluplnost komentářů v kódu [6 bodů]
Komentáře v kódu jsou na výborné úrovni. Oceňuji přehledné oddělení sekcí (GAME STATE, COMBAT, INPUT) a vysvětlení účelu nových proměnných (např. game_started). Kód je díky tomu velmi snadno čitelný i pro někoho, kdo ho vidí poprvé.
3. Kvalita a srozumitelnost dokumentace a struktura repozitáře [1 bod]
README.md je zpracováno špičkově – obsahuje popis, technologie i plánované funkce. Bohužel musím strhnout bod za porušení pravidel struktury repozitáře. V rootu se nachází prázdná nebo zbytečná složka /New project, která v čistém projektu nemá co dělat. Před odevzdáním si vždy ukliď pracovní adresář.
4. Logika řešení a přemýšlení studenta v Pythonu [8 bodů]
Udělal jsi velký kus práce v oblasti responzivity a řízení stavu hry. Implementace dynamického přepočítávání souřadnic země a bází podle velikosti okna je velmi pokročilá a logicky správná. Refaktorování funkce draw() tak, aby počítala s proměnnými místo fixních čísel, je skvělý krok k profesionálnímu kódu.
Našel jsem však drobné nedostatky v důslednosti této responzivity:
* Ve funkci draw() při vykreslování startovní obrazovky používáš: ctx.fillRect(0, 0, 800, 300) zde je chyba. Jelikož jsi zavedl dynamické plátno, měl bys používat canvas.width a canvas.height, jinak na velkém monitoru bude bílý obdélník jen v rohu.
* U vykreslování textu "Mini Age of War" používáš fixní souřadnice 240, 120 zde je chyba. Na mobilu nebo velmi malém okně může text zmizet nebo být mimo střed. Měl by být počítán jako width / 2.
Celkově ale chválím zapojení události window.bind("resize", ...) a čisté vyřešení startu hry přes HTML tlačítko.
Celkem získáno bodů: [18 / 90%] ze 20 možných
STUPNICE NÁROČNOSTI (Index 1-5): DIFFICULTY_INDEX: [3]
Kontrolní otázka k obhajobě
Všiml jsem si, že jsi v
game_looppřesunul volánídraw()mimo hlavní podmínkuif game_started and game_running– mohl bys vysvětlit, proč je to pro fungování tvého nového menu nezbytné a co přesně by hráč viděl na obrazovce ihned po načtení stránky, kdybydraw()zůstalo uvnitř té podmínky?