Principal Serveis De Transmissió Hacking Minecraft al Raspberry Pi

Hacking Minecraft al Raspberry Pi



El Raspberry Pi 2 és un dispositiu amb una capacitat sorprenent, tenint en compte el seu preu inferior als 30 lliures. Inclou una versió de Minecraft preinstal·lada, juntament amb una API que us permet escriure codi per executar-lo al món virtual. Ho feu a Python, que és senzill d’aprendre. La combinació de Pi, Python i Minecraft ofereix una gran oportunitat per començar a explorar les possibilitats de programació. I l’emoció de veure com una casa es construeix sobre un paisatge virtual tampoc no és només per als nens.

puc canviar el meu nom de vigilància

Scripting a Minecraft

Minecraft és un joc de sandbox obert que no té una línia argumental a seguir. De vegades es descriu com a Lego virtual, ja que el jugador pot construir qualsevol tipus d’estructura mitjançant els blocs que té a la seva disposició. La versió inclosa amb el Raspberry Pi té un conjunt de funcions limitat adequat al seu paper educatiu; per tant, no us haureu de preocupar de ser perseguit per zombis, per exemple. La interacció amb aquest món no requereix cap configuració especial, només una compilació recent del sistema operatiu Raspbian més un entorn de programació. Optaria per Geany, que podeu instal·lar obrint LXTerminal i escrivint:

sudo apt-get install geany

Comencem creant un guió per construir una casa davant del reproductor, però en lloc de donar-li un cop al lloc, l'animarem. També crearem diversos paràmetres configurables, que permetran al jugador experimentar amb diferents dimensions i materials. Això també farà que el programa sigui modular, de manera que es pot utilitzar com a base per crear pous més sofisticats.

Per fer que el codi funcioni, carregueu-lo a Geany i després inicieu Minecraft i creeu un món nou. Premeu la tecla Tabulador per deixar anar el cursor de la finestra de Minecraft i feu clic a la icona d'engranatge de Geany (o premeu F5) per iniciar el script. Hauríeu de veure com una casa es munta màgicament. Si no ho feu, proveu de donar la volta; potser us quedareu enrere. Podeu veure el guió en acció aquí . Llavors, com funciona el guió? Bé, primer obre un enllaç a Minecraft:

importar mcpi.minecraft com a minecraft, temps mc = minecraft.Minecraft.create ()

A Python, és important prestar atenció a la sagnia, ja que així es divideix el codi en blocs. En aquest cas, ambdues línies són a la paret amb el marge esquerre: la primera línia importa les biblioteques Minecraft i Time i la segona crea un objecte Minecraft per a la nostra utilització. Les properes 25 línies estableixen unes quantes variables per als blocs que farem servir, de manera que podem referir-nos-hi com, per exemple, wood_planks en lloc del seu identificador de bloc (5, en aquest cas). A continuació, indiquem quin d'aquests blocs s'utilitzarà per a les parets, quin per al sostre, etc. Podem canviar fàcilment la construcció de la casa completament canviant parets de maó per llambordes, per exemple. Finalment, establim l’amplada, la longitud i l’alçada del nostre habitatge desitjat.

Ara anomenem la funció Minecraft mc.player.getTilePos () per localitzar el reproductor al paisatge i els valors que tornen s’utilitzen per crear dues variables, esquerra i inferior, per descriure on serà el primer racó de l’habitatge. .

Després, l'estructura del guió coincideix amb el procés de Minecraft de construir manualment una casa. Comencem netejant un espai perquè, si el jugador decideix construir la casa a l’interior, per exemple, d’una muntanya, la zona d’estar no serà de pedra massissa. Aquí teniu el bloc de codi (la funció de Python) que fa això:

def clear_house (nuclear):
si nuclear == True:
zona_explosió = 20
en cas contrari:
zona_blast = 0
mc.setBlocks (left-blast_zone, player_
terra, part inferior + zona explosió, esquerra + amplada + explosió_
zona, terra_jugador + alçada + explosió_
zona + 10, zona de fons-longitud-blast, bloc_aire)

Quan anomenem clear_house, passem el paràmetre nuclear. Té el valor True o False. Podeu provar de trucar-lo amb True per esborrar un volum més gran al voltant de l'àrea objectiu o bé trucar-lo amb False per limitar l'espai lliure a les dimensions internes de la casa. A Minecraft, la funció mc.setBlocks s’utilitza per crear un cub de blocs passant-li les coordenades, en tres dimensions, de cantonades oposades seguides del tipus de bloc que voleu utilitzar. En aquest cas, netejem un espai, de manera que fem servir l’aire.

Un cop netejat l’espai, és hora de passar a la construcció. Cadascuna d’aquestes etapes de construcció té lloc en la seva funció. Al final de l’escriptura, veureu una funció anomenada main (), que controla el flux del programa cridant cada fase de construcció al seu torn. En nomenar les nostres funcions amb criteri i anomenar-les des de main (), és fàcil entendre què fa el programa:

def main ():
clear_house (fals)
start_pos = [esquerra, inferior, jugador_
terra]
build_floor (start_pos)
course = build_walls (start_pos)
add_door (porta_posició)
time.sleep (retard * 10)
build_roof (start_pos, curs)

La següent funció anomenada in main () construeix el sòl: això fa servir mc. setBlocks de nou per esculpir una base (amb efecte artístic) i, a continuació, afegiu un cub de rajoles amb una profunditat d’un bloc per crear un sòlid sòlid a casa nostra.

comproveu si els controladors estan actualitzats

Construint les parets

La funció build_walls és el cor del programa. La manera més eficient de crear la closca d’una casa seria abatre un cub massís de maons i després utilitzar clear_house per esculpir l’interior. Tot i això, volem que la casa aparegui per construir-se, de manera que hem de col·locar blocs individualment, un darrere l’altre. Aquí teniu una versió simplificada del codi de construcció de murs:

