Hlavní Streamovací Služby Hackování Minecraftu na Raspberry Pi

Hackování Minecraftu na Raspberry Pi



Raspberry Pi 2 je překvapivě schopné zařízení, vzhledem k ceně pod 30 GBP. Dodává se s předinstalovanou verzí Minecraftu spolu s API, které vám umožní psát kód pro spuštění ve virtuálním světě. Děláte to v Pythonu, který se snadno naučíte. Kombinace Pi, Pythonu a Minecraftu poskytuje skvělou příležitost začít zkoumat možnosti programování. A vzrušení z toho, že se dům staví na virtuální krajině, není jen pro děti.

co je to hvězda na snapchatu

Skriptování v Minecraftu

Minecraft je otevřená sandboxová hra, která nemá dějovou linii. Někdy se to označuje jako virtuální Lego, protože hráč může pomocí bloků, které má k dispozici, vybudovat jakýkoli druh struktury. Verze dodávaná s Raspberry Pi má omezenou sadu funkcí vhodných pro její vzdělávací roli - takže se nemusíte bát, že vás budou honit například zombie. Interakce s tímto světem nevyžaduje žádné speciální nastavení, pouze nedávné sestavení operačního systému Raspbian plus programovací prostředí. Rozhodl bych se pro Geany, který si můžete nainstalovat otevřením LXTerminal a zadáním:

sudo apt-get install geany

Začněme vytvořením skriptu pro stavbu domu před hráčem - ale místo toho, abychom jeden plácli na místo, budeme jej animovat. Chystáme se také zabudovat do různých konfigurovatelných nastavení, která hráči umožní experimentovat s různými rozměry a materiály. Díky tomu bude program také modulární, takže jej lze použít jako základ pro vytváření sofistikovanějších jamek.

Aby kód fungoval, načtěte jej do Geany, poté spusťte Minecraft a vytvořte nový svět. Stisknutím klávesy Tab uvolněte kurzor z okna Minecraftu a kliknutím na ikonu ozubeného kola v Geany (nebo stisknutím klávesy F5) spusťte skript. Měli byste vidět, jak se dům kouzelně sestavuje. Pokud ne, zkuste se otočit - může to být za vámi! Můžete vidět skript v akci tady . Jak tedy scénář funguje? Nejprve to otevře odkaz na Minecraft:

importovat mcpi.minecraft jako minecraft, čas mc = minecraft.Minecraft.create ()

V Pythonu je důležité věnovat pozornost odsazení, protože tak se kód dělí na bloky. V tomto případě jsou oba řádky zarovnány s levým okrajem: první řádek importuje knihovny Minecraft a Time a druhý vytvoří objekt Minecraft, který budeme používat po celou dobu. Dalších 25 řádků nastavuje několik proměnných pro bloky, které budeme používat, abychom je mohli označovat jako, řekněme, wood_planks, spíše než podle jejich ID bloku (v tomto případě 5). Poté označíme, který z těchto bloků bude použit pro stěny, který pro střechu atd. Můžeme snadno změnit konstrukci domu, například tím, že vyměníme cihlové zdi za dlažební kostky. Nakonec jsme nastavili šířku, délku a výšku našeho požadovaného obydlí.

Nyní voláme funkci Minecraft mc.player.getTilePos (), abychom našli hráče v krajině, a hodnoty, které se vracejí, se pak použijí k vytvoření dvou proměnných, levé a dolní, k popisu, kde bude první roh obydlí .

Poté struktura skriptu odpovídá procesu Minecraft ručního stavění domu. Začneme vyčištěním prostoru, takže pokud se hráč rozhodne postavit dům uvnitř, řekněme, hory, obytný prostor nebude z pevného kamene. Tady je blok kódu - funkce v Pythonu - který to dělá:

def clear_house (jaderná):
pokud jaderný == True:
blast_zone = 20
jiný:
blast_zone = 0
mc.setBlocks (left-blast_zone, player_
broušený, spodní + zóna výbuchu, vlevo + šířka + výbuch_
zóna, hráčské pole + výška + výbuch_
zóna + 10, dolní délka-zóna výbuchu, air_block)

Když zavoláme clear_house, předáme parametr jaderný. Má hodnotu True nebo False. Můžete to zkusit volat s True, abyste vyčistili větší objem kolem cílové oblasti, nebo to zavolat s False, abyste omezili vůli na vnitřní rozměry domu. V Minecraftu se funkce mc.setBlocks používá k vytvoření krychle bloků tak, že jí předáte souřadnice ve třech rozměrech protilehlých rohů následované typem bloku, který chcete použít. V tomto případě čistíme prostor, takže používáme vzduch.

Jakmile jsme vyčistili prostor, je čas přejít ke stavbě. Každá z těchto fází výstavby probíhá ve své vlastní funkci. Na konci skriptu uvidíte funkci nazvanou main (), která řídí tok programu voláním jednotlivých fází výstavby postupně. Díky rozumnému pojmenování našich funkcí a jejich volání z main () je snadné pochopit, co program dělá:

def main ():
clear_house (False)
start_pos = [vlevo, dole, player_
přízemní]
build_floor (start_pos)
course = build_walls (start_pos)
add_door (door_position)
time.sleep (zpoždění * 10)
build_roof (start_pos, samozřejmě)

Další funkce zvaná main () vytváří podlahu - používá mc. setBlocks znovu vybojuje základ (pro umělecký efekt) a poté přidá kostku podlahových dlaždic s hloubkou jednoho bloku a vytvoří v našem domě pevnou podlahu.

jak vědět, jaké mám RAM

Budování zdí

Funkce build_walls je srdcem programu. Nejúčinnějším způsobem, jak vytvořit skořápku domu, by bylo rozbít pevnou kostku cihel a poté pomocí clear_house vybojovat interiér. Chceme však, aby dům vypadal, že se staví sám, takže musíme bloky umístit jednotlivě, jeden za druhým. Zde je zjednodušená verze kódu pro stavbu zdí:

def build_course (start_pos, směr,
kurs):
bloky = 1
current_horiz = start_pos [0]
current_vert = start_pos [1]

pokud směr == nahoru nebo
směr == dolů:
number_of_blocks = délka
jiný:
number_of_blocks = width

zatímco blokymc.setBlock (aktuální_horiz, hráč_
zem + kurz, current_vert, wall_block)
pokud směr == nahoru:
current_vert- = 1
elif směr == dolů:
current_vert + = 1
směr elif == vpravo:
current_horiz + = 1
jiný:

current_horiz- = 1
bloky = bloky + 1 # přejde na další blok
time.sleep (zpoždění)

Začínáme uložením výchozí pozice - bude to poloha posledního bloku položeného z předchozího kurzu bloků. Poté určíme, kolik bloků položit, podle toho, zda jdeme po délce budovy nebo její šířce.

Fáze budování je obsažena v bloku while - to pokračuje v běhu, dokud nepoložíme všechny bloky. mc.setBlock umístí jeden blok na zobrazené souřadnice, poté zvýší jednu z těchto souřadnic v závislosti na směru, kterým pokládáme. Výsledkem je, že bloky jsou pokládány podél zdi před otočením rohu a pokračováním v obdélníku, dokud není kurz dokončen.

jak se dostat kik na mac

Konečná verze kódu je trochu více zapojena a přidává okna do každé zdi. Okna jsou dynamicky dimenzována tak, aby měla poloviční délku stěny a byla vycentrována. Zaznamenává také polohu dveří; přidává se, jakmile jsou postaveny zdi. Kurzy jsou řízeny z funkce build_walls, která opakuje funkci build_course pro každý kurz bloků, dokud nedosáhne konečné výšky.

Můžete si dokonce zkusit postavit dům v oceánu nebo ve vzduchu - to provedete dvojitým stisknutím mezerníku, abyste letěli, a dalším stisknutím se zvednete, než spustíte skript. Změňte proměnné wall_block a roof_block, abyste zjistili, co se stane, když vytvoříte stěny nebo střechu ze zlata nebo lávy. Můžete přidat vlastní bloky podle úplného seznamu tady a přidání přidružené proměnné do skriptu. Náročnější úpravy mohou zahrnovat přidání více pater do struktury, pokud je proměnná výšky nastavena na dostatečně velkou hodnotu. Zjistěte, jak například přidat věže, a máte předpoklady pro hrad Minecraftu.

Tyto vylepšení mohou znít triviálně, ale profesionálně programuji již více než 20 let a stále mě vzrušuje, když fragment kódu funguje podle plánu. Pokud jste nikdy předtím neprogramovali, doufám, že to uděláte - a pokud máte v domácnosti fanoušky Minecraftu, navrhuji nechat je uvolnit v kódu a zjistit, kam je zavede. Odkazy na zdroje Minecraft Pi najdete na kevpartner.co.uk/programování .

Zajímavé Články

Redakce Choice

Jak odinstalovat a odebrat Cortanu ve Windows 10
Jak odinstalovat a odebrat Cortanu ve Windows 10
V tomto článku uvidíme, jak můžete odinstalovat Cortanu ve Windows 10.
Jak změnit uživatelský účet Netflix na zařízení Roku
Jak změnit uživatelský účet Netflix na zařízení Roku
Pokud hledáte obnovení předplatného Netflix nebo otevření s novou e-mailovou adresou, budete muset aktualizovat všechna svá zařízení novými přihlašovacími údaji pro Netflix. Ať už nyní používáte účet Netflix přátel,
Jak zmrazit více řádků v Excelu
Jak zmrazit více řádků v Excelu
Pokud jste datový nadšenec, pravděpodobně jste museli analyzovat tuny dat o stovkách nebo dokonce tisících řádků. Ale jak se objem dat zvyšuje, porovnávání informací v sešitu nebo sledování všeho nového
Zoho Projects vs. Trello
Zoho Projects vs. Trello
Zoho Projects i Trello jsou výjimečné platformy pro řízení projektů. Umožňují uživatelům plánovat, spolupracovat, sledovat, organizovat a dosahovat svých projektů a cílů. I když obě nabízejí skvělé funkce, které zvyšují efektivitu a produktivitu, neznamená to, že obě platformy jsou
Nejlepší VPN pro BBC iPlayer
Nejlepší VPN pro BBC iPlayer
BBC iPlayer je platforma pro digitální streamování pro British Broadcasting Corporation, BBC. Vzhledem k tomu, že BBC je financována britskými televizními licencemi, omezuje obsah poskytovaný jiným zemím. Jako vždy, pokud chcete získat
Vytvořte Google Chrome, aby místo otevírání stahoval soubory PDF
Vytvořte Google Chrome, aby místo otevírání stahoval soubory PDF
Jak si vyrobit prohlížeč Google Chrome Stahování souborů PDF namísto jejich otevírání Kliknutím na odkaz na soubor PDF v prohlížeči Google Chrome prohlížeč otevře dokument ve vestavěné čtečce. Mnoho uživatelů to považuje za pohodlné, protože k otevírání obsahu PDF nepotřebují žádné aplikace třetích stran. Někteří uživatelé však mohou
Recenze Adobe Premiere Pro CS3
Recenze Adobe Premiere Pro CS3
I když největší novinkou Premiere je její obnovení na platformu Mac, Adobe stále považovalo za vhodné aktualizovat vydání Windows současně. Kromě úvodní obrazovky CS3 vypadá aplikace stejně, ale existují