Principal Servicii De Streaming Hacking Minecraft pe Raspberry Pi

Hacking Minecraft pe Raspberry Pi



Raspberry Pi 2 este un dispozitiv surprinzător de capabil, având în vedere prețul său sub 30 GBP. Vine cu o versiune Minecraft preinstalată, împreună cu un API care vă permite să scrieți cod pentru a fi rulat în lumea virtuală. Faceți acest lucru în Python, care este ușor de învățat. Combinația dintre Pi, Python și Minecraft oferă o oportunitate excelentă de a începe explorarea posibilităților de programare. Și fiorul de a vedea o casă construindu-se pe un peisaj virtual nu este doar pentru copii.

nu a reușit conectarea spotify la discordie

Scriptarea în Minecraft

Minecraft este un joc open sandbox care nu are o linie de parcurs de urmat. Uneori este descris ca Lego virtual, deoarece jucătorul poate construi orice tip de structură folosind blocurile de care dispune. Versiunea la pachet cu Raspberry Pi are un set de funcții limitat, potrivit rolului său educațional - deci nu trebuie să vă faceți griji că, de exemplu, sunteți urmăriți de zombi. Interacțiunea cu această lume nu necesită o configurare specială, ci doar o versiune recentă a sistemului de operare Raspbian plus un mediu de programare. Aș alege Geany, pe care îl puteți instala deschizând LXTerminal și tastând:

sudo apt-get install geany

Să începem prin a crea un script pentru construirea unei case în fața jucătorului - dar, mai degrabă decât să-i plesnim una în loc, o vom anima. De asemenea, vom construi diverse setări configurabile, care îi vor permite jucătorului să experimenteze diferite dimensiuni și materiale. Acest lucru va face, de asemenea, programul modular, deci poate fi folosit ca bază pentru crearea unor puțuri mai sofisticate.

Pentru a face codul să funcționeze, încărcați-l în Geany, apoi porniți Minecraft și creați o lume nouă. Apăsați tasta Tab pentru a elibera cursorul din fereastra Minecraft și faceți clic pe pictograma roată din Geany (sau apăsați F5) pentru a lansa scriptul. Ar trebui să vezi că o casă se asamblează în mod magic. Dacă nu, încercați să vă întoarceți - s-ar putea să fie în spatele vostru! Puteți vedea scriptul în acțiune Aici . Deci, cum funcționează scenariul? Ei bine, mai întâi deschide un link către Minecraft:

import mcpi.minecraft ca minecraft, timpul mc = minecraft.Minecraft.create ()

În Python, este important să acordați atenție indentării, deoarece modul în care codul este împărțit în blocuri. În acest caz, ambele linii sunt la același nivel cu marginea din stânga: prima linie importă bibliotecile Minecraft și Time, iar cea de-a doua creează un obiect Minecraft pe care să îl putem folosi pe tot parcursul. Următoarele 25 de linii stabilesc câteva variabile pentru blocurile pe care le vom folosi, astfel încât să ne putem referi la ele ca, să zicem, wood_planks, mai degrabă decât prin ID-ul lor de bloc (5, în acest caz). Apoi indicăm care dintre aceste blocuri va fi utilizat pentru pereți, care pentru acoperiș și așa mai departe. Putem schimba cu ușurință construcția casei complet schimbând pereții de cărămidă cu pietriș, de exemplu. În cele din urmă, stabilim lățimea, lungimea și înălțimea locuinței dorite.

Acum numim funcția Minecraft mc.player.getTilePos () pentru a localiza jucătorul în peisaj, iar valorile care revin sunt apoi utilizate pentru a crea două variabile, stânga și jos, pentru a descrie unde va fi primul colț al locuinței .

Ulterior, structura scriptului se potrivește cu procesul Minecraft de construire manuală a unei case. Începem prin degajarea unui spațiu, astfel încât dacă jucătorul alege să construiască casa în interior, să zicem, un munte, zona de locuit nu va fi piatră solidă. Iată blocul de cod - funcția din Python - care face acest lucru:

def clear_house (nuclear):
dacă nuclear == Adevărat:
blast_zone = 20
altceva:
blast_zone = 0
mc.setBlocks (left-blast_zone, player_
sol, jos + zona blast, stânga + lățime + blast_
zona, terenul jucătorului + înălțimea + explozia_
zonă + 10, lungime-jos-zonă-explozie, bloc_air)

Când numim clear_house, trecem în parametrul nuclear. Are valoarea Adevărat sau Fals. Puteți încerca să-l apelați cu True pentru a șterge un volum mai mare în jurul zonei țintă sau să-l apelați cu False pentru a limita spațiul liber la dimensiunile interne ale casei. În Minecraft, funcția mc.setBlocks este utilizată pentru a crea un cub de blocuri trecându-i coordonatele, în trei dimensiuni, ale colțurilor opuse urmate de tipul de bloc pe care doriți să îl utilizați. În acest caz, degajăm un spațiu, așa că folosim aerul.

Odată ce am eliberat spațiul, este timpul să trecem la construcție. Fiecare dintre aceste etape de construcție are loc în funcția sa. La sfârșitul scriptului, veți vedea o funcție numită main (), care controlează fluxul programului apelând pe rând fiecare fază de construcție. Denumind funcțiile noastre în mod sensibil și apelându-le din main (), este ușor să înțelegeți ce face programul:

def main ():
clear_house (Fals)
start_pos = [stânga, jos, jucător_
sol]
build_floor (start_pos)
course = build_walls (start_pos)
add_door (door_position)
time.sleep (întârziere * 10)
build_roof (start_pos, curs)

Următoarea funcție numită în main () construiește podeaua - aceasta folosește mc. setBlocks din nou pentru a sculpta o fundație (pentru efect artistic) și apoi adăugați un cub de gresie cu o adâncime de un bloc pentru a crea o podea solidă în casa noastră.

cum se introduce caseta de selectare în Google Docs

Construirea zidurilor

Funcția build_walls este inima programului. Cel mai eficient mod de a crea cochilia unei case ar fi să trântești un cub solid de cărămizi și apoi să folosești clear_house pentru a sculpta interiorul. Cu toate acestea, dorim ca casa să apară pentru a se construi singură, așa că trebuie să amplasăm blocuri individual, unul după altul. Iată o versiune simplificată a codului de construcție a zidurilor:

def build_course (start_pos, direcție,
curs):
blocuri = 1
current_horiz = start_pos [0]
current_vert = start_pos [1]

dacă direcția == în sus sau
direcție == în jos:
number_of_blocks = lungime
altceva:
number_of_blocks = latime

în timp ce blocurimc.setBlock (current_horiz, player_
sol + curs, curent_vert, bloc_de perete)
dacă direcția == sus:
curent_vert- = 1
direcția elif == în jos:
curent_vert + = 1
direcția elif == dreapta:
curent_horiz + = 1
altceva:

curent_horiz- = 1
blocuri = blocuri + 1 # treceți la următorul bloc
time.sleep (întârziere)

Începem prin stocarea poziției de pornire - aceasta va fi poziția ultimului bloc așezat din cursul anterior de blocuri. Apoi specificăm câte blocuri trebuie așezate, în funcție de faptul dacă mergem de-a lungul clădirii sau al lățimii acesteia.

Faza de construcție este cuprinsă în blocul while - aceasta continuă să ruleze până când am așezat toate blocurile. mc.setBlock plasează un singur bloc la coordonatele afișate, apoi mărește una dintre aceste coordonate în funcție de direcția în care ne așezăm. Efectul este că blocurile sunt așezate de-a lungul unui perete înainte de a întoarce un colț și de a continua într-un dreptunghi până când cursul este finalizat.

cum să adăugați casete de selectare în Google Docs

Versiunea finală a codului este puțin mai implicată, adăugând ferestre la fiecare perete. Ferestrele sunt dimensionate dinamic, astfel încât să aibă jumătate din lungimea peretelui și să fie centrate. De asemenea, înregistrează poziția ușii; se adaugă odată ce zidurile sunt construite. Cursurile sunt controlate din funcția build_walls, care repetă funcția build_course pentru fiecare curs de blocuri până când atinge înălțimea finală.

Puteți încerca chiar să vă construiți casa în ocean sau în aer - faceți acest lucru apăsând de două ori bara de spațiu pentru a zbura, apoi apăsați din nou pentru a vă ridica înainte de a rula scriptul. Modificați variabilele wall_block și roof_block pentru a vedea ce se întâmplă dacă creați pereții sau acoperișul din aur sau, într-adevăr, din lavă. Puteți adăuga propriile blocuri consultând lista completă Aici și adăugarea variabilei asociate la script. Modificări mai provocatoare ar putea include adăugarea mai multor etaje la structură dacă variabila înălțime este setată la o valoare suficient de mare. Aflați cum să adăugați turnulețe, de exemplu, și aveți construcțiile unui castel Minecraft.

Aceste modificări ar putea părea banale, dar programez profesional de mai bine de 20 de ani și totuși am un fior când un fragment de cod funcționează conform intenției. Dacă nu v-ați programat niciodată până acum, sper că veți încerca - și dacă aveți un ventilator Minecraft în gospodărie, vă sugerez să-i lăsați pe cod și să vedeți unde îi duce. Veți găsi linkuri către resursele Minecraft Pi la kevpartner.co.uk/programming .

Articole Interesante

Alegerea Editorului

Cum să verificați dacă cineva este activ pe Facebook
Cum să verificați dacă cineva este activ pe Facebook
Dacă folosești Facebook des, s-ar putea să te-ai întrebat dacă există o modalitate de a vedea dacă cineva este online. Poate doriți să ajungeți din urmă cu un membru al familiei, un prieten, un coleg de muncă sau ați putea fi pur și simplu curios.
Este Google Password Manager sigur? Ce trebuie să luați în considerare înainte de a-l folosi
Este Google Password Manager sigur? Ce trebuie să luați în considerare înainte de a-l folosi
Managerul de parole Google vă păstrează parolele într-un seif utilizând criptare de nivel militar. În general, este considerat sigur, dar există pași pe care îi puteți lua pentru a-l face mai sigur. De exemplu, adăugați două caractere suplimentare la parolele generate automat de Google și asigurați-vă dispozitivele.
Cum să schimbi Km la mile în Strava
Cum să schimbi Km la mile în Strava
Strava este o aplicație care face mai ușor pentru alergători și bicicliști să-și formeze traseele și să le urmărească progresul. Vă arată diferite statistici, inclusiv distanța pe care ați parcurs-o. Puteți verifica acest lucru într-o clipă și dvs.
Windows 10 Build 19041 ISOs lansate (20H1, RTM)
Windows 10 Build 19041 ISOs lansate (20H1, RTM)
Microsoft lansează Windows 10 Build 19041 către Insiders in Slow Ring. Build 19041 ar trebui să fie o versiune finală a Windows 10 '20H1', versiunea 2004. Dacă Microsoft nu găsește nicio problemă critică cu această versiune, va fi trimisă la ramura de producție în această primăvară. 10
Hackerii încalcă sistemul de resetare a parolei Sony
Hackerii încalcă sistemul de resetare a parolei Sony
Rețeaua PlayStation Sony este din nou sub foc, cu o nouă încălcare a securității care a lovit compania asediată. La doar câteva zile după ce rețeaua a fost înviată în urma unei încălcări masive a datelor, există dovezi crescânde că hackerii au ocolit protecțiile puse în aplicare
Ce este Windows 10?
Ce este Windows 10?
Informații importante despre Microsoft Windows 10, inclusiv data lansării, edițiile, cerințele hardware, oferta de actualizare gratuită și multe altele.
Cakewalk Sonar 8 Recenzie producător
Cakewalk Sonar 8 Recenzie producător
Dintre toate software-urile majore pentru stațiile de lucru digitale digitale (DAW), Sonar Producer Edition oferă cel mai mare și mai divers set de caracteristici. Audiosnap și V-Vocal oferă editare audio cu o dexteritate care este pur și simplu imposibilă în majoritatea celorlalte software echivalente. Aceste