Kontrolní otázky od AI

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

📁 Archiv-2026
Zpět

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


Student: adeno

Všiml jsem si, že jsi v game_loop přesunul volání draw() mimo hlavní podmínku if 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, kdyby draw() zůstalo uvnitř té podmínky?


Student: Bizon

Všiml jsem si, že tvá funkce get_valid_moves vrací tahy na základě pohybu figur, ale dovolí mi tvůj program v aktuálním stavu udělat tah, po kterém by můj vlastní král zůstal v šachu, a pokud ano, jak přesně bys musel upravit logiku výběru tahů, aby to odpovídalo pravidlům?


Student: damykk

V souboru timer.py v metodě resume používáš k určení stavu po obnovení podmínku self.remaining <= self.work_duration – dokážeš vysvětlit, proč tato logika způsobí chybu (přepnutí zpět na 'work') pokaždé, když se pokusíš obnovit pozastavenou přestávku, která je kratší než celkový pracovní interval?


Student: drobek

V souboru pexeso.py vytváříš pole odkryte pomocí konstrukce [[False]*4 for _ in range(2)]; co by se stalo, kdybys místo toho použil zápis [[False]*4]*2, a jak konkrétně by to ovlivnilo zobrazení hracího pole v konzoli po zadání souřadnic první karty?


Student: Gajdy_wdym

Všiml jsem si, že ceny tvých elementů (21, 34, 55, 89, 144...) původně přesně sledovaly Fibonacciho posloupnost, ale u Neonu a Sodíku jsi toto pravidlo v posledním commitu porušil – co tě vedlo k tomuto konkrétnímu zásahu do matematické logiky hry a proč jsi u Neonu cenu snižoval, zatímco u Sodíku zvyšoval?


Student: ilou

Proč jsi u obrázků použil kombinaci metody .convert_alpha() a funkce .set_colorkey((0, 0, 0)), a jaký konkrétní problém by nastal, kdyby měl tvůj ufon v sobě detaily vykreslené čistě černou barvou?


Student: ILuvCode

Proč v metodě qm_on_right_click používáš pro umístění menu souřadnice event.x_root a event.y_root namísto event.x a event.y, které si o řádek výše vypisuješ do konzole?


Student: Jarmil

Všiml jsem si, že jsi z funkce shop odstranil parametr i návratovou hodnotu size_lvl – co přesně by se v programu stalo v momentě návratu z obchodu, kdybys v hlavním cyklu main u volání této funkce zapomněl smazat size_lvl na levé straně od rovnítka?


Student: Katana

V souboru pazaak_2p.py ve funkci use_side používáš random.choice a následně kontroluješ if value is not None – vysvětli mi, za jaké situace by tato podmínka v tvém aktuálním kódu mohla být nepravdivá a co se stane s běžící hrou ve chvíli, kdy hráč vyčerpá všechny čtyři karty ze svého side balíčku a pokusí se zahrát další?


Student: kejousek

V metodě in_range u třídy Tower porovnáváš vzdálenosti bez použití odmocniny, zatímco v metodě move u třídy Projectile ji vypočítáváš – dokázal bys vysvětlit, proč je v prvním případě odmocnina zbytečná a co přesně by se v tom druhém případě stalo s pohybem střely, pokud by vzdálenost dist byla rovna nule?


Student: kumor

V metodě tick v souboru main.py přičítáš čas do total_minutes až ve chvíli, kdy session_seconds dosáhne 60 – co se přesně stane s naměřenými vteřinami, pokud uživatel vypne Focus režim po 50 sekundách, a jak bys kód upravil, aby se tento čas neztratil a byl správně započítán i po restartu aplikace?


Student: Litr

Proč v metodě get_level_enemies vytváříš lokální generátor rng se seedem level * 1337 namísto použití standardních funkcí modulu random a jaký konkrétní dopad by smazání tohoto řádku mělo na hratelnost, pokud by se hráč do stejného levelu vrátil (například po smrti)?


Student: Luros

Proč u tlačítka pro uložení poznámek používáš v parametru command konstrukci lambda a co přesně by se stalo už při startu aplikace, kdybys ji vynechal a funkci uloz_poznamky tam zapsal i se závorkami a argumenty?


Student: Maximistr

Proč v metodě carve_path využíváš pro hledání sousedů krok o velikosti 2 (např. dx=2) a co by se stalo s výslednou strukturou bludiště, kdybys tento krok změnil na 1 a zároveň odstranil logiku výpočtu wall_x a wall_y?


Student: NahrazenoAI

Kdybys ze svého kódu odstranil příkaz continue v části pro „rychlovky“, jak přesně by se změnilo chování programu v situaci, kdy uživatel sice odpoví správně, ale až po vypršení časového limitu?


Student: Nvm_Sorry

V rámci generování dekorací ve funkci reset_game_world používáš u pavučin (Cobweb) vnořený cyklus s funkcí any() – mohl bys mi vysvětlit, co přesně kontroluje ta logika s dr a dc a jaký konkrétní vizuální problém v bludišti řeší?


Student: Paprikon34

Jakou konkrétní podmínku používáš v update_stats.py k identifikaci složky jako „projektu“ a co by se z pohledu statistik v souboru repo_stats.json změnilo, kdybych do repozitáře přidal novou složku s názvem dokumentace_projektu, která nezačíná číslem?


Student: TheReader

V metodě draw u třídy Block teď definuješ všech šest stěn a používáš u nich kontrolu if area > 0 (Shoelace formula) – proč je tato podmínka nezbytná právě teď, když v předchozí verzi kódu (kde se vykreslovaly jen tři stěny) vůbec nebyla potřeba a vše fungovalo?


Student: Titan

V komentářích u importů vysvětluješ, že knihovnu ast používáš pro „bezpečnou matematiku“ – mohl bys mi popsat, jaké konkrétní bezpečnostní riziko by hrozilo při použití běžné funkce eval() a ve které části tvého aktuálního kódu k tomuto bezpečnému výpočtu reálně dochází?


Student: virtualAI

Co přesně by se stalo s chováním a vzhledem okna tvé aplikace v souboru brain_test.py, kdybys v metodě zkontroluj_odpoved nahradil volání self.after(3500, self.nacti_otazku) standardním příkazem time.sleep(3.5)?


Student: Vojcinn

V bloku pro načtení hry (volba 2) ve funkci main voláš game_loop(player) a následně return – co přesně by se v programu dělo po skončení načtené hry, kdybys tento return smazal?


Student: Vozuch

V souboru football.py vykresluješ hřiště, branky i hráče ještě před začátkem hlavní herní smyčky while bezi – jak se tato struktura kódu projeví na obrazovce ihned po spuštění programu a co konkrétně bys musel v kódu změnit, aby tyto prvky z obrazovky po prvním snímku nezmizely?