Programování pro hračičky/Opičky/2020/Banány

Toto je stránka vytvořená v rámci již proběhlého kurzu a nyní sloužící k jeho archivaci. Tuto stránku již prosím needitujte! Pokud se chcete do kurzu zapojit, pak vyhledejte aktuální běh na hlavní stránce kurzu či se zeptejte v příslušné diskusi.


Jak používat klasifikační nálepkuTato stránka je součástí kurzu:
středoškolská
Příslušnost: skupinová

Od čtvrtka 7. ledna do středy 20. ledna probíhá mezi Prahy velká banánová soutěž, která je vyvrcholením letošního ročníku opičího kurzu Programování pro hračičky. V době konání soutěže budou na dvou místech ve hře — v herně, tedy východně od Josefa, a v jihozápadním koutě chrámového nádvoří v Jeruzalémě — umístěny trhací bločky vstupenek na banánovou soutěž. Kdokoli si může z bločku utrhnout vstupenku, která ho přemístí na místo soutěže a potom zase zpátky (přesné instrukce pro použití vstupenky získáte, když si ji dobře prohlédnete a přečtete, a to i zadní stranu). Vstupenku si můžete utrhnout opakovaně, tedy na místo soutěže se můžete kdykoli zase vrátit.

Místem soutěže je Kartézská rovina. Tu možná už někteří znáte z matematiky (studenti lycea se s ní podrobněji seznámí ve druhém ročníku při analytické geometrii). V naší hře je Kartézská rovina trochu barvitější než v matematice, ale rámcově vypadá stejně — od svého počátku se táhne na všechny strany do nekonečna (takže počátek je vlastně uprostřed) a vy se v ní můžete pohybovat sem a tam (ve hře to znamená, že se dá chodit do všech osmi světových stran jako ve volné krajině). Každé místo v rovině má své souřadnice, což je vzdálenost, o kterou jste se museli pohnout od počátku, abyste na dané místo došli. Počátek má souřadnice (0,0), když uděláte jeden krok na východ, tak jste na souřadnicích (1,0), když odtamtud uděláte dva kroky na jih, jste na souřadnicích (1,−2), atd. Ve hře najdete na každém místě kolík, na němž jsou souřadnice napsány (první souřadnici nazýváme tradičně x a druhou y, a tak jsou napsány i na kolíku). Navíc je v naší herní rovině stálé osvětlení a tu a tam se v ní vyskytují volně ložené kusy potravy a nápoje, takže se do ní můžete vydat i úplně bez vybavení.

Banánová soutěž bude spočívat v tom, že v místech vzdálených nejvýše deset kroků od počátku Kartézské roviny — to znamená ve čtverci vymezeném místy o souřadnicích (−10,−10), (−10,10), (10,10) a (10,−10) — se náhodně objevují banány, které smějí sbírat jen opičky, jež právě nejsou připnuty na vodítku. Banány se dají jíst (opička může předat banán i vám, takže se jimi můžete i sami živit, kdyby Vám nechutnala normovaná kartézská potrava), ale pro soutěž je podstatné samotné sebrání — za každý banán, který sebere bez vaší přítomnosti, získá vaše opička jeden bod. Získané body si nemusíte pamatovat, všechny se objeví na tabuli výsledků, kterou najdete v počátku Kartézské roviny (tedy na místě, kam Vás přenese vstupenka).

Protože opičce se bodují jen banány sebrané bez vaší přítomnosti, znamená to, že na sbírání banánů musíte opičku naprogramovat. Takže přemýšlejte, jak sestavit program, podle kterého by opička pobíhala v daném výseku Kartézské roviny a sbírala banány. Samozřejmě je možno to trochu ošulit tím, že budete banány hledat vy sami a pak jednoduchým programem vždy pošlete opičku do sousední místnosti, aby banán sebrala, ale mnohem výkonnější řešení je nechat opičku běhat Kartézskou rovinou zcela nezávisle na vás, třeba ještě hodiny po vašem odhlášení ze hry.

Po půlnoci z 20. na 21. ledna pak budou všechny získané body sečteny a oficiálně vyhlášeny výsledky.