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

Omogućite učitavanje userChrome.css i userContent.css u Firefoxu
Omogućite učitavanje userChrome.css i userContent.css u Firefoxu
Kako omogućiti učitavanje userChrome.css i userContent.css u Firefoxu. Počevši od Firefoxa 69, preglednik ne učitava userChrome.css ili userContent.css
Dva brza načina da provjerite tko vas je prestao pratiti na Instagramu
Dva brza načina da provjerite tko vas je prestao pratiti na Instagramu
Možete koristiti ručni pristup praćenju pratitelja, ali postoje pouzdane aplikacije trećih strana koje također mogu pomoći.
Kako promijeniti lokaciju na OnlyFans
Kako promijeniti lokaciju na OnlyFans
OnlyFans je platforma na kojoj kreatori svih vrsta mogu dijeliti svoj sadržaj u zamjenu za pretplatu. Međutim, zbog zahtjeva platforme za lokaciju, to nije jedino što korisnici dijele – htjeli oni to ili ne.
Kako natjerati Discord da radi u vašoj školi ili fakultetu
Kako natjerati Discord da radi u vašoj školi ili fakultetu
Kada ste u školi, fakultetu ili državnoj ustanovi, velike su šanse da je vaš pristup određenim web stranicama ograničen. To posebno vrijedi za društvene platforme ili web stranice za dijeljenje sadržaja koje mogu razmjenjivati ​​osjetljive podatke. Budući da je Discord oboje,
Apple iPad mini 5: Glasine, datum izlaska i još mnogo toga na sljedećem iPadu mini
Apple iPad mini 5: Glasine, datum izlaska i još mnogo toga na sljedećem iPadu mini
Prošlo je više od godinu dana od lansiranja iPada mini 4, a iako se čini da je taj uređaj prekasan za nadogradnju, glasine o iPadu mini 5 na terenu su iznenađujuće tanke. Uz to, s nedavnim izdanjem
Windows 10 build 10537 procurio je i dostupan za preuzimanje
Windows 10 build 10537 procurio je i dostupan za preuzimanje
Preuzmite Windows 10 build 10537 ISO slike. Ovu je verziju procurio WZor.
Kako pretražiti cijelo računalo, uključujući sadržaj datoteke, i pokrenuti bilo što koristeći Classic Shell
Kako pretražiti cijelo računalo, uključujući sadržaj datoteke, i pokrenuti bilo što koristeći Classic Shell
Kako pretražiti cijelo računalo, uključujući sadržaj datoteke, i pokrenuti bilo što koristeći Classic Shell