Leopard
Období: Týden 15/2026 (od 12.04.) Skupina: zatopek
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 |
Vypočtený Index za tento týden: 294
Týdenní Index Náročnosti dodaných skriptů (1-5): 3
2. Kvantitativní přehled úprav
| Metrika | Hodnota |
|---|---|
| Počet všech commitů | 3 |
| Počet změněných souborů | 5 |
| Počet přid./odeb. řádků kódů | 281 |
Přehled commitů
- 2026-04-14 15:35: Základní struktura 3D hry inicializována.
- 2026-04-15 06:34: Pohyb hráče a interakce s prostředím implementovány.
- 2026-04-15 21:34: Vylepšená vizuální stránka a robustnost hry dokončeny.
3. Hodnocení asistentem AI (Logika a úsilí)
Jako pedagogický asistent jsem zhodnotil tvou práci na projektu 3D hry v knihovně Ursina. Je vidět velký kus práce, zejména v přechodu mezi fází 2 a fází 3, kde jsi úspěšně implementoval komplexnější mechaniky, jako je gravitace a rotace kamerou.
Zde je tvé hodnocení:
1. Smysluplnost popisů u commitů [3 body]
Zprávy v historii jsou jasné, stručné a přesně popisují provedené změny. Pomáhají v orientaci, co bylo v daný den dokončeno (inicializace, pohyb, vizuál).
2. Smysluplnost komentářů v kódu [6 bodů]
Komentáře v kódu jsou vynikající. Neomezuješ se jen na popis toho, "co" kód dělá, ale vysvětluješ i "proč" (např. vysvětlení texture_scale, origin_y nebo application.time_scale). To je velmi důležité pro pochopení principů 3D enginu.
3. Kvalita a srozumitelnost dokumentace a struktura repozitáře [2 body]
Repozitář je vzorně strukturovaný. Každý projekt má svou vlastní složku a v rootu se nachází pouze README.md, což je v souladu s pravidly. Dokumentace v 3dgame_projekt.md je podrobná a přehledně rozdělená na funkční a technickou část.
* Drobné upozornění: V souboru 3dgame_projekt.md u popisu Fáze 2 ti zůstala nedokončená věta: "Kamera je nově navá".
4. Logika řešení a přemýšlení studenta v Pythonu [8 bodů]
Progrese mezi verzemi je velmi dobrá. Ve fázi 3 jsi správně přešel od jednoduchého měnění souřadnic k logice vektorů (self.forward, self.right), což je pro 3D pohyb správný postup. Implementace gravitace a skoku pomocí vertikální rychlosti (velocity_y) je logická.
Našel jsem však kritickou chybu v logice detekce země:
* V souboru 3dgame_faze3.py na řádku 89 máš: hit_info = self.intersects(ignore=[self, ground]). Tím, že jsi do seznamu ignore přidal objekt ground, funkce intersects ho při kontrole kolizí ignoruje. Následná podmínka if hit_info.hit and hit_info.entity == ground se tedy nikdy nevyhodnotí jako pravdivá, protože v seznamu 'ignore' je uveden 'ground', což způsobí, že paprsek/kolize entitu země neuvidí. Hráč by tak pravděpodobně propadl nekonečně hluboko.
Celkem získáno bodů: [19 / 95%] z 20 možných
DIFFICULTY_INDEX: 3