Table of Contents

Dilema II

Řešení domácího úkolu

Příklady řešení minulého domácího úkolu. Diskuse nad některými problémy.

Hádanka

Herně - teoretický kvíz

Otázky a odpovědi

Za domácí úkol jste si měli projít kapitoly 3 - 9 z knihy [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

Zadání 1. testíku v interní části stránek.

Kámen-nůžky-papír hráč

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.

Domácí úkol

Odevzdání

Nadcházející neděli do 23:59:59 je třeba odevzdat první verzi hráče: 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 - 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))