Základy programování – 2. díl

9. 1. 2020 Minecraft

Vítejte u dalšího dílu programování v Minecraft: Education Edition. Dnes, se podíváme na lehce složitější programy, ve kterých využijeme, jak jsem slíbil v minulém díle, funkci if a základy logických funkcí.I nadále budeme využívat programu Code Conection a programovat v MakeCode, takže pokud jste náhodou zapomněli, jak je ovládat či spustit, doporučuji si přečíst 1. díl, ve kterém je vše dopodrobna popsáno a vysvětleno.

Agent

Než se ale pustíme do programování, potřebujete se seznámit ještě s hvězdou dnešního článku, a to s agentem. A proč je vlastně tak důležitý? Agent je robůtek, kterého můžete naprogramovat, tak aby dělal, co se vám zlíbí. To z něj dělá fantastický nástroj pro výuku, protože umožňuje studentům vidět, co přesně jejich program krok za krokem dělá. Rovněž jim pomáhá, si tak lépe představit, jak celý program funguje. Tento extrémně roztomilý společník se vždy objeví na stejné pozici jako hráč, a to po propojení Minecraftu s Code Conection.

Minecraft agent

Základy programování Agenta

Nyní, když už jsme s našim pomocníkem seznámili, bychom si mohli ukázat pár základních věcí, které náš Agent dokáže. Všechny příkazy týkající se Agenta můžete najít v záložce Agent. Kde jsou pak ještě rozřazeny do dalších podkategorií, ke kterým se v průběhu tohoto nebo dalšího dílu dostaneme.

Cvičení 1. – věrný společník

Objevíme se ve světe, zapnete Code Conection a hned tady máme první problém. Agent si vás vůbec nevšímá a jen stojí na místě, kde se objevil. A to rozhodně není dobře, svět Minecraftu je místo plné nástrah a my nechceme, aby se nám v něm tenhle roztomilý robůtek někde ztratil. Proto si vytvoříme jednoduchý program, díky kterému nás bude agent následovat. Využijme pro něj funkci „on player <action>“, kterou už jsme si přestavili minule.

Oproti prvnímu dílu do ní ale vložíme funkci ze záložky Agent. Přesněji funkci Agent teleport to player, který přesune agenta na vaší aktuální pozici.

Funguje to? Výborně! Tímto jsme základy úspěšně nechali za sebou. Teď se budeme muset naučit trochu víc teorie a potom si zkusíme s Agentem ukázat už něco trochu pokročilejšího.

Funkce If a loopy

Nyní se dostáváme k svatému grálů programování, a to k funkci if (když). Tato funkce umožňuje programu, aby provedl zadaný příkaz pouze pokud je splněna námi určená podmínka. Pokud není, tak se buďto nic nestane, nebo se, využijeme-li funkce else (jinak), spustí příkaz jiný.

Pak tu máme takzvané loopy neboli smyčky. Ty nám umožňují jednu část programu opakovat neustále dokola, nebo do splnění nějaké podmínky.

Cvičení 2. – běžec

A teď když už máte dostatečné znalosti, se můžeme vrhnout na trochu složitější program. Pokusíme se totiž naučit našeho robůtka, jak rozeznávat po čem jde a kdy má zastavit. První, co k tomu potřebujeme je, aby Agent chodil a neteleportoval se. K tomu využijeme příkaz „Agent move <direction> by <number> blocks”, který zajistí, aby se Agent posunul o námi zvolený počet bloků v námi zadaném směru.

Když tuto funkci spojíme se smyčkou „forever“, tak získáme robůtka, který se neustále pohybuje kupředu. To nám ale zdaleka nestačí. My potřebujeme, aby Agent věděl, kde začít a kde skončit svůj běh. Na to použijeme funkci „Agent inspect“, „=“ a určíme si blok, který chceme identifikovat. Pro nás třeba bude blok ruditu (redstone block) místo kde zastaví a blok smaragdu (emerald blok) místo kde začne. Za pomocí funkce „if“, pak můžeme vytvořit podmínku znějící: „pokud agent detekuje <určitý blok> pod sebou vykonej <akci>”.

Toto by nám stačilo pro začátek programu, ale co s jeho koncem? Zde budeme potřebovat ještě jeden typ smyčky a to „while <condition>“, která opakuje dokola funkce uvnitř ní, dokud platí námi zvolená podmínka. Dále budeme potřebovat logickou funkci „not“, která slouží k tomu, aby převrátila, kdy podmínka je a není pravda. S těmito dodatky už můžeme dokončit náš program, který bude vypadat asi takto.

Výzva

Bohužel se blížíme ke konci tohoto dílu, avšak předtím než se rozloučíme připravil jsem si pro vás zajímavou výzvu. Dnes jsme si řekli o spoustě velmi užitečných nástrojů, které využijeme při programování, ale naneštěstí jsme se neponořili moc do hloubky u žádného z nich, a proto vám dávám výzvu pro jejíž splnění vám budou stačit funkce, o kterých jsme si dnes pověděli, ale budete je muset použít trochu komplikovanějších situacích. Úkolem bude, naprogramovat agenta tak, že projde autonomně následující bludiště.

