Glavni Usluge Strujanja Sjeckanje Minecrafta na Raspberry Pi

Sjeckanje Minecrafta na Raspberry Pi



Raspberry Pi 2 je iznenađujuće sposoban uređaj s obzirom na cijenu ispod 30 GBP. Dolazi s unaprijed instaliranom verzijom Minecrafta, zajedno s API-jem koji vam omogućuje pisanje koda za pokretanje u virtualnom svijetu. To radite u Pythonu, što je jednostavno za naučiti. Kombinacija Pi, Pythona i Minecrafta pruža izvrsnu priliku da započnete istraživati ​​mogućnosti programiranja. A uzbuđenje kada se vidi kako se kuća gradi na virtualnom krajoliku nije samo za djecu.

kako oporaviti izbrisane tekstove na iphone -

Skriptiranje u Minecraftu

Minecraft je otvorena pjeskovita igra koja nema liniju zapleta koju treba slijediti. Ponekad se opisuje kao virtualni Lego, jer igrač može izgraditi bilo koju vrstu strukture koristeći blokove kojima raspolaže. Verzija u paketu s Raspberry Pi ima ograničeni skup značajki prilagođen njegovoj obrazovnoj ulozi - tako da ne trebate brinuti hoće li vas, na primjer, progoniti zombiji. Interakcija s ovim svijetom ne zahtijeva posebno postavljanje, samo nedavnu izgradnju OS Raspbian i programskog okruženja. Odlučio bih se za Geany, koji možete instalirati otvaranjem LXTerminala i upisivanjem:

sudo apt-get instaliraj geany

Krenimo od stvaranja skripte za izgradnju kuće ispred igrača - no umjesto da je samo udarimo na mjesto, mi ćemo je animirati. Također ćemo ugraditi razne konfigurabilne postavke, koje će omogućiti igraču da eksperimentira s različitim dimenzijama i materijalima. To će program također učiniti modularnim, pa se može koristiti kao osnova za stvaranje sofisticiranijih wellnessa.

Da bi kod radio, učitajte ga u Geany, a zatim pokrenite Minecraft i stvorite novi svijet. Pritisnite tipku Tab da biste otpustili kursor iz prozora Minecraft i kliknite ikonu zupčanika u Geanyu (ili pritisnite F5) da biste pokrenuli skriptu. Trebali biste vidjeti kuću kako se čarobno sastavlja. Ako to ne učinite, pokušajte se okrenuti - možda je to iza vas! Možete vidjeti skriptu na djelu ovdje . Pa kako funkcionira skripta? Pa, prvo otvara vezu do Minecrafta:

uvoz mcpi.minecraft kao minecraft, vrijeme mc = minecraft.Minecraft.create ()

U Pythonu je važno obratiti pažnju na uvlačenje, jer se na taj način kôd dijeli na blokove. U ovom su slučaju oba retka u ravnini s lijevom marginom: prvi redak uvozi Minecraft i Time knjižnice, a drugi stvara Minecraft objekt koji ćemo moći koristiti cijelo vrijeme. Sljedećih 25 redaka postavlja nekoliko varijabli za blokove koje ćemo koristiti kako bismo ih mogli nazvati, recimo, drvenim_planama, a ne prema njihovom ID-u bloka (5, u ovom slučaju). Zatim naznačujemo koji će se od ovih blokova koristiti za zidove, koji za krov i tako dalje. Konstrukciju kuće možemo lako promijeniti u potpunosti zamijenivši zidove opeke za kaldrmu, na primjer. Konačno, postavili smo širinu, duljinu i visinu željenog stana.

Sada zovemo Minecraft funkciju mc.player.getTilePos () da lociramo igrača u pejzažu, a vrijednosti koje se vrate zatim se koriste za stvaranje dvije varijable, lijevo i dolje, da opišu gdje će biti prvi kut stana .

Nakon toga, struktura skripte podudara se s Minecraft postupkom ručne gradnje kuće. Započinjemo s čišćenjem prostora tako da ako igrač odluči graditi kuću unutar, recimo, planine, dnevni boravak neće biti čvrst kamen. Evo bloka koda - funkcije u Pythonu - koja to čini:

def clear_house (nuklearna):
ako je nuklearna == Tačno:
zona eksplozije = 20
drugo:
zona eksplozije = 0
mc.setBlocks (left-blast_zone, player_
tlo, dno + zona eksplozije, lijevo + širina + eksplozija_
zona, igračko_zemlje + visina + eksplozija_
zona + 10, dno dna-zona eksplozije, zračni_blok)

Kada nazovemo clear_house, unesemo parametar nuklearni. Ima vrijednost True ili False. Možete ga pokušati nazvati True kako biste očistili veći volumen oko ciljanog područja ili ga nazvali False kako biste ograničili zazor na unutarnje dimenzije kuće. U Minecraftu se funkcija mc.setBlocks koristi za stvaranje kocke blokova tako što joj prosljeđuje koordinate, u tri dimenzije, suprotnih kutova nakon kojih slijedi vrsta bloka koju želite koristiti. U ovom slučaju čistimo prostor, pa koristimo zrak.

Nakon što očistimo prostor, vrijeme je da prijeđemo na izgradnju. Svaka od ovih faza izgradnje odvija se u svojoj funkciji. Na kraju skripte vidjet ćete funkciju koja se naziva main () koja kontrolira tijek programa pozivajući redom svaku fazu gradnje. Razumnim imenovanjem naših funkcija i pozivanjem iz main () lako je razumjeti što program radi:

def glavni ():
clear_house (lažno)
start_pos = [lijevo, dolje, player_
tlo]
build_floor (start_pos)
tečaj = zidovi_gradnje (start_pos)
add_door (položaj_ vrata)
vrijeme.spavanje (kašnjenje * 10)
build_roof (start_pos, tečaj)

Sljedeća funkcija pozvana u main () gradi pod - koristi mc. setBlocks ponovno izrezbare temelj (za umjetnički efekt), a zatim dodajte kocku podnih pločica dubine jednog bloka kako biste stvorili čvrst pod u našoj kući.

kako brišete svoju priču na snapchatu

Građenje zidova

Funkcija build_walls je srž programa. Najučinkovitiji način za stvaranje školjke kuće bio bi lupljenje čvrste kocke cigle, a zatim pomoću clear_house urezao unutrašnjost. Međutim, želimo da se čini da se kuća sama gradi, pa blokove moramo postavljati pojedinačno, jedan za drugim. Evo pojednostavljene verzije koda za zidanje zidova:

def build_course (start_pos, smjer,
tečaj):
blokova = 1
current_horiz = start_pos [0]
trenutna_verta = start_pos [1]

ako je smjer == gore ili
smjer == prema dolje:
broj_blokova = duljina
drugo:
broj_blokova = širina

dok blokovimc.setBlock (trenutni_horiz, igrač_
tlo + kurs, trenutni_okret, zidni_blok)
ako je smjer == gore:
trenutna_verta- = 1
smjer elif == dolje:
trenutna_verza + = 1
smjer elif == desno:
trenutni_horiz + = 1
drugo:

trenutni_horiz- = 1
blokovi = blokovi + 1 # prelazak na sljedeći blok
vrijeme.spavanje (odgoda)

Počinjemo s pohranom početnog položaja - ovo će biti položaj posljednjeg bloka položenog iz prethodnog tijeka blokova. Zatim odredimo koliko blokova treba postaviti, ovisno o tome idemo li dužinom zgrade ili njezinom širinom.

Faza gradnje sadržana je u while bloku - to se nastavlja dok ne postavimo sve blokove. mc.setBlock postavlja jedan blok na prikazane koordinate, a zatim povećava jednu od tih koordinata, ovisno o smjeru u kojem polažemo. Učinak je da se blokovi postavljaju uz zid prije skretanja za ugao i nastavljaju u pravokutniku dok se kurs ne završi.

kako izbrisati podcaste s iphone -

Konačna verzija koda malo je više uključena, dodajući prozore na svaki zid. Prozori su dinamičke veličine tako da su polovine duljine zida i centrirani. Također bilježi položaj vrata; dodaje se nakon zidanja zidova. Tečajevi se kontroliraju iz funkcije build_walls koja ponavlja funkciju build_course za svaki kurs blokova dok ne dosegne konačnu visinu.

Možete čak pokušati izgraditi svoju kuću u oceanu ili u zraku - učinite to dvostrukim pritiskom razmaknice da leti, a zatim ponovno pritisnite da biste se podigli prije pokretanja skripte. Izmijenite varijable wall_block i roof_block kako biste vidjeli što će se dogoditi ako zidove ili krov napravite od zlata ili, zaista, lave. Možete dodati vlastite blokove pregledavanjem cijelog popisa ovdje i dodavanje pridružene varijable u skriptu. Izazovnije izmjene mogu uključivati ​​dodavanje više etaža u strukturu ako je varijabla visine postavljena na dovoljno veliku vrijednost. Na primjer, razradite kako dodati kupole, a vi imate prednosti Minecraft dvorca.

Ovi bi pomaci mogli zvučati trivijalno, ali profesionalno se bavim programiranjem već više od 20 godina i još uvijek imam uzbuđenja kad isječak koda radi kako je predviđeno. Ako nikada prije niste programirali, nadam se da ćete to pokušati - a ako imate domaćinstvo Minecraftovog obožavatelja, predlažem da ih pustite na kodu i vidite kamo će ih odvesti. Veze do izvora Minecraft Pi pronaći ćete na kevpartner.co.uk/programiranje .

Zanimljivi Članci

Izbor Urednika

Ako osjetite miris smrti, možda imate veći rizik od depresije
Ako osjetite miris smrti, možda imate veći rizik od depresije
Miris smrti (1895.), Edvard Munch 1857. godine pjesnik Charles Baudelaire napisao je sljedeće, u vrijeme kad znanstvenici zapravo nisu znali kakav je smrtonosni smrad: A nebo je promatralo taj vrhunski leš Cvijet
ION Block Rocker recenzija
ION Block Rocker recenzija
Na raspolaganju su stotine prijenosnih zvučnika za iPhone i iPod, od jeftinih i gadnih do butičnih audio proizvoda temeljenih na ventilima. Ipak, nikada nismo vidjeli nešto posve ovakvo. To je prijenosni zvučnik za zabavu i to
Kako dodati kreditnu karticu u aplikaciju Cash
Kako dodati kreditnu karticu u aplikaciju Cash
Povezivanje kreditne kartice s aplikacijom Cash omogućuje vam plaćanje tom karticom umjesto debitnom karticom. Možete povezati jednu kreditnu karticu. Evo kako to učiniti.
Kako ispisati omotnicu pomoću LibreOffice
Kako ispisati omotnicu pomoću LibreOffice
Trebalo je neko vrijeme (zapravo dugo) dok je OpenOffice / LibreOffice spustio cijelu stvar s ispisom na kovertu. U loša stara vremena to je bilo smiješno teško učiniti, jer ste zapravo morali stvoriti vlastitu omotnicu
Provjerite koja je verzija DirectX-a instalirana u sustavu Windows 10
Provjerite koja je verzija DirectX-a instalirana u sustavu Windows 10
Kako provjeriti koja je verzija DirectX-a instalirana u sustavu Windows 10 DirectX je skup upravljačkih programa i komponenata koji softveru u sustavu Windows (uglavnom igrama) omogućuje izravnu suradnju s video i audio hardverom. DirectX poboljšava izvedbu igara pružajući multimedijsko ubrzanje ugrađeno u adapter za zaslon, audio uređaje i drugi hardver.
Kako brzo zatvoriti svoj web preglednik
Kako brzo zatvoriti svoj web preglednik
Savladajte razne načine za brzo zatvaranje prozora preglednika u nekoliko vrsta preglednika na platformama Windows, Macintosh i Chrome OS.
Kako pretraživati ​​Google slike po veličini
Kako pretraživati ​​Google slike po veličini
Google slike izvrstan su način da pronađete inspiraciju, izliječite dosadu ili jednostavno istražite internet neko vrijeme. Stalno ga koristim kako bih pronašao ideje za stvari, a bogat je izvor medija za sve