Kontrolní otázky od AI

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

📁 Archiv-2026
Zpět

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


Student: adeno

Proč v cyklu pro vykreslování nepřátel nepoužíváš metodu enemy.draw(), kterou jsi definoval ve třídě Unit, a co by se stalo s barvou nepřátelských jednotek, kdybys ji tam místo přímého volání ctx.fillRect použil?


Student: Bizon

Jakým způsobem tvůj kód v cyklu while zajistí, že se soubor nakonec přejmenuje právě na data_2.txt, pokud v cílové složce už existují soubory data.txt i data_1.txt?


Student: damykk

Všiml jsem si, že při restartu hry používáš třísekundový odpočet – mohl bys mi vysvětlit, co se během těchto tří sekund děje na obrazovce se starými trubkami z předchozí hry a v jakém konkrétním místě kódu se jich nakonec zbavíš a resetuješ skóre?


Student: drobek

V posledním commitu u souboru spravce_hesel.py uvádíš, že přidáváš zobrazení hesla, ale v kódu jsi pouze odstranil mřížku (#) z prvního řádku – můžeš mi vysvětlit, jak tato konkrétní změna souvisí s novou funkcí a co se stane, když se skript v tomto stavu pokusíš spustit?


Student: Gajdy_wdym

Proč jsi v logice vykreslování i detekce kliknutí nahradil původní dynamický výpočet řádků a sloupců i // 7 a i % 7 voláním PT_COORDS.get(key, (0, 0)) a co konkrétně by se v herním okně stalo, pokud bys do databáze elements_db přidal nový prvek, ale zapomněl pro něj definovat souřadnice ve slovníku PT_COORDS?


Student: ilou

V metodě check_win používáš pro kontrolu vedlejší diagonály výraz self.grid[i][2 - i] – mohl bys mi vysvětlit, proč je tam zrovna číslo 2 a jaké konkrétní tři dvojice souřadnic (řádek, sloupec) se tímto výpočtem v cyklu postupně projdou?


Student: ILuvCode

V souboru Code.py jsi nastavil velikost želvy i nebezpečné zóny na 49 pixelů, ale velikost mřížky GRID_SIZE je pouze 20 – jakým způsobem tvůj algoritmus ve funkci get_state řeší situaci, kdy želva svou velikostí zasahuje do více buněk mřížky najednou, a jak to ovlivňuje ukládání Q-hodnot?


Student: Jarmil

V rámci refaktoringu jsi zavedl slovník OPPOSITE a podmínku if direction != OPPOSITE[new] – mohl bys mi vysvětlit, jakému konkrétnímu chování hada tato logika brání a co by se v herní mechanice změnilo, kdybychom ji z kódu odstranili?


Student: Katana

V projektu UNO máš v seznamu hodnot i speciální karty „Skip“ a „+2“, ale když se podíváš do své hlavní herní smyčky (while True), jak přesně tvůj kód v aktuální verzi zajistí, aby soupeř po zahrání karty „Skip“ skutečně vynechal tah, a kde konkrétně je tato logika implementována?


Student: kejousek

Všiml jsem si, že jsi u definice skupin čísel (např. red nebo even) změnil původní seznamy na množiny (sety) – jaký konkrétní význam má tato změna pro efektivitu tvého programu při vyhodnocování sázek pomocí operátoru in?


Student: kumor

V metodě format_hours dělíš celkový čas číslem 24 pro výpočet dnů – pokud by uživateli vyšlo, že musí na produkt pracovat přesně 25 hodin čistého času, co konkrétně mu aplikace vypíše a proč jsi v logice nepoužil raději délku reálné pracovní směny?


Student: Litr

Mohl bys mi vysvětlit, proč v projektu Bouncy-Kostka u výpočtu proměnné pulse_val k výsledku funkce sinus nejprve přičítáš jedničku a poté ho dělíš dvěma, než výsledkem vynásobíš hodnotu 120?


Student: Luros

Proč jsi do definice funkce po_kliknuti musel přidat parametr event=None a co přesně by se stalo při stisknutí klávesy Enter, kdybys tam nechal původní verzi def po_kliknuti():?


Student: Maximistr

Ve funkci initialize_level používáš pro výpočet zdraví hráče koeficient 0,2, zatímco u zdraví nepřátel používáš koeficient 0,3 – jak se tato asymetrie konkrétně projeví na herní rovnováze v 5. levelu ve srovnání s 1. levelem a co tě vedlo k rozhodnutí tyto dvě hodnoty nesjednotit pod jednu společnou proměnnou?


Student: Mendys

Mohl bys mi vysvětlit matematickou logiku převodu souřadnic v metodě _draw_chip – konkrétně proč při výpočtu px přičítáš k lokální souřadnici polovinu šířky karty (hw), ale u výpočtu py celý zlomek odečítáš od 1.0?


Student: NahrazenoAI

V poslední verzi programu jsi přidal podmínku if pocet_mereni > 0, aby program nespadl při výpočtu průměru – mohl bys mi vysvětlit, zda tato situace v tvém aktuálním kódu může reálně nastat, a co přesně by se stalo, kdybych slovo 'konec' napsal hned do první otázky na počet aut místo až na konci cyklu?


Student: Nvm_Sorry

Proč v části kódu pro „wobble“ efekt hráče počítáš offset_y jako prostý rozdíl player_draw_size - draw_h, zatímco u offset_x tento rozdíl dělíš dvěma, a jaký konkrétní vizuální význam to má pro ukotvení postavy při pohybu?


Student: Paprikon34

V projektu bankovního simulátoru máš u výpočtu gain_percentage dělení číslem 100.0 – co přesně by se v aplikaci dělo s tvými investicemi, kdybys tu desetinnou část smazal a nechal tam jen celé číslo 100, a jaký programátorský princip by to v C++ ovlivnilo?


Student: Přezdívka

V dokumentaci zmiňuješ, že Boss „nereaguje tolik na knockback“ – jakým konkrétním způsobem jsi v kódu třídy Enemy zajistil toto snížení účinku odrazu oproti ostatním typům nepřátel?


Student: TheReader

V metodě render_buttons používáš cyklus s podmínkou isinstance(widget, tk.Button) k promazání plochy – co přesně by se s grafickým rozhraním kalkulačky při stisknutí tlačítka Shift stalo, kdybys tuto podmínku vynechal a volal widget.destroy() na všechny prvky v self.root bez rozdílu?


Student: Titan

V metodě safe_eval_math pomocí modulu ast kontroluješ typy uzlů a explicitně zakazuješ ast.Call – mohl bys mi vysvětlit, jaké konkrétní bezpečnostní riziko by hrozilo, kdybys v zadávaném matematickém výrazu volání funkcí povolil?


Student: virtualAI

V metodě draw u vykreslování Pac-mana počítáš proměnnou mouth pomocí funkce math.sin – mohl bys mi vysvětlit, jak tato hodnota ovlivňuje parametry toho černého trojúhelníku a co by se ve hře vizuálně změnilo, kdybys v tom výpočtu změnil konstantu 0.2 na 2.0?


Student: Vojcinn

V metodě status jsi opravil odsazení u podmínky pro quest typu 'gold' – k jaké konkrétní chybě (výjimce) by v původním kódu došlo ve chvíli, kdy by hráč neměl žádný aktivní úkol, a proč?


Student: Vozuch

V kódu máš seznam odpoved_recty definovaný globálně na začátku souboru, ale pak ho znovu vyprazdňuješ pomocí odpoved_recty = [] přímo uvnitř hlavní herní smyčky – co konkrétně by se v programu dělo po pár minutách hraní, kdybys ten řádek uvnitř smyčky smazal?