ilou
Období: Týden 11/2026 (od 15.03.) Skupina: tria URL: https://github.com/cieslarova/ilou.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) | ✅ SPLNĚNO |
2. Přehled commitů
- 2026-03-16 09:09: nová hra Flappy_bird a taky přejmenovájí slozky regular na REGULAR
- 2026-03-18 14:04: Přidána druhá fáze hry Pták (překážky a skóre)
- 2026-03-20 15:31: doděláná poslední fáze pro Flappy Bird a doplněná dokumentace
3. Výsledky AI analýzy kódu
| Metrika | Hodnota |
|---|---|
| Celkové body (AI) | 19 / 20 b. (95%) |
| Náročnost projektu (Index) | 4 |
| Počet commitů | 3 |
| Změněné soubory | 7 |
| Počet přid./odeb. řádků kódu | 628 |
Komentář a zpětná vazba od AI
Ahoj, jsem tvůj pedagogický asistent a prošel jsem tvou práci za uplynulý týden. Tvůj posun v projektu Flappy Bird je velmi výrazný a oceňuji tvůj přístup k organizaci kódu. Zde je tvé hodnocení:
1. Smysluplnost popisů u commitů [3 body]
Zprávy commitů jsou jasné a věcné. Dobře popisují, co bylo v dané verzi přidáno (fáze hry, dokumentace, přejmenování složek). Pomáhají mi jako učiteli sledovat tvůj chronologický postup. Drobný překlep v „přejmenovájí“ je zanedbatelný.
2. Smysluplnost komentářů v kódu [6 bodů]
Komentáře v kódu jsou vynikající. Oceňuji použití docstringů u funkcí, rozdělení kódu do logických bloků pomocí oddělovačů a vysvětlení konkrétních řádků (např. u modulu os nebo lambda funkce při řazení). 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 [2 body]
Všechny soubory jsou správně roztříděny do složek (PTAK, HAD, REGULAR, KOSIK). Dokumentace v souborech _projekt.md je vyčerpávající a profesionální. Dodržel jsi pravidlo, že v rootu jsou pouze konfigurační a přehledové soubory.
4. Logika řešení a přemýšlení studenta v Pythonu [8 bodů]
Tvé řešení vykazuje velký pokrok. Implementace ukládání skóre do souboru, ošetření chyb pomocí try-except a práce s pygame.Rect pro kolize jsou na vysoké úrovni.
Našel jsem však pár logických a technických nedostatků, na které si dej pozor:
* Kolize ovládání: V hlavní smyčce máš u pygame.K_SPACE nastaven jak skok, tak pauzu. V praxi to znamená, že při každém pokusu o skok mezerníkem hru zároveň zastavíš. Pro pauzu by bylo lepší zvolit např. klávesu 'P' nebo 'Esc'.
* Zatížení procesoru: Ve funkci pauza máš while cyklus, ve kterém chybí hodiny.tick(FPS). To způsobí, že procesor poběží na 100 %, i když se ve hře nic neděje.
* Rekurze: V sekci pro restart voláš herni_smycka() znovu zevnitř sebe sama. Při mnoha restartech za sebou by mohl program spadnout na limit rekurze. Lepší je smyčku řídit vnějším cyklem (např. v main()).
* Překlep v barvě: Máš definovanou konstantu ZALTA_PTAK = (255, 255, 0). Předpokládám, že šlo o překlep ze slova ZLUTA.
Celkem získáno bodů: [19 / 95%] ze 20 možných
DIFFICULTY_INDEX: [4]
Kontrolní otázka k obhajobě
Vysvětli mi, proč v řádku
high_scores = sorted(high_scores, key=lambda t: t[1], reverse=True)[:3]používáš v lambda funkci právě indext[1]a jak by se změnilo chování celého žebříčku, kdybys tam místo toho napsalt[0]?