Glavni Storitve Pretakanja Vdor v Minecraft na Raspberry Pi

Vdor v Minecraft na Raspberry Pi



Raspberry Pi 2 je presenetljivo zmogljiva naprava, glede na ceno, nižjo od 30 GBP. Na voljo je z vnaprej nameščeno različico Minecrafta, skupaj z API-jem, ki vam omogoča pisanje kode za zagon v virtualnem svetu. To naredite v Pythonu, ki se ga je enostavno naučiti. Kombinacija Pi, Python in Minecraft ponuja odlično priložnost za začetek raziskovanja možnosti programiranja. In vznemirjenje ob pogledu na hišo, ki se gradi na virtualni pokrajini, ni namenjeno le otrokom.

lahko pošljete denar iz venma v gotovinsko aplikacijo

Skriptiranje v Minecraftu

Minecraft je odprta igra v peskovniku, ki nima začrtane črte. Včasih ga opisujejo kot virtualni Lego, saj lahko igralec z uporabo blokov, s katerimi razpolaga, zgradi kakršno koli strukturo. Različica, priložena Raspberry Pi, ima omejen nabor funkcij, ki ustreza njegovi izobraževalni vlogi - zato vam ni treba skrbeti, da vas bodo na primer lovili zombiji. Za interakcijo s tem svetom ni potrebna posebna nastavitev, le nedavna gradnja OS Raspbian in programsko okolje. Odločil bi se za Geany, ki ga lahko namestite tako, da odprete LXTerminal in vtipkate:

sudo apt-get namesti geany

Začnimo z ustvarjanjem scenarija za gradnjo hiše pred predvajalnikom - ampak namesto da bi eno le udarili po mestu, jo bomo animirali. Vgradili bomo tudi različne nastavljive nastavitve, ki bodo igralcu omogočale eksperimentiranje z različnimi dimenzijami in materiali. Zaradi tega bo program tudi modularen, zato ga bomo lahko uporabili kot osnovo za ustvarjanje bolj izpopolnjenih vodnjakov.

Če želite, da koda deluje, jo naložite v Geany, nato zaženite Minecraft in ustvarite nov svet. Pritisnite tipko Tab, da spustite kazalko iz okna Minecraft, in kliknite ikono zobnika v Geanyju (ali pritisnite F5), da zaženete skript. Morali bi videti hišo, ki se čarobno sestavi. Če se ne, poskusite obrniti - morda je za vami! Skript lahko vidite v akciji tukaj . Kako torej deluje scenarij? No, najprej odpre povezavo do Minecrafta:

uvozi mcpi.minecraft kot minecraft, čas mc = minecraft.Minecraft.create ()

V Pythonu je pomembno biti pozoren na zamike, saj je tako koda razdeljena na bloke. V tem primeru sta obe vrstici poravnani z levim robom: prva vrstica uvozi knjižnici Minecraft in Time, druga pa ustvari objekt Minecraft, ki ga bomo lahko uporabljali v celotnem obsegu. Naslednjih 25 vrstic določa nekaj spremenljivk za bloke, ki jih bomo uporabili, tako da jih bomo lahko imenovali recimo wood_planks in ne z ID-jem bloka (5, v tem primeru). Nato navedemo, kateri od teh blokov bo uporabljen za stene, kateri za streho in tako naprej. Z lahkoto lahko povsem spremenimo konstrukcijo hiše, če na primer opečne zidove zamenjamo za tlakovane. Na koncu nastavimo še širino, dolžino in višino želenega stanovanja.

Zdaj pokličemo funkcijo Minecraft mc.player.getTilePos (), da poiščemo predvajalnik v ležeči pokrajini, vrednosti, ki se vrnejo, se nato uporabijo za ustvarjanje dveh spremenljivk, levo in spodaj, da opišemo, kje bo prvi kot stanovanja .

Nato se struktura skripta ujema z Minecraft postopkom ročne gradnje hiše. Začnemo s čiščenjem prostora, tako da če se igralec odloči zgraditi hišo znotraj, recimo gore, dnevna površina ne bo trden kamen. Tu je blok kode - funkcija v Pythonu -, ki to počne:

def clear_house (jedrska):
če je jedrska == True:
blast_zone = 20
sicer:
blast_zone = 0
mc.setBlocks (left-blast_zone, player_
tla, spodaj + blast_zone, levo + širina + blast_
cona, ozadje igralca + višina + eksplozija_
cona + 10, dolžina dna-blast_zone, air_block)

Ko pokličemo clear_house, vnesemo parameter jeder. Ima vrednost True ali False. Lahko jo poskusite poklicati z True, da počistite večji volumen okoli ciljnega območja, ali pa z False, da omejite razdaljo na notranje dimenzije hiše. V Minecraftu se funkcija mc.setBlocks uporablja za ustvarjanje kocke blokov, tako da ji v treh dimenzijah posreduje koordinate nasprotnih vogalov, ki jim sledi vrsta bloka, ki jo želite uporabiti. V tem primeru čistimo prostor, zato uporabljamo zrak.

Ko očistimo prostor, je čas, da nadaljujemo z gradnjo. Vsaka od teh gradbenih faz poteka v svoji funkciji. Na koncu skripta boste videli funkcijo, imenovano main (), ki nadzoruje potek programa tako, da zaporedno pokliče vsako fazo gradnje. S smiselnim poimenovanjem funkcij in klicanjem iz main () je enostavno razumeti, kaj program počne:

def main ():
clear_house (napačno)
start_pos = [levo, spodaj, igralec_
tla]
build_floor (start_pos)
tečaj = graditi_stene (start_pos)
add_door (položaj_ vrat)
time.sleep (zamuda * 10)
build_roof (start_pos, tečaj)

Naslednja funkcija, imenovana main (), gradi tla - ta uporablja mc. Znova nastavite setBlocks, da izrezljate podlago (za umetniški učinek) in nato dodate kocko talnih ploščic z globino enega bloka, da ustvarite trdno tla v naši hiši.

kako videti nekoga na seznamu želja

Gradnja sten

Funkcija build_walls je jedro programa. Najučinkovitejši način za ustvarjanje lupine hiše bi bil, če bi trkali trdno kocko opeke in nato z clear_house izrezljali notranjost. Vendar želimo, da se zdi, da se hiša gradi sama, zato moramo bloke postavljati posamično, enega za drugim. Tu je poenostavljena različica zidne kode:

def build_course (start_pos, smer,
seveda):
blokov = 1
current_horiz = start_pos [0]
current_vert = start_pos [1]

če je smer == navzgor oz
smer == navzdol:
število_blokov = dolžina
sicer:
število_blokov = širina

medtem ko blokimc.setBlock (trenutni_horiz, igralec_
zemlja + smer, trenutni_okret, zidni_blok)
če je smer == navzgor:
trenutna_verza- = 1
smer elif == navzdol:
trenutna_verza + = 1
smer elif == desno:
trenutni_horiz + = 1
sicer:

trenutni_horiz- = 1
blocks = blocks + 1 # premakni se na naslednji blok
time.sleep (zamuda)

Začnemo s shranjevanjem začetnega položaja - to bo položaj zadnjega bloka, položenega iz prejšnjega poteka blokov. Nato določimo, koliko blokov naj položi, odvisno od tega, ali gremo po dolžini stavbe ali njeni širini.

Faza gradnje je vsebovana v bloku while - ta se nadaljuje, dokler ne položimo vseh blokov. mc.setBlock postavi en blok na prikazane koordinate, nato poveča eno od teh koordinat, odvisno od smeri, v katero polagamo. Učinek je, da se bloki položijo vzdolž stene, preden zavijete v vogal in nadaljujete v pravokotniku, dokler pot ni končana.

fire hd 10 zrcaljenje 7. generacije

Končna različica kode je nekoliko bolj vključena in dodaja okna na vsako steno. Okna so dinamično velika, tako da so polovica dolžine stene in centrirana. Zabeleži tudi položaj vrat; doda se, ko so zidovi zgrajeni. Tečaje nadzoruje funkcija build_walls, ki ponavlja funkcijo build_course za vsak potek blokov, dokler ne doseže končne višine.

Lahko celo poskusite zgraditi svojo hišo v oceanu ali zraku - to storite tako, da dvakrat pritisnete preslednico, da leti, nato pa znova pritisnete, da se dvignete, preden zaženete skript. Spremenite spremenljivki wall_block in roof_block, da vidite, kaj se zgodi, če stene ali streho ustvarite iz zlata ali lave. Svoje bloke lahko dodate tako, da si ogledate celoten seznam tukaj in dodajanje povezane spremenljivke v skript. Zahtevnejše spremembe lahko vključujejo dodajanje več nadstropij strukturi, če je spremenljivka višine nastavljena na dovolj veliko vrednost. Ugotovite, kako na primer dodati kupole, in dobili ste zasluge gradu Minecraft.

Ti popravki se morda slišijo nepomembno, vendar profesionalno programiram že več kot 20 let in še vedno sem navdušen, ko delček kode deluje, kot je predvideno. Če še nikoli niste programirali, upam, da boste poskusili - in če imate v gospodinjstvu oboževalec Minecrafta, predlagam, da jih spustite na kodo in preverite, kam jih vodi. Povezave do virov Minecraft Pi najdete na kevpartner.co.uk/programming .

Zanimivi Članki

Izbira Urednika

Cursor Commander: z enim klikom namestite in upravljajte kurzorje
Cursor Commander: z enim klikom namestite in upravljajte kurzorje
Naučite se, kako hitro namestite in uporabite nove kazalce v sistemih Windows 7 in Windows 8 s pomočjo brezplačne programske opreme Cursor Commander.
Nasveti za najboljše PowerPointove predstavitve
Nasveti za najboljše PowerPointove predstavitve
Ko načrtujete predstavitev, je skušnjava, da bi bila čim bolj pišasta. Navsezadnje PowerPoint ponuja veliko čudovitih funkcij, zato jih ne bi smeli uporabiti? Pravzaprav ne - samo zato, ker lahko izvajate očesne
Omogočanje besedilnih predlogov za strojno tipkovnico v sistemu Windows 10
Omogočanje besedilnih predlogov za strojno tipkovnico v sistemu Windows 10
Windows 10 različice 1803 ima možnost, da omogočite samodejne predloge za strojno tipkovnico (Text Prediction). Tukaj je opisano, kako je to mogoče storiti.
Microsoft očitke o slabi prodaji Xbox One ocenjuje kot netočne - še vedno noče priznati, koliko jih je bilo prodanih
Microsoft očitke o slabi prodaji Xbox One ocenjuje kot netočne - še vedno noče priznati, koliko jih je bilo prodanih
Po včerajšnji novici, da Xbox One zaostaja za prodajo PS4 za več kot 40 milijonov enot (ki si jih lahko preberete spodaj), je Microsoft Alphru podal izjavo o tej zadevi, v kateri zanika takšne trditve kot
Kako izmeriti zaslon računalnika
Kako izmeriti zaslon računalnika
Velikost računalniškega zaslona je odločilna odločitev pri nakupu. Ugotovite, kako hitro izmeriti računalniški zaslon ali monitor.
Pregled Eizo ColorEdge CG318-4K - do 4K in več
Pregled Eizo ColorEdge CG318-4K - do 4K in več
Eizo stvari ne počne na polovico. Medtem ko so se drugi proizvajalci drznili, da bi svoje 4K monitorje šibali po proizvodni liniji, so se Eizovi inženirji tiho trudili, da bi ustvarili svojo vizijo vrhunskega 4K monitorja: rezultat je
Siri preklinja kot mornar, ko jo prosijo za nedolžno zvenečo definicijo
Siri preklinja kot mornar, ko jo prosijo za nedolžno zvenečo definicijo
Se vam zdi Siri preveč prestrašena? Preveč gumba navzdol? Prestavimo na lov: ali želite, da vaš HomePod ali iPhone prisega kot reper zahodne obale? Izkazalo se je, da je res enostavno