Pokud byste ale nemohli tento problém vyřešit, nebo byste si ho chtěli zkontrolovat, můžete na této stránce najít mé řešení: https://makecode.com/_VhjVFoJwofvw .

A s touto výzvou bych ukončil tento díl Programování v Minecraftu. Jak už jsem řekl, ani dnes jsme nedělali příliš komplikované věci, ale už k nim máme všechny potřebné nástroje a příště se obtížnost těchto programů výrazně zvýší. Do té doby zkuste vyřešit mou výzvu, anebo rovnou experimentujte s funkcemi, které jste se dnes naučili používat, protože bez cvičení se mistrem nikdo nestane.

Číst předchozí díl: Základy programování – 1. díl

Nastavení souborů Cookies

1. Co jsou soubory cookies

Soubory cookies jsou krátké textové soubory, které internetová stránka odešle do vašeho prohlížeče. Umožňují internetové stránce zaznamenat informace o vaší návštěvě, například zvolený jazyk a podobně. Následující návštěva stránek tak pro vás může být snazší a příjemnější. Soubory cookies jsou důležité, neboť bez nich by procházení sítě Internet bylo mnohem složitější. Soubory cookies umožňují lepší využití naší internetové stránky a přizpůsobení jejího obsahu vašim potřebám. Soubory cookies používá téměř každá internetová stránka na světě.

2. Druhy souborů cookies

Relační (tedy dočasné) soubory cookies nám umožňují propojovat vaše jednotlivé aktivity po dobu prohlížení těchto internetových stránek. V okamžiku otevření okna vašeho prohlížeče se tyto soubory vytvoří a po zavření okna vašeho prohlížeče se odstraní.

Trvalé soubory cookies nám pomáhají váš počítač identifikovat, jestliže opětovně navštívíte naši internetovou stránku.

3. Využívání souborů cookies

V souladu s ustanovením § 89 odst. 3 zák. č. 127/2005 Sb., o elektronických komunikacích, v účinném znění, si vás tímto dovolujeme informovat, že naše internetové stránky využívají pro svoji činnost soubory cookies, tedy vaše soubory cookies, včetně trvalých, zpracováváme.

Internetové prohlížeče obvykle obsahují správu souborů cookies. V rámci nastavení vašeho prohlížeče tak pravděpodobně můžete jednotlivé soubory cookies ručně mazat, blokovat či zcela zakázat jejich používání. Pro více informací použijte nápovědu vašeho internetového prohlížeče. Jsou-li cookies povoleny, lze toto nastavení internetového prohlížeče považovat za souhlas se zpracováním osobních údajů.

4. Účel použití souborů cookies

K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookies. Informace o tom, jak náš web používáte, sdílíme se svými partnery působícími v oblasti sociálních médií, inzerce a analýz. Používáním internetových stránek vyjadřujete souhlas propojením následujících služeb: Google Analytics, Google Tag Manager, Facebook Pixel, Microsoft Clarity.

Soubory cookies využíváme, kromě účelu uvedeného v předchozím odstavci, pouze pro měření návštěvnosti webové stránky.

5. Správce osobních údajů

Provozovatelem webové stránky studuj.digital a správcem osobních údajů je společnost: pg-sec s.r.o., sídlem Rybná 716/24, Staré Město, 110 00 Praha 1, identifikační číslo 09580905, zapsaná v obchodním rejstříku Městského soudu v Praze, oddíl C, vložka 338028.

​6. Zásady ochrany osobních údajů

Podrobnější informace o souborech cookies a zpracování tvých osobních údajů najdete v našich Zásadách ochrany osobních údajů.

Nezbytné

Tyto soubory cookie jsou nutné pro základní funkce stránky, a jsou proto vždy povolené. Mezi ně patří soubory cookie, které stránce umožňují si vás zapamatovat při procházení stránky v rámci jedné relace nebo, pokud o ně požádáte, mezi relacemi.

Volitelné

Výkon

Tyto soubory cookie nám pomáhají vylepšovat funkce stránek sledováním využití této webové stránky. V některých případech zrychlují zpracování vašeho požadavku a umožňují nám zapamatovat si vaše vybrané předvolby na stránce. Pokud soubory cookie zakážete, může se tím zhoršit přesnost našich doporučení a zpomalit funkčnost stránek.

Sociální média a relamy

Díky souborům cookies sociálních médií si můžete připojit ke svým sociálním sítím a prostřednictvím sociálních médií sdílet obsah z naší webové stránky. Reklamní soubory cookie (třetích stran) shromažďují informace pro lepší přizpůsobení reklamy tvým zájmům, a to na webových stránkách studuj.digital i mimo ně. V některých případech tyto soubory cookies zpracovávají vaše osobní údaje. Pokud chcete získat více informací o zpracování osobních údajů, přečtěte si naše Zásady ochrany osobních údajů. Pokud zakážete soubory cookies, mohou se zobrazovat reklamy, které méně souvisejí s vašimi zájmy, nebo nebudete moci účinně používat odkazy na Facebook, Instagram či jiné sociální sítě anebo nebudete moci sdílet obsah na sociálnch médiích.