def build_course (start_pos, direction,
curs):
blocs = 1
current_horiz = start_pos [0]
current_vert = start_pos [1]

si direcció == cap amunt o
direcció == cap avall:
nombre_de_blocs = longitud
en cas contrari:
nombre_de_blocs = amplada

mentre que blocsmc.setBlock (current_horiz, player_
terra + rumb, current_vert, wall_block)
si direcció == cap amunt:
actual_vert- = 1
direcció elif == cap avall:
actual_vert + = 1
direcció elif == dreta:
horitzó_actual + = 1
en cas contrari:

horitzó_actual- = 1
blocks = blocks + 1 # passa al següent bloc
time.sleep (retard)

Comencem emmagatzemant la posició inicial: aquesta serà la posició de l’últim bloc posat del curs anterior de blocs. A continuació, especifiquem quants blocs cal col·locar, en funció de si anem al llarg de l’edifici o de l’amplada.

La fase de construcció es troba dins del bloc while; continua funcionant fins que hem col·locat tots els blocs. mc.setBlock col·loca un sol bloc a les coordenades que es mostren i, a continuació, augmenta una d’aquestes coordenades en funció de la direcció en què estiguem col·locats. L'efecte és que els blocs es col·loquen al llarg d'una paret abans de girar una cantonada i continuar en un rectangle fins que es completa el curs.

com es pot saber si algú llegeix el vostre missatge sense comprovar-los

La versió final del codi està una mica més implicada, afegint finestres a cada paret. Les finestres tenen una mida dinàmica de manera que tinguin la meitat de la longitud de la paret i estiguin centrades. També registra la posició de la porta; s’afegeix un cop construïdes les parets. Els cursos es controlen des de la funció build_walls, que repeteix la funció build_course per a cada recorregut de blocs fins que arriba a l'alçada final.

Fins i tot podeu provar de construir la vostra casa a l'oceà o a l'aire: feu-ho prement dues vegades la barra espaiadora per volar i premeu de nou per aixecar-vos abans d'executar el guió. Altereu les variables wall_block i roof_block per veure què passa si creeu les parets o el sostre amb or o, de fet, amb lava. Podeu afegir els vostres propis blocs consultant la llista completa aquí i afegir la variable associada a l'script. Les modificacions més difícils poden incloure l'addició de diversos pisos a l'estructura si la variable d'alçada s'estableix en un valor prou gran. Esbrineu com afegir torretes, per exemple, i teniu el disseny d’un castell de Minecraft.

Aquests ajustaments poden semblar trivials, però he estat programant professionalment des de fa més de 20 anys i encara sento emoció quan un fragment de codi funciona com es volia. Si mai no heu programat mai, espero que ho proveu i, si teniu un ventilador de Minecraft a la llar, us suggereixo deixar-los anar al codi i veure on els porta. Trobareu enllaços a recursos de Minecraft Pi a kevpartner.co.uk/programming .

Articles D'Interès

L'Elecció De L'Editor

Plaques base, plaques del sistema i plaques base
Plaques base, plaques del sistema i plaques base
La placa base és la placa de circuit principal d'un ordinador. Més informació aquí sobre com proporciona una manera de comunicar-se el maquinari de l'ordinador.
Actualitzeu Mozilla Firefox per solucionar un error crític
Actualitzeu Mozilla Firefox per solucionar un error crític
Mozilla ha aconsellat a tots els usuaris del seu navegador Firefox que actualitzin a la versió més recent per solucionar un error de seguretat molt crític que podria permetre als atacants fer-se càrrec del vostre ordinador. La companyia va revelar que una empresa de seguretat [anomenada] Qihoo 360 va informar d'una vulnerabilitat que es va utilitzar com a part d'atacs dirigits contra
Com extreure fitxers RAR de qualsevol dispositiu
Com extreure fitxers RAR de qualsevol dispositiu
Amb l’auge d’Internet, la compressió d’arxius per carregar i descarregar s’ha convertit en un lloc relativament habitual. Un d'aquests estàndards de compressió és l'extensió .rar, que pot crear arxius més densos que altres formats. En aquest article,
Arxius d'etiquetes: desactiveu els jocs d'instal·lació automàtica de Windows 10
Arxius d'etiquetes: desactiveu els jocs d'instal·lació automàtica de Windows 10
Com canviar el color del vostre punt de ressò?
Com canviar el color del vostre punt de ressò?
Tots els dispositius Amazon Echo tenen una paleta de colors que canvia en funció de l’estat del dispositiu. Probablement haureu vist que el vostre Echo Dot es tornava blau quan l’engegueu o de color verd si el telèfon intel·ligent connectat rep
Com es calcula el temps a Fulls de càlcul de Google
Com es calcula el temps a Fulls de càlcul de Google
Tant si voleu reunir un full de càlcul financer ràpid com si voleu treballar junts amb un company de feina en un document similar a Excel, Fulls de càlcul de Google és una excel·lent alternativa gratuïta a Excel, basada en la web.
Com s'ajusta el retard abans que s'executi Chkdsk mentre arrencava Windows 8 i Windows 8.1
Com s'ajusta el retard abans que s'executi Chkdsk mentre arrencava Windows 8 i Windows 8.1
A les versions de Windows anteriors al Windows 8, si la partició del disc dur estava marcada com a bruta a causa d'un apagat incorrecte o per corrupció o sectors defectuosos, Chkdsk s'executava mentre s'iniciava Windows per solucionar els errors de la unitat. Teníeu l’opció de cancel·lar la comprovació del disc i continuar arrencant Windows abans d’iniciar-se