spájame
slovenskú
IT komunitu
pridaj sa
Registrácia · Login

Dominika Delejová 24.2.2018
Hodnoť článok:
1 0

Úvod do Raspberry Pi a hry Minecraft

Ako sa naučiť programovať v Pythone a to zábavnou formou? Skúste začať s Raspberry Pi a jeho Minecraftom, ktorý je možné programovať.

V tomto článku opíšem krátky úvod k samotnému Raspberry Pi a hre Minecraft, ktorá je v dnešnej dobe fenoménom. V druhej polovici článku popíšem pár krátkych príkladov, ktorými je vhodné začať svoje programátorské dobrodružstvo v Minecraft Pi.

Raspberry Pi je minipočítač o veľkosti platobnej karty. Stačí k nemu pripojiť pár komponentov ako ku klasickému stolnému počítaču, vložiť SD kartu a môžete ho používať.


Raspberry Pi a jeho logo „malina“

Ako to funguje?

Raspberry Pi obsahuje porty pre USB na pripojenie myši a klávesnice, port pre mikro SD kartu, Ethernet port, Audio Jack a HDMI port na pripojenie monitora. Na napájanie využíva Micro USB kábel a na pripojenie elektronických komponentov (ako LED diódy či tlačidlá a ďalšie) využíva porty GPIO (General purpose input/output) ako je znázornené na obrázku nižšie.


Popis častí Raspberry Pi

Najprv je potrebné si na Raspberry nainštalovať operačný systém. Ten je vo všeobecnosti podporovaný pre rôzne distribúcie Linuxu, napríklad Raspbian. Najjednoduchšie je začať inštaláciou NOOBS, čo je rýchly manažér pre inštaláciu operačného systému a bude vás navigovať pri jeho inštalácii. Podrobný popis inštalácie nájdete popísaný v tomto návode Installing Raspbian with NOOBS alebo si môžete pozrieť video Getting started with NOOBS.

Hranie Minecraft Pi

Operačný systém Linux ponúka možnosť hrania hier. Medzi tieto hry patrí aj Minecraft Pi Edition vyvinutý špeciálne pre Raspberry. Ide o demo verziu samotnej hry a čo hlavné, je zdarma.

V prípade, že hru nemáte, stačí zadať tieto dva príkazy do terminálu Linuxu.

sudo apt-get update
sudo apt-get install minecraft-pi

Následne stačí zapnúť hru. Buď príkazom minecraft-pi v terminály alebo ju otvoriť kliknutím na ikonu hry v hlavnom menu.

Minecraft je hra založená na otvorenom svete, kde je všetko hranaté. Náplňou hry je stavanie a ničenie kociek (blokov). Celý koncept stavil na to, že hráč nie je obmedzovaný v pohybe a činnosti, ktorú môže vykonávať. Ovládanie je pritom klasické ako pri väčšine hier.

Prvý kód

Po zapnutí hry Minecraft je potrebné si zapnúť aj konzolu pre Python.
Svoj kód je možné písať buď priamo do okna pre Python alebo si vytvoriť samostatný súbor a uložiť ho. Ten je možné spustiť kedykoľvek. Pomocou klávesy TAB je možné uvoľniť myš z okna hry.

Poďme pozdraviť náš svet v jazyku Python nasledujúcim kódom:

from mcpi.minecraft import Minecraft

mc = Minecraft.create()

mc.postToChat("Hello world")

Po spustení tohto kódu sa na obrazovke hry objaví správa „Hello world“.


Obrazovka po spustení prvého kódu

Teleport a Kocka

Chcete sa po svete rýchlejšie pohybovať? A čo tak rovno teleport?

Stačí použiť funkciu setPos(súradnica x, súradnica y, súradnica z). Vo chvíľke sa dokážete presunúť na iné miesto na mape udané súradnicami x, y, z. Najprv si však nezabudnite uložiť svoju vlastnú pozíciu, kvôli lepšej orientácii v priestore.

Vložte k svojmu predchádzajúcemu príkladu tento kód:

x, y, z = mc.player.getPos()
mc.player.setPos(x, y+100, z)

A čo v prípade, že chcete z kociek niečo vytvoriť? Presne nato existuje funkcia setBlock() pre položenie jednej kocky alebo setBlocks() pre položenie viacerých naraz.
Prvé tri parametre funkcie setBlock() sú súradnice miesta, kde sa má kocka vytvoriť. Štvrtým parametrom je jej identifikátor. Ten môže byť vyjadrený dvomi spôsobmi. Prvý spôsob je pomocou čísla, ktoré reprezentuje typ položenej kocky (napríklad: vzduch: 0, tráva: 2, hlina: 3 a pod.)

dirt = 3
mc.setBlock(x+3, y, z, dirt)

Druhým spôsobom je použitie celého pomenovania (napríklad pre kameň STONE, piesok SAND, vzduch AIR a pod.). Uvedený príklad je pre položenie kocky hliny:

from mcpi import block

dirt = block.DIRT.id
mc.setBlock(x+3, y, z, dirt)

Bombový svet

Prečo neskúsiť postaviť si niečo z TNT kociek? Po ich spustení stačí už len sledovať, čo sa bude s celým svetom diať.

tnt = 46
mc.setBlocks(x+1, y+1, z+1, x+11, y+11, z+11, tnt, 1)

Funckia setBlocks(x1, y1, z1, x2, y2, z2, id kocky, stav bloku) vytvorí medzi súradnicou bodu [x1, y1, z1] a súradnicou bodu [x2, y2, z2] súvislý blok kociek. Pri čom stav bloku je v tomto prípade číslo 1, čo znamená výbušný. Id kocky pre TNT je 46.

Po zadaní tejto funkcie sa objaví veľká kopa TNT kociek pripravených na odpálenie. Asi nemusím písať, čo bude nasledovať...


Odpálenie TNT

Kvety

Skúsme prejsť na niečo menej drastické. Niečo pre jemnejšie povahy. Predsa len po odpálenom svete treba vypestovať novú flóru. Tak poďme posadiť pár kvetov.

from mcpi.minecraft import Minecraft
from time import sleep

mc = Minecraft.create()

flower = 38

while True:
   x, y, z = mc.player.getPos()
   mc.setBlock(x, y, z, flower)
   sleep(0.1)

V tomto kóde sa prvý krát objavuje použitie cyklu while. Jedná sa o opakovanie, ktoré sa bude  vykonávať, kým podmienka platí. Pri podmienke True sa bude cyklus opakovať stále, nazýva sa nekonečný cyklus. Ukončíme ho až stlačením kombinácie kláves CTRL+C.


Cestička s kvetmi

Všade kade prejdete za vami bude ostávať cestička s kvietkami.

Tečúca láva

Posledným príkladom, ktorý opíšem je kód pre vytvorenie tečúcej lávy.

from mcpi.minecraft import Minecraft
from time import sleep

mc = Minecraft.create()

x, y, z = mc.player.getPos()

lava = 10
water = 8
air = 0

mc.setBlock(x+3, y+3, z, lava)
sleep(20)
mc.setBlock(x+3,y+5, z, water)
sleep(4)
mc.setBlock(x+3, y+5, z, air)

Použitá funkcia sleep() slúži na spomalenie vykonávania kódu. Vznikne tak efekt pomaly tečúcej lávy. Z nej sa po ochladení vodou stane len tuhý kameň.


Vytekajúca láva zo sopky

Touto formou výučby sa deti hravou formou dozvedia aké jednoduché je učiť sa programovací jazyk. Popri tom dokonca hrajú aj pre mnohé z nich svoju obľúbenú počítačovú hru.

Pre viac informácií navštívte Getting started with Minecraft Pi.
Nasledujúca časť: Raspberry Pi a hra Minecraft I.: Orientačný beh

Hodnoť článok:
1 0

4 komentáre k článku:

Komentovať môžu iba prihlásení

Zaregistruj sa cez bezplatnú registráciu alebo použi login cez Facebook (FB Connect)

Prihlás sa tu, ak už máš profil na Zajtra.sk:


Zabudol som heslo

0 0 Sleepy 27.3.2018 11:21:50
Inak Minecraft PI sa dá nainštalovať aj priamo do Retropie - inštaluje sa to obvykle extra ako add-on, ale možnosť tam je.
1 0 Sleepy 27.3.2018 11:15:12
odporúčam http://www.arcadepunks.com/retro-pi-downloads-page/

Sú tam hotové IMG s tisíckami hier, pekne nakonfigurované a graficky vydarené. Detto obsahujú niektoré predpripravený KODI, takže sú to vyslovene počítače do obývačky - stačí napr. bezdrôtový gamepad, ktorým sa dá celý systém ovládať (ja mám Logitech G710 a bluetooth ovládač z PlayStation 3). Inak viac ako RetroPie sa mi páči Retroarch systém - robia to francúzi, ale je lokalizovaný aj do CZ. Príde mi na Raspberry jemne rýchlejší, resp. niektoré problémové systémy ako N64 sú možno trochu lepšie optimalizované. A priamo v menu je aj položka na rýchle pretaktovanie RPi. BTW práve sa prerábajú mnohé veci pre nový Raspberry 3 B Plus, kde sa podľa všetkého zdá je neporovnateľne plynulejší chod mnohých hier. Ešte nemám doma nové RPi, ale vážne o ňom uvažujem práve pre tieto retro hry...
0 0 Dominika Delejová 10.3.2018 09:12:57
@Sleepy Ďakujem :) .. RetroPie som doteraz neskúšala, ale pozerám, že to vyzerá veľmi zaujímavo a najskôr to aj sama vyskúšam.
0 0 Sleepy 7.3.2018 00:59:54
Pekný článok. Ja som sa pustil do RPi pretože som chcel skúsiť RetroPie a musím povedať, že ma tento malý zázrak neprestáva udivovať. Krabička menšia ako bežný mobil má fakticky solídny výkon aj na náročnejšie aplikácie. Teším sa na pokračovanie ;-)
Zajtra.sk > Programovanie > Seriály > Úvod do Raspberry Pi a hry Minecraft


Kritika

Vieš ako robiť veci lepšie? Pomôž našim odvážnejším členom a skritizuj im projekty!

Reklama

Seriály zo Zajtra.sk

Reklama