adeno
Období: Týden 16/2026 (od 19.04.) Skupina: tria
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 |
Vypočtený Index za tento týden: 108
Týdenní Index Náročnosti dodaných skriptů (1-5): 3
2. Kvantitativní přehled úprav
| Metrika | Hodnota |
|---|---|
| Počet všech commitů | 2 |
| Počet změněných souborů | 1 |
| Počet přid./odeb. řádků kódů | 90 |
Přehled commitů
- 2026-04-20 08:27: Improved game loop order and UI rendering
Reordered game loop to ensure logic updates occur before rendering. Fixed UI bug where base health was drawn multiple times due to incorrect indentation. Cleaned up duplicate draw function. - 2026-04-22 06:12: Added on-screen win/lose display
Implemented visual feedback for game result. Game now displays win or lose message directly on the canvas instead of console output.
3. Hodnocení asistentem AI (Logika a úsilí)
Ahoj! Jako tvůj asistent pro výuku programování jsem prošel tvůj kód a pokroky, které jsi udělal na projektu "Mini Age of War". Oceňuji tvůj strukturovaný přístup a snahu o čistý kód.
Zde je tvé hodnocení za uplynulý týden:
1. Smysluplnost popisů u commitů [3 body]:
Tvé commit zprávy jsou vynikající. Nejenže stručně popisují, co se změnilo, ale v těle zprávy vysvětluješ i důvod změny a konkrétní opravy (např. oprava vícenásobného vykreslování životů). To je skvělá praxe, která velmi usnadňuje spolupráci v týmu.
2. Smysluplnost komentářů v kódu [6 bodů]:
Kód je komentován příkladně. Používáš oddělovače sekcí (GAME STATE, COMBAT, atd.), což zvyšuje čitelnost. Velmi chválím i docstring u funkce draw() a upozornění v komentářích na důležitá místa (např. # OUTSIDE loop!), která vysvětlují logiku opravy chyb.
3. Kvalita a srozumitelnost dokumentace a struktura repozitáře [2 body]:
Všechny soubory jsou správně umístěny ve složce projektu /mini-age-of-war/, žádný soubor neleží v rootu repozitáře. README.md je zpracováno profesionálně – obsahuje popis technologie, aktuální stav i plán budoucího vývoje. Struktura je přehledná a odpovídá zadání.
4. Logika řešení a přemýšlení studenta v Pythonu [7 bodů]:
V logice jsi udělal velký skok vpřed. Implementace poškození základny a správa herního stavu (výhra/prohra) jsou logické. Velmi oceňuji refaktoring herní smyčky – seřazení operací (Pohyb -> Souboj -> Poškození -> Vykreslení) je pro hry klíčové.
V kódu jsem však narazil na jeden logický nedostatek v souboru game.py (v rámci posledního commitu):
for enemy in enemy_units:
if enemy.x < 70: # reached player base
player_base_health -= 1
enemy.health = 0
<span style='color: red;'>zde je chyba</span>
global game_result
if enemy_base_health <= 0:
game_result = "YOU WIN!"
game_running = False
V bloku handle_base_damage jsi omylem odsadil kontrolu výhry/prohry dovnitř cyklu for enemy in enemy_units. To znamená, že hra kontroluje konec pouze tehdy, pokud jsou na ploše nějací nepřátelé. Pokud by hráč vyhrál zničením základny a na ploše by zrovna nebyl žádný nepřítel, hra by neskončila, dokud by se neobjevil další nepřítel. Také deklarace global uvnitř cyklu není dobrou praxí, měla by být na začátku funkce.
Celkem získáno bodů: [18 / 90%] ze 20 možných
STUPNICE NÁROČNOSTI (Index 1-5): Práce s herní smyčkou, Brythonem, list comprehension pro čištění mrtvých jednotek a správa stavu pomocí globálních proměnných odpovídá střední náročnosti. DIFFICULTY_INDEX: [3]