Kontrolní otázky od AI

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

📁 Archiv-2026
Zpět

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


Student: adeno

Tvoje funkce on_click(event) přijímá argument event, který ale v těle funkce nepoužíváš – co přesně tento objekt obsahuje a jak by ses na něj musel v kódu odkázat, kdybys chtěl, aby se jednotka vytvořila přesně v místě kliknutí myši namísto fixní souřadnice (80, 190)?


Student: Bizon

V projektu Time Dodge jsi změnil logiku pohybu na procházení seznamu kláves v cyklu for – jak se teď změní rychlost postavy v případě, že hráč drží současně klávesu 'D' i 'šipku doprava', a proč se to nyní chová jinak než v tvé původní verzi s operátorem or?


Student: damykk

V seznamech white_pieces a black_pieces jsi prohodil pořadí krále a dámy, zatímco seznamy souřadnic zůstaly beze změny – jak se tato úprava konkrétně projevila na počátečním rozestavení těchto dvou figur na šachovnici?


Student: drobek

Vysvětli mi, proč ve funkci smaz_heslo otevíráš soubor v módu 'w', a co by se stalo s tvým seznamem hesel, kdybys tam místo toho nechal mód 'a'?


Student: Gajdy_wdym

Vysvětli mi, jakým způsobem v tvém kódu ovlivňuje prvek Germanium (Ge) efektivitu ostatních prvků a z jakého logického důvodu jsi jeho násobitel ge_bonus zahrnul do výpočtu u Scandia (Sc), ale u finálního Bromu (Br) už ne?


Student: ilou

V metodě convert_shape_format provádíš u výpočtu souřadnic korekci pos[0] - 2 a pos[1] - 4 – mohl bys mi vysvětlit, proč jsou tam právě tyto konkrétní hodnoty a co přesně by se stalo se zobrazením padajících kostek, kdybychom tuto úpravu z kódu odstranili?


Student: ILuvCode

V projektu Reinforcement Learning používáš v sekci „Exploit“ fixní podmínky typu if BotX < TargetX, tak mi vysvětli, k čemu tam v tuhle chvíli reálně slouží proměnná epsilon a proč tvůj bot ve skutečnosti k rozhodování vůbec nevyužívá ty vypočítané odměny?


Student: Jarmil

Proč jsi ve funkci draw_galaxy_background změnil horní hranici u random.randint na WIDTH-1 a HEIGHT-1 a co konkrétně by se v aplikaci stalo, kdyby tam padla hodnota přesně rovná šířce nebo výšce okna?


Student: Katana

V dokumentaci k projektu Turnbattle uvádíš, že program obsahuje mechaniku léčení a náhodné chování nepřítele, ale v samotném kódu Turnbattle.py nic takového implementováno není – mohl bys mi tedy vysvětlit, jak přesně v tvém aktuálním kódu funguje ten „souboj“, a proč se v souboru Turnbattle.py nenachází třída Enemy, kterou zmiňuješ v technické části dokumentace?


Student: kejousek

Všiml jsem si, že v poslední verzi vykresluješ překážku jako trojúhelník pomocí pygame.draw.polygon, ale detekci kolize v hlavní smyčce stále počítáš pomocí souřadnic obdélníku (AABB) – jak se tento rozdíl mezi vizuálním tvarem a „hitboxem“ projevuje při hraní a jak bys mohl matematicky upravit podmínku, aby kolize přesněji odpovídala šikmým hranám hrotu?


Student: kumor

V souboru to_do_list.py importuješ modul json a průběžně plníš Python seznam tasks, i když se s nimi v kódu dále nijak nepracuje – mohl bys mi vysvětlit, k čemu přesně měly tyto prvky sloužit a proč by aplikace fungovala úplně stejně, i kdybys je smazal?


Student: Litr

Proč ve funkci draw_cube_with_line počítáš úhel rotace pomocí math.atan2(-cube_velocity, pillar_velocity) a jakou roli v tomto výpočtu hraje rychlost sloupů, když se samotná x-ová souřadnice kostky v čase vůbec nemění?


Student: Luros

Vysvětli mi, proč v metodě po_kliknuti provádíš řazení pomocí sorted až na staženém seznamu receptů – pokud sliderem omezíš parametr number na 5, dostane uživatel skutečně 5 nejlepších receptů z celé databáze Spoonacular, nebo jen seřazenou pětici, kterou API vybralo jako první?


Student: Maximistr

V metodě sound_to_image_lossless doplňuješ data o padding, aby odpovídala rozměrům pixelů – jak přesně při zpětném dekódování v image_to_sound_lossless zajistíš, že se tyto doplňkové nulové bajty neuloží do výsledného WAV souboru a neovlivní tak jeho délku?


Student: Mendys

V metodě update_face_textures simuluješ 3D efekt stínováním – mohl bys mi vysvětlit, proč pro přední stranu vykresluješ na souřadnicích tx - 2, ty - 2 světlou barvu, zatímco pro zadní stranu na tuto relativní pozici dáváš barvu tmavou a jaký fyzický rozdíl mezi oběma stranami tím simuluješ?


Student: NahrazenoAI

Vysvětli mi, proč v logice dokončení úkolu používáš metodu .pop(index) a v čem přesně by byl program nespolehlivý, kdybys místo práce s indexem použil metodu .remove() s textovým názvem úkolu v případě, že by uživatel zadal dva úplně stejné úkoly?


Student: Nvm_Sorry

V části pro Fog of War používáš u paprsků výpočet push_amount – co přesně by se na obrazovce změnilo, kdyby ses rozhodl tento řádek smazat a nechal closest_point přesně tam, kde ho vrátil clipline?


Student: Paprikon34

Proč v metodě get_asset_path konstruuješ cestu pomocí os.path.dirname(os.path.abspath(__file__)) místo toho, abys prostě použil relativní cestu 'assets/...', a v jaké konkrétní situaci by ta jednodušší relativní cesta způsobila pád programu?


Student: Přezdívka

V souboru patch_level_up.py používáš metodu replace k automatické úpravě zdrojového kódu hry – jak máš v tomto skriptu ošetřeno, aby se při jeho opakovaném spuštění stejné bloky kódu nevložily do souboru 2dsurvival_game.py vícekrát a nerozbily tak jeho syntaktickou strukturu?


Student: TheReader

V části pro vykreslování menu používáš pro šířku hrotu vzorec sw = 30 / (1 + (n - 1) * 0.5) – mohl bys mi vysvětlit logiku tohoto výpočtu a proč jsi tam jednoduše nepoužil stejné fixní hodnoty jako při vykreslování hrotů přímo v herní ploše?


Student: Titan

V komentáři u převodníku jednotek vysvětluješ příklad převodu 100 cm na metry výpočtem „100 × 100 = 1 m“ – mohl bys mi vysvětlit, proč jsi tam tento výpočet napsal a jaký výsledek by mi tvůj program vyhodil ve skutečnosti?


Student: virtualAI

V konstruktoru třídy Ghost v souboru pekman.py používáš řádek self.direction = Direction.NONE if self.direction == Direction.NONE else self.direction – můžeš mi vysvětlit, jaký má tento příkaz konkrétní význam pro logiku pohybu duchů a co by se v programu změnilo, kdybys ho úplně odstranil?


Student: Vojcinn

Proč se progres u questu typu „gold“ započítává pouze při náhodném nalezení zlata v místnosti, ale už se neaktualizuje po vyhraném souboji, i když v obou případech hráč zlato reálně získá?


Student: Vozuch

V úpravách pohybu používáš u klávesy W podmínku and smer != (0, -1) – co se stane, když had právě míří dolů a hráč stiskne klávesu pro pohyb nahoru, a proč tvůj kód v tuto chvíli nezabrání tomu, aby se had okamžitě otočil do vlastního těla?