Několik úkolů na třídy a dědičnost.
Vytvoř třidu Ctverec s jedním atributem strana a metodami obvod(), obsah()
a rozdil_obsahu(jiny_ctverec), která vrátí rozdíl obsahů dvou
čtverců – zadaného a toho jehož metodu voláme.
Vytvoř třídu 'Kruh' s atributem 'polomer' a stejnými metodami 'obvod()' a 'obsah()' jako měla minule třída 'Ctverec'.
Vytvoř třídu 'Obdelnik' s atributy pro délky stran a opět stejnými metodami 'obvod()' a 'obsah()' jako měla minule třída 'Ctverec'.
Zkus použít dědičnost tak, aby třídy 'Ctverec', 'Kruh' i 'Obdelnik' mohly používat společnou metodu 'rozdil_obsahu(jiny_objekt)' a aby tato metoda fungovala i mezi objekty různých tříd.
Takže bude například možné zjistit rozdíl obsahu čtverce a kruhu
V další části si vyzkoušíme naprogramovat Šachy.
Stáhni si archiv s hrou.
Aktivuj si virtuální prostředí.
Nainstaluj knihovnu pyglet pomocí příkazu:
$ python -m pip install pyglet
a spusť python ui.py.
Doufám, že uvidíš šachovnici. Figurkami se dá hýbat tažením myší, ale není hotová kontrola pravidel.
Následující úkoly kontrolu pravidel doplňují. Můžeš je dělat (skoro) v jakémkoli pořadí, ale ty dřívější jsou většinou jednodušší.
Pro jednoduchost neřeš šach, mat ani pat.
Toto jsou z velké části úkoly na orientaci v cizím kódu. Nezapomeň, že nemusíš úplně rozumět předpřipraveným funkcím/třídám/metodám, dokud je nechceš měnit (nebo se jimi inspirovat). Čti ale dokumentační řetězce, které popisují, co která věc dělá.
Pravidla šachu jsou k dispozici např. na Wikipedii.
♞ Doplň třídu pro koně s příslušnými metodami over_tah a __init__.
Použij ji v Sachovnice.__init__.
Odevzdej novou třídu.
♚ Doplň třídu pro krále s příslušnými metodami over_tah a __init__.
Použij ji v Sachovnice.__init__.
Rošádu zatím neřeš.
Odevzdej novou třídu.
♝ Doplň třídu pro střelce s příslušnými metodami over_tah a __init__.
Použij ji v Sachovnice.__init__.
Odevzdej novou třídu.
♛ Doplň třídu pro dámu s příslušnými metodami over_tah a __init__.
Použij ji v Sachovnice.__init__.
Odevzdej novou třídu.
Změň třídu Sachovnice tak, aby se hráči museli ve hře střídat.
Začíná bílý.
(Nápověda: bude potřeba nový atribut hrac_na_tahu.)
Odevzdej změněnou třídu Sachovnice.
♟ Doplň třídu pro pěšce s příslušnými metodami over_tah, tahni
a __init__.
Použij ji v Sachovnice.__init__.
Pozor na to, že:
Odevzdej změněnou třídu.
Umožni rošádu. Tu hráč zadá tak, že krále posune na věž.
Odevzdej novou třídu.