Kontrolní otázky od AI

Týden 18/2026 (od 03.05.) – Doplňující otázky k obhajobě.

📁 Archiv-2026
Zpět

Kontrolní otázky od AI – Týden 18/2026 (od 03.05.)


Student: Bizon

Všiml jsem si, že při implementaci rošády jsi z funkce main odstranil blok kódu zajišťující proměnu pěšce na dámu – mohl bys mi vysvětlit, proč jsi to udělal a co se teď stane, když pěšec dorazí na konec šachovnice?


Student: damykk

Co se stane, pokud spustíš příkaz 'remove 1' ve chvíli, kdy soubor 'tasks.txt' ještě neexistuje, a proč v tomto konkrétním případě pád programu nezastaví tvůj blok except (IndexError, ValueError):?


Student: drobek

V programu nikde nekontroluješ, zda hráč nezadává souřadnice karty, která už je dávno otočená – co se stane s proměnnou nalezeno a ukončením herní smyčky, pokud hráč bude několikrát po sobě zadávat souřadnice stejné, již odkryté dvojice?


Student: Gajdy_wdym

Všiml jsem si, že při aktualizaci částic i textů vytváříš v každém snímku nový pomocný seznam (např. popping_particles), do kterého aktivní prvky filtruješ – mohl bys vysvětlit, proč jsi zvolil tento přístup místo toho, abys ty „mrtvé“ prvky odstraňoval pomocí metody .remove() nebo del přímo v té hlavní smyčce, ve které je vykresluješ?


Student: ilou

V části kódu pro hlavní menu máš příkaz continue; jak přesně tento příkaz ovlivňuje zbytek hlavní smyčky while hra_bezi a co by se s ufony a hrou dělo na pozadí, kdyby tam tento řádek chyběl?


Student: ILuvCode

V metodě save_settings ukládáš do JSON souboru přímo hodnotu settings["WindowSize"], zatímco v obsluze on_closing zapisuješ polohu okna do klíče settings["window_geometry"] – jakým způsobem tedy tvůj kód zajistí, aby se při příštím spuštění načetly správné hodnoty, když se názvy klíčů neshodují a struktura ukládaných dat neodpovídá tomu, co očekává settings.update()?


Student: Jarmil

V rámci tvého nového shopu si hráč může koupit upgrade „Smaller snake“, který zvyšuje proměnnou size_lvl – kde přesně v logice hry tuto proměnnou následně využíváš k tomu, aby se tělo hada skutečně zkrátilo nebo zmenšilo?


Student: Katana

V souboru pazaak.py používáš ve funkci ai_play() cyklus while pro simulaci tahu soupeře – uvidí hráč na obrazovce plynule, jak si AI postupně karty dobírá, nebo se celkový součet AI změní okamžitě, a co je příčinou tohoto chování z hlediska fungování herní smyčky a překreslování v Pygame?


Student: kejousek

Proč v hlavní herní smyčce při pohybu a logice nepřátel používáš zápis for enemy in list(enemies): místo prostého for enemy in enemies: a co konkrétně by se v programu dělo za chybu, kdybys tu kopii seznamu (pomocí list()) vynechal?


Student: Litr

Vysvětli mi, proč jsi v poslední verzi upravil odpočet player_invincible tak, aby běžel v každém snímku i během dashování, a jakým způsobem řádek s funkcí max() v obsluze kliknutí myši zajišťuje, že hráč zůstane chráněný i při velmi rychlém „spamování“ útoků?


Student: Luros

Proč v rámci funkce aktualizuj_cas využíváš pro opakování metodu .after() a co by se stalo s tvým grafickým oknem, kdybys stejného opakování zkusil docílit pomocí cyklu while True?


Student: Maximistr

V metodě draw_maze máš určité pořadí podmínek if/elif pro vykreslování barev – co konkrétně by se změnilo na obrazovce v okamžiku vítězství, kdybys v kódu prohodil pořadí větve pro self.player_pos a větve pro self.maze.end?


Student: Mendys

V tabulce v README jsi přidal projekt s názvem „Pyside6_learning“, zatímco tvá složka se zdrojovými kódy se jmenuje „Project preview“ – můžeš vysvětlit tento nesoulad v pojmenování a upřesnit, zda soubor „kostka_app.py“ patří k tomuto novému záznamu, nebo proč v tabulce zatím chybí?


Student: NahrazenoAI

Proč jsi v šesté verzi přesunul příkaz random.shuffle(otazky) až dovnitř cyklu while a jaký konkrétní rozdíl by uživatel pocítil při opakovaném hraní, kdyby tento příkaz zůstal vně cyklu, jako tomu bylo v páté verzi?


Student: Nvm_Sorry

V rámci detekce zásahu nepřítele používáš u výpočtu proměnné angle_diff specifickou konstrukci (angle_e - angle_to_use + 180) % 360 - 180 – mohl bys mi vysvětlit, proč tam ty hodnoty 180 figurují a jaký konkrétní problém s orientací v kruhu (360°) tímto matematickým obratem řešíš?


Student: Paprikon34

Proč jsi komentář // inicializace v souboru acout_simulator.cpp umístil až pod deklarace proměnných balance a deposit_amount, když k jejich faktické inicializaci na hodnotu 0.0 dochází už o několik řádků dříve?


Student: TheReader

V metodě get_depth u třídy Block kombinuješ self.level * 1000 s průměrem souřadnic X a Y – proč je tento konkrétní výpočet klíčový pro správné zobrazení izometrického pohledu a co přesně by se ve hře dělo s bloky v rámci jednoho patra, kdybys hloubku určoval pouze podle parametru self.level?


Student: Titan

Kdybychom chtěli s proměnnou vysledek dále matematicky pracovat (například k ní přičíst číslo 10), v jaké konkrétní situaci by program skončil chybou a co přesně v definici tvé funkce tuto nekonzistenci způsobuje?


Student: virtualAI

Vysvětli, proč jsi v podmínce pro zachycení hvězdy definoval novou proměnnou basket_y s posunem + 55 a co přesně se v herní mechanice stane, pokud se padající hvězda dotkne hlavy nebo trička postavičky?


Student: Vojcinn

Proč v metodě mystic_chest dostává hráč za nalezení duplicitního artefaktu náhodné množství zlata (20–40), zatímco v hlavní herní smyčce main dostává za stejnou situaci fixních 50 zlatých?


Student: Vozuch

V souboru tic_tac_toe.py jsi přesunul změnu proměnné aktualni_hrac až do větve else – co konkrétně by se stalo s textem oznamujícím vítěze v případě výhry, kdybys hráče přepnul hned po kliknutí na políčko, ještě před kontrolou výherních kombinací?