====== Dilema II ======
* Řešení [[courses:b4b33rph:cviceni:program_po_tydnech:tyden_02#du_na_pristi_tyden_-_modul_pro_vypocet_skalarniho_soucinu_2_vektoru|domácího úkolu]], diskuse problémů
* Python tutorial, kapitoly 3 - 9
* Co je aktuálně váš nejtížívější problém (rozuměj v souvislosti s tímto předmětem)
* Malá hádanka, jako obvykle
* Malý programovací test
* cvičný upload triviálního hráče (poslední šance se zeptat na nejasnosti)
* Programování řízení dvouhráčové hry.
====== Řešení domácího úkolu ======
Příklady řešení minulého domácího úkolu. Diskuse nad některými [[courses:b4b33rph:internal:cviceni:myvector_problems|problémy]].
====== Hádanka =======
/* Pro vyplnění formuláře je třeba se přihlásit na Google pod Vaší FEL identitou
[[https://forms.gle/kFqxMq54p7hjByPu6|101]]
[[https://forms.gle/3nLTaoxHoVa3zQVk7|102]]
[[https://forms.gle/QaZvFUtncp1Ne1CH7|103]]
[[https://forms.gle/vzsGD3QyLgcqMk1g7|104]]
[[https://forms.gle/oMqTMgeh4ao4uiwL8|105]]
[[https://forms.gle/uyin2XUR2RuBFCna6|106]]
[[https://forms.gle/MuffuZrZW4u4wWx8A|107]]
[[https://forms.gle/4kfZisGQAbhkvdvHA|108]]
[[https://forms.gle/yARdGc2Gxtt5qAudA|109]]
*/
> {{page>courses:b4b33rph:internal:puzzles#cviceni_3}}
====== Herně - teoretický kvíz =======
/*[[https://forms.gle/r56bqrsKwJgFkk1AA|101]]
[[https://forms.gle/icZr8kqGbMRpNJL27|102]]
[[https://forms.gle/4GJzWMEiXKHRhaDv8|103]]
[[https://forms.gle/jwEfD7C82mchxXZX8|104]]
[[https://forms.gle/o7SeYeGJiLYUWkv39|105]]
[[https://forms.gle/nahauAvncbjja7HH9|106]]
[[https://forms.gle/NuUKZRR1ncLj5NvC6|107]]
[[https://forms.gle/Vb1GbfermDyaExRs7|108]]
[[https://forms.gle/sNrR5peB4yEdiiXi6|109]]
*/
> {{page>courses:b4b33rph:internal:cviceni:program_po_tydnech:tyden_03:kviz}}
====== Otázky a odpovědi ======
Za domácí úkol jste si měli projít kapitoly 3 - 9 z knihy {[b4b33rph:Kubias2008]}. Pokud máte dotazy k probírané látce, zeptejte se.
Zkuste nahrát vašeho triviálního PD hráče, nemusí být úplně funkční,
ale měli byste mít jasný plán jak ho zprovoznit.
====== Programovací testík ======
1. online test na porozumění kódu. Řeší se na cvičení podle pokynů cvičícího.
/*Zadání 1. testíku v interní části stránek.*/
====== Kámen-nůžky-papír hráč ======
> {{page>courses:b4b33rph:internal:cviceni:python#druha_prednaska&noheader}}
Naimplementujte triviálního hráče, hrajícího R-P-S game a vhodně otestujte. Nechte to zahrát proti sobě například hru "2 ze 3" a vyhodnoťe vítěze. Zkuste vytvořit dva hráče, např náhodného a konstantního a vyhodnoťte úspešnost při více opakování. Zkuste nejprve //algoritmus// řízení hry rozmyslet na papíře a pak teprve začněte programovat.
> {{section>courses:b4b33rph:internal:cviceni:python#r-p-s_player&noheader}}
====== Domácí úkol ======
/*
===== Kuličky =====
Dobrovolná bodovaná domácí úloha [[courses:b4b33rph:cviceni:kulicky|Kuličky]]. Na její vypracování máte 3 týdny!
*/
===== Odevzdání =====
Nadcházející neděli do 23:59:59 je třeba odevzdat první verzi hráče: [[courses:b4b33rph:cviceni:veznovo_dilema:03_pd_hrac|Jednoduchý hráč]].
Pokud vám něco není jasné, váš triviální hráč není schopen hrát, je nejvyšší čas to řešit.
===== Příprava na další cvičení =====
Pokračujte ve čtení a zkoušejte programovat. Dokončete pokročilého hráče pro vězňovo dilema - na dalším cvičení bude poslední možnost diskutovat nejasnosti před turnajem.
Modul ''vectors.py'' respektive, třídu ''MyVector'' doplňte o metodu ''is_perpendicular_to(self, other)'' a vhodně otestujte. Zkuste si i složitější metodu ''cross_product(self, other)'', která, pokud to jde, vytvoří nový objekt stejného typu - [[https://en.wikipedia.org/wiki/Cross_product|vektorový součin]].
if __name__ == "__main__":
vec1 = MyVector([1,2,3]) # vektory mohou byt i jine dimenze nez 3!
vec2 = MyVector([3,4,5])
if vec1.is_perpendicular_to(vec2):
print('vectors are perpendicular')
print(vec1.cross_product(vec2))