Werbung

Wollten Sie schon immer das Codieren lernen, wussten aber nicht, wo Sie anfangen sollen? Erfahren Sie, wie Sie Minecraft auf dem Raspberry Pi mit Python und einer einfachen Elektronik steuern. Hier ist das Endergebnis:

Für dieses Projekt benötigen Sie einen Pi 2 oder neuer. Während Sie die meisten dieser Aufgaben über die Befehlszeile über Secure Shell (SSH) ausführen können, konzentriert sich dieses Lernprogramm auf die Codierung direkt auf dem Pi.

Neu bei Minecraft? Mach dir keine Sorgen - hier ist unsere Minecraft Anfängerhandbuch Der (Latecomer) Anfängerleitfaden für MinecraftWenn Sie jedoch zu spät zur Party kommen, machen Sie sich keine Sorgen - dieser ausführliche Anfängerleitfaden bietet Ihnen Informationen. Weiterlesen .

Einführung in Minecraft Pi

Minecraft-Pi-Menü

Minecraft für den Raspberry Pi wurde zum Lernen und Basteln entwickelt (und ist kostenlos). Es wird mit einer Anwendungsprogrammierschnittstelle (API) geliefert, mit der Code problemlos mit Minecraft kommunizieren kann. Es ist hervorragend geeignet, um zu lernen, wie man in Python programmiert

instagram viewer
Erste Schritte mit der Elektronik Anfängerelektronik: 10 Fähigkeiten, die Sie kennen müssenViele von uns haben noch nie einen Lötkolben berührt - aber Dinge herzustellen kann unglaublich lohnend sein. Hier sind zehn der grundlegendsten Fertigkeiten der DIY-Elektronik, die Ihnen den Einstieg erleichtern. Weiterlesen .

Was ist Python?

Python ist eine Programmiersprache. Es ist interpretiertDas heißt, wenn Sie eine Python-Datei oder ein Python-Programm ausführen, muss der Computer zuerst ein wenig an der Datei arbeiten. Die Nachteile sind, dass es im Vergleich zu als langsam angesehen werden kann kompilierte Sprachen.

Die Vorteile interpretierter Sprachen sind die Geschwindigkeit der Codierung und ihre Freundlichkeit. Sie müssen den Computer nicht informieren Was Daten, die Sie speichern möchten, nur dass Sie etwas speichern möchten, und der Computer wird herausfinden, was zu tun ist. Es gibt natürlich Ausnahmen, und dies ist eine etwas vereinfachte Ansicht, aber das Programmieren sollte Spaß machen! Wenn Sie anfangen, sich mit den komplexen technischen Details zu befassen, kann dies etwas mühsam werden.

Python unterscheidet zwischen Groß- und Kleinschreibung. Dies ist wichtig zu wissen, da Python keine Objekte erkennt auch wenn sie richtig geschrieben sind wenn der Fall falsch ist. "Dosomething ()" funktioniert nicht, wenn die Methode tatsächlich "DoSomething ()" heißt. Python verwendet auch Einrückungen. Anderen Programmiersprachen ist es möglicherweise egal, wie viele Einrückungen Ihr Code hat, während Python tut Pflege. Einrückungen werden verwendet, um Python mitzuteilen, wo Code hingehört. Andere Sprachen verwenden möglicherweise "Curly Braces" ({}), um Code zu gruppieren - Python verwendet diese nicht. Python verwendet einen Hash (#) für Kommentare, und Kommentare werden verwendet, um anderen Entwicklern oder Personen, die sich den Code ansehen, mitzuteilen, was ein bestimmtes Teil tut oder warum es benötigt wird. Python ignoriert alles nach einem Hash.

Schließlich gibt es zwei Hauptversionen von Python - Python 2.7.x und Python 3.x. Es gibt einige Unterschiede zwischen den beiden (Was sind die Unterschiede?). Dieses Tutorial verwendet Python 3.

Ersteinrichtung

Die Bereitstellung Ihres Pi ist bereits Raspbian einrichten und ausführen So installieren Sie ein Betriebssystem auf einem Raspberry PiHier erfahren Sie, wie Sie ein Betriebssystem auf Ihrem Raspberry Pi installieren und Ihr perfektes Setup für eine schnelle Notfallwiederherstellung klonen. Weiterlesen Es ist nicht viel Ersteinrichtung erforderlich.

Terminal öffnen (Menü> Zubehör> Terminal) und führen Sie diesen Befehl aus. Es wird immer empfohlen, die Repository-Liste auf dem neuesten Stand zu halten. Dadurch wird die neueste Programmliste heruntergeladen (Die Programme selbst werden nicht heruntergeladen. Dadurch weiß der Pi, welche Programme aufgerufen werden und wo sie zu finden sind Sie).

sudo apt-get update. 

Aktualisieren Sie nun den Pi (dies kann eine Weile dauern):

sudo apt-get upgrade. 

Python und Minecraft Pi sind bereits installiert. Wenn Minecraft Pi jedoch aus irgendeinem Grund nicht installiert ist, Es ist einfach zu installieren 5 Möglichkeiten, Software auf Raspberry Pi zu installierenUm etwas mit einem Raspberry Pi zu tun, müssen Sie wissen, wie ein Betriebssystem installiert wird und welche Software darauf ausgeführt wird. Wenn Sie Linux noch nicht kennen, kann dies entmutigend sein. Weiterlesen :

sudo apt-get installiere minecraft-pi

Navigieren Sie zu Dokumenten und erstellen Sie einen neuen Ordner mit dem Namen "Minecraft":

cd Dokumente / mkdir Minecraft

Sie können den Inhalt dieses neuen Ordners anzeigen:

ls

Hier ist ein Tipp: Wenn Sie mit der Eingabe beginnen und die TAB-Taste drücken, versucht die Befehlszeile, die Anweisung automatisch für Sie zu vervollständigen.

Sie können den Pfad zum aktuellen Verzeichnis mit pwd untersuchen, das für Print Working Directory steht:

pwd

Starten Sie Minecraft, indem Sie zu gehen Menü> Spiele> Minecraft Pi. Sie müssen dies ausführen, werden aber später darauf zurückkommen.

Öffnen Sie Python 3 von Menü> Programmierung> Python 3 (IDLE). Mit diesem Programm können Sie Python-Befehle ausführen und Programme schreiben.

Jetzt können Sie hier Ihre Python-Befehle eingeben, aber das ist nicht sehr praktisch. Gehe zu Datei> Neue Datei und dann Datei> Speichern und speichern Sie diese in dem zuvor erstellten Ordner. (Dokumente> Minecraft). Nennen wir es "hello_world.py“. Sie müssen die Erweiterung .py nicht verwenden, diese wird automatisch hinzugefügt, aber es wird empfohlen.

Wenn Sie zum Terminal zurückkehren und in den Minecraft-Ordner navigieren, sollte die gerade erstellte Datei angezeigt werden:

CD Minecraft / ls

Sie können diese Datei folgendermaßen ausführen:

python hello_world

Beachten Sie, dass "Python" nur in Kleinbuchstaben geschrieben ist. Dies muss vor dem Dateinamen stehen, da es dem Pi mitteilt, dass die folgende Datei Python ist, daher sollte sie als solche ausgeführt werden.

Wechseln Sie zurück zum Python-Editor und geben Sie Folgendes ein:

print "Hallo Welt!"

Speichern Sie diese Datei und führen Sie sie erneut aus. Sie sollten nun "Hallo Welt!" erscheinen in der Kommandozeile - ordentlich! Der Druckbefehl weist Python einfach an, den folgenden Text in doppelten Anführungszeichen auszugeben. Das ist gut, aber für Minecraft nicht besonders nützlich. Verknüpfen wir es:

aus mcpi.minecraft importieren Minecraft mc = Minecraft.create () mc.postToChat ("Hallo Welt!")

Wenn Sie diese Datei speichern und ausführen, sollte "Hallo Welt!" Angezeigt werden. erscheinen im Minecraft-Spiel. Lassen Sie uns den Code aufschlüsseln:

von mcpi.minecraft importieren Minecraft

Diese Zeile teilt Python mit, dass Sie Code aus einer anderen Datei verwenden möchten. Diese mcpi.minecraft-Datei wurde entwickelt, um eine einfache Steuerung von Minecraft zu ermöglichen.

mc = Minecraft.create ()

Diese Zeile erstellt ein Objekt namens "mc" (Minecraft). Sie müssen dies erstellen, um die Kommunikation mit dem Minecraft-Spiel zu ermöglichen - es reicht nicht aus, nur die Datei einzuschließen.

mc.postToChat ("Hallo Welt!")

Schließlich weist diese Zeile Minecraft an, Text in den Chat zu schreiben. Versuchen Sie, "Hallo Welt!" Zu ändern. zu etwas anderem und sehen, was passiert, aber denken Sie daran, beide doppelten Anführungszeichen einzuschließen. Wenn Sie Softwareprobleme haben, sind dies einige häufige Python- und Minecraft Pi-Fehler:

  • AttributeError - Dies ist ein Tippfehler, z. B. pint oder prnt anstelle von print
  • NameError: Der Name "Minecraft" ist nicht definiert. Denken Sie daran, die benötigten Module zu importieren
  • NameError: Der Name "true" ist nicht definiert. Bei Python wird zwischen Groß- und Kleinschreibung unterschieden. Wechseln Sie zu "True".
  • socket.error: [Errno 111] Verbindung abgelehnt - Stellen Sie sicher, dass Minecraft ausgeführt wird

Projekte

Nachdem Sie die Grundlagen von Python und Minecraft kennen, können Sie einige coole Projekte erstellen. Der gesamte Code kann von heruntergeladen werden Github.

Automatisierter Brückenbauer

Minecraft-Pi-Bridge-Builder

Dieses Programm wird effektiv eine Brücke über Wasser bauen. Wenn sich der Spieler einem Gewässer nähert, wandelt das Programm mehrere Blöcke in Stein um. Da Minecraft ein Koordinatensystem verwendet, ist es sehr einfach, den Standort des Spielers sowie die Art der Blöcke um den Spieler herum zu ermitteln. Minecraft Pi ist leicht eingeschränkt, daher ist es nicht möglich, mehrere verschiedene Blöcke in großen Mengen zu aktualisieren. Sie können dieses Verhalten jedoch leicht selbst codieren.

Erstellen Sie eine neue Datei (Datei> Neue Datei) und speichern Sie es als “bridge_builder.py“.

von mcpi.minecraft importieren Minecraft. mc = Minecraft.create () # Minecraft-Objekt erstellen, während True: x, y, z = mc.player.getPos () # Spielerposition speichern # die umgebenden Blöcke speichern a = mc.getBlock (x, y - 1, z + 1) b = mc.getBlock (x, y - 1, z - 1) c = mc.getBlock (x - 1, y - 1, z) d = mc.getBlock (x + 1, y - 1, z) wenn a == 8 oder a == 9 oder b == 8 oder b == 9 oder c == 8 oder c == 9 oder d == 8 oder d == 9: # 8 oder 9 ist Wasser. Stellen Sie die umgebenden Blöcke auf dem Boden auf einen Feststoff (Stein), wenn Wasser gefunden wird. Mc.setBlocks (x, y - 1, z, x + 1, y - 1, z + 1, 1) mc.setBlocks (x, y - 1, z, x - 1, y - 1, z - 1, 1) mc.setBlocks (x, y - 1, z, x - 1, y - 1, z + 1, 1) mc .setBlocks (x, y - 1, z, x + 1, y - 1, z - 1, 1)

Beachten Sie, wie der y-Wert tatsächlich y - 1 betrachtet. Dies ist die Bodenebene. Wenn der Wert von y verwendet würde, würde das Skript nach Blöcken auf etwa Kniehöhe suchen - es würde nicht sehr gut funktionieren! Mc.getBlock () Gibt die ID eines Blocks für die angegebenen Koordinaten zurück. Da x, y und z die Koordinaten des Spielers sind, können Sie sie addieren oder subtrahieren, um Positionen um den Spieler herum zu erhalten. Sie müssen nicht die x-, y- und z-Werte verwenden, sondern können eine beliebige Zahl verwenden. Möglicherweise wissen Sie jedoch nicht, wie sich dieser bestimmte Block auf den Spieler bezieht. Es ist besser, Werte relativ zum Spieler zu verwenden. Führen Sie diese Datei über die Befehlszeile aus und sehen Sie, was passiert.

Sie sollten sehen, dass sich ein kleiner Bereich des Bodens in Stein verwandelt, sobald der Spieler ein Gewässer erreicht. Es ist nicht großartig - Sie können schnell genug gehen, um ein Problem zu verursachen. Sie könnten dies lösen, indem Sie ein größeres Wasservolumen in Land umwandeln. Der letzte Teil der Methode mc.setBlocks () ist die Block-ID. Eines ist die Block-ID für Stein. Sie können dies in Holz, Gras oder irgendetwas ändern. Wenn Sie möchten, können Sie dies ganz einfach in ein komplexes Design umwandeln - vielleicht eine Hängebrücke!

Super Mining Button

Minecraft-Pi-Super-Mine

In diesem Beispiel wird der Bergbau kurz ausgeführt. Es besteht aus einem physischen Knopf, der beim Drücken 10 gewürfelte Blöcke abbaut. Beginnen wir mit der Schaltfläche. Ähnlich wie bei den Tasten des Arduino benötigen Sie eine kleine Menge Elektronik, die sich alle in einem befinden sollten Basis-Starter-Kit Was ist in Ihrem Arduino Starter Kit enthalten? [Arduino Anfänger]Angesichts einer Box voller elektronischer Komponenten ist es leicht, überwältigt zu werden. Hier finden Sie eine Anleitung zu genau dem, was Sie in Ihrem Kit finden. Weiterlesen :

  • 1 x Steckbrett
  • 1 x Momentschalter
  • 1 x 220 Ohm Widerstand
  • Weibliche> männliche Sprungkabel
  • Stecker> Steckerkabel

Hier ist die Schaltung:

Pi-Button-Verbindung

Dieser Widerstand wird als "Pulldown" -Widerstand bezeichnet. Es hilft sicherzustellen, dass der Pi denkt, dass die Taste gedrückt wird, wirklich die Taste, die gedrückt wird. Sie müssen dies nicht verwenden, es wird jedoch empfohlen, da Sie ohne es möglicherweise viel Rauschen und falsche Messwerte finden.

Die Taste ist mit GPIO-Pin 14 (General Purpose Input Output) verbunden. Sie können einen beliebigen GPIO-Pin verwenden Pinbelegung Erstens, da sie nicht alle vom Pi aus steuerbar sind und zwischen den Modellen geringfügig variieren.

Nachdem die Taste angeschlossen ist, ist es Zeit, sie zu testen. Erstellen Sie eine neue Datei und speichern Sie sie als „button_test.py“. Fügen Sie diesen Code hinzu, speichern Sie ihn und führen Sie ihn im Terminal aus.

RPi importieren. GPIO als GPIO. Importzeit GPIO.setmode (GPIO.BCM) # teilt dem Pi mit, welche Header verwendet werden sollen. GPIO.setup (14, GPIO.IN) # Sagen Sie dem Pi, dass dieser Pin ein Eingang ist, während True: Wenn GPIO.input (14) == True: # Suchen Sie nach einem Tastendruck. Drucken Sie "BUTTON WORKS!" # log result time.sleep (0.5) # warte 0,5 Sekunden. 

Drücken Sie Strg + C. um das Skript zu stoppen. Wenn alles richtig funktioniert, sollten Sie "BUTTON WORKS!" im Terminal. Beachten Sie, dass dieser Test wie das Minecraft-Modul das RPi verwendet. GPIO- und Zeitmodule. Diese ermöglichen es dem Pi, auf die Hardware-Pins zuzugreifen und nützliche Zeitsteuerungsfunktionen bereitzustellen.

Lassen Sie uns nun den Rest des Codes beenden. Erstellen Sie eine neue Datei mit dem Namen „super_mine.py“. Hier ist der Code:

RPi importieren. GPIO als GPIO. Importzeit. aus mcpi.minecraft importieren Minecraft mc = Minecraft.create () # Minecraft-Objekt erstellen GPIO.setmode (GPIO.BCM) # dem Pi mitteilen, welche Header verwendet werden sollen. GPIO.setup (14, GPIO.IN) # Sagen Sie dem Pi, dass dieser Pin ein Eingang ist, während True: Wenn GPIO.input (14) == True: # Suchen Sie nach der Taste x, y, z = mc.player.getPos ( ) # lies den Player Positioniere mc.setBlocks (x, y, z, x + 10, y + 10, z + 10, 0) # Mine 10 Blöcke mc.setBlocks (x, y, z, x - 10, y + 10, z - 10, 0) # meine 10 Blöcke time.sleep (0.5) # wait 0.5 Sekunden. 

mc.player.getPos () Gibt die aktuellen Koordinaten des Spielers zurück, die dann in x, y und z gespeichert werden. Das setBlocks () Die Methode weist Minecraft an, alle Blöcke zwischen Anfang und Ende mit dem folgenden Block zu füllen. Null ist die Block-ID für Luft. Sie können dies in eine andere Block-ID ändern, um einen Bereich fest auszufüllen. Sie können die Koordinaten auch in +100 oder sogar +1000 Blöcke ändern. Der Pi kann jedoch Probleme haben, wenn Sie zu verrückt werden. Beachten Sie, dass y + 10 für beide Zeilen gleich ist. Sie können dies auf y - 10 ändern, wenn Sie Blöcke unter der Erde entfernen möchten.

Teleportieren

Minecraft-Pi-Teleporting

Eine andere einfache Verwendung für diese Schaltfläche könnte das "Teleportieren" sein. Das Minecraft Pi Api bietet eine Möglichkeit, die Spielerposition festzulegen. Der folgende Code "teleportiert" den Player an einen voreingestellten Ort:

mc.player.setPos (0, 0, 0)

Beachten Sie, dass seine Methode drei Parameter akzeptiert. x, y und z - Sie können also alles einstellen, um den Spieler sofort an diesen Ort zu teleportieren.

Erstellen Sie eine Kopie der Datei super_mine (Datei> Kopie speichern unter) und ändern Sie es, indem Sie das if durch Folgendes ersetzen:

if GPIO.input (14) == True: # Suche nach einem Knopfdruck mc.player.setPos (0, 0, 0) # teleportiere den Spieler time.sleep (0.5) # warte 0,5 Sekunden. 

Diese Datei sollte nun folgendermaßen aussehen:

RPi importieren. GPIO als GPIO. von mcpi.minecraft importieren Minecraft. Importzeit mc = Minecraft.create () # Minecraft-Objekt erstellen GPIO.setmode (GPIO.BCM) # Teilen Sie dem Pi mit, welche Header verwendet werden sollen. GPIO.setup (14, GPIO.IN) # teilt dem Pi mit, dass dieser Pin ein Eingang ist, während True: wenn GPIO.input (14) == True: # Suche nach Tastendruck mc.player.setPos (0, 0, 0) # Spielerzeit teleportieren.Schlafen (0,5) # Warten 0,5 Sekunden. 

Speichern Sie es als “teleport.py" und Renn.

Möglicherweise bleibt der Player bei der Verwendung in einigen Blöcken stecken. In diesem Fall müssen Sie dies tun Passen Sie die Koordinaten an einen bekannten offenen Raum an (oben links auf dem Bildschirm wird Ihre aktuelle angezeigt Ort).

Ein Haus bauen

Minecraft-Pi-Haus

Eine letzte Aufgabe für diesen Knopf ist es, ein Haus zu bauen. Ähnlich wie im obigen Quick-Mining-Beispiel werden dadurch einfach die den Spieler umgebenden Blöcke ersetzt, um ein Haus zu bauen. Für verschiedene Materialien (Fenster, Wände usw.) werden unterschiedliche Block-IDs verwendet. Um das Codieren zu vereinfachen, wird ein fester Block erstellt und dann das Innere entfernt (Block auf Luft setzen). Dadurch wird eine hohle Hülle erstellt. Sie können Extras wie ein Bett oder eine Tür hinzufügen, das Minecraft Pi-Projekt ist jedoch etwas unvollständig. Diese Objekte funktionieren zwar, wenn sie vom Player platziert werden, sind jedoch bei Verwendung von Python nicht brillant.

von mcpi.minecraft importieren Minecraft. RPi importieren. GPIO als GPIO. Importzeit mc = Minecraft.create () # Minecraft-Objekt erstellen GPIO.setmode (GPIO.BCM) # Teilen Sie dem Pi mit, welche Header verwendet werden sollen. GPIO.setup (14, GPIO.IN) # teilt dem Pi mit, dass dieser Pin eine Eingabe ist, während True: wenn GPIO.input (14) == True: x, y, z = mc.player.getPos () mc.setBlocks ( x + 2, y - 1, z + 2, x + 7, y + 3, z + 8, 5) # mache Shell mc.setBlocks (x + 3, y, z + 3, x + 6, y + 2, z + 7, 0) # entferne innerhalb von mc.setBlocks (x + 2, y, z + 5, x + 2, y + 1, z + 5, 0) # Türöffnung mc.setBlocks (x + 4, y + 1, z + 8, x + 5, y + 1, z + 8, 102) # Fenster 1 machen mc.setBlocks (x + 4, y + 1, z + 2, x + 5, y + 1, z + 2, 102) # Fenster 2 machen mc.setBlocks (x + 7, y + 1, z + 4, x + 7, y + 1, z + 6, 102) # Fenster erstellen 3. 

Speichern Sie dies als “house.py" und Renn. Wenn alles in Ordnung ist, sollte ein kleines Haus erscheinen (möglicherweise müssen Sie sich umdrehen, um es zu finden). Es ist sehr einfach, eine Öffnung und einige Fenster. Theoretisch gibt es keine Begrenzung für die Größe oder Komplexität eines Gebäudes, das Sie errichten könnten.

Mach ein Minispiel

Minecraft-Pi-Lava-Spiel

Als nächstes machen wir ein Minispiel! Dies ist ganz einfach: Wenn der Spieler auf einen Sandblock tritt, verwandelt er sich nach einer zufälligen Zeit in Lava. Dies ist ein gutes Spiel, da Sie Ihre eigenen Levels entwerfen oder modifizieren können, um die Dinge schwieriger zu machen. Für dieses Beispiel benötigen Sie die Schaltfläche nicht.

Erstellen Sie eine neue Datei und speichern Sie sie als „mini_game.py“. Hier ist der Code:

von mcpi.minecraft importieren Minecraft. zufällig importieren. Importzeit mc = Minecraft.create () # Minecraft-Objekt erstellen, während True: x, y, z = mc.player.getPos () block_under_player = mc.getBlock (x, y - 1, z) if block_under_player == 12: # Spieler auf Sand stehend, Timer starten random_time = random.uniform (0.1, 2.5) # Zufallszahl time.sleep generieren (random_time); # warte mc.setBlock (x, y - 1, z, 11) # verwandle es in Lava. 

Dieser Code ist ein guter Starter auf dem zufällig() Funktion: random.uniform (0.1, 2.5) erzeugt eine Zufallszahl zwischen 0,1 (1/10 Sekunde) und 2,5 (2 1/2 Sekunden). Das Erhöhen dieser Zahlen erleichtert das Spiel.

Versuch es! Stellen Sie sich auf einen Sandblock, der sich in Kürze in Lava verwandelt. Dies könnte die Grundlage eines komplexeren Spiels sein.

Mach ein weiteres Minispiel

Minecraft-Pi-Mini-Spiel

Die Voraussetzung für dieses Spiel ist einfach: Stehen Sie nicht auf dem Holzboden, wenn die Zeit abgelaufen ist. Der Spieler wird in eine "Arena" teleportiert. Sie müssen stehen bleiben, bis das Spiel beginnt. Nach dem Start verwandelt sich der Boden in Wasser, sobald der Timer abgelaufen ist. Der Spieler muss in der sicheren Zone (Diamantblöcke) stehen, um zu überleben. Jede Stufe reduziert den Timer um eine Sekunde. Nach jedem erfolgreichen Level wird der sichere Bereich größer. Überprüfen Sie den folgenden Code:

Importzeit. zufällig importieren. aus mcpi.minecraft importieren Minecraft mc = Minecraft.create () # Minecraft-Objekt erstellen # Bereich löschen. mc.setBlocks (-10, 1, -10, 25, 5, 25, 0) # Arena-Shell erstellen. mc.setBlocks (0, 0, 0, 25, 10, 25, 17) # Arena aushöhlen. mc.setBlocks (1, 1, 1, 24, 10, 24, 0) # Spieler in die Arena bringen. mc.player.setPos (14, 25, 20) # teleportiere Spieler # lass sie bleiben. # teleportiere den Spieler alle 1/10 Sekunde zur Startposition. # Mach dies für 5 Sekunden und starte dann das Spiel. time.sleep (2) total_wait = 0. mc.postToChat ("Warten auf den Start") while total_wait <5: mc.player.setPos (14, 1, 20) # teleportiere Spieler time.sleep (0.1) total_wait + = 0.1 mc.postToChat ("BEGIN!") # 10 Levels. für Level in Bereich (10): x, y, z = mc.player.getPos () level_time = 10 - Level # Zeit für jedes Level um 1 Sekunde reduzieren mc.postToChat ("Level -" + str (Stufe + 1) + "Start") # Boden erstellen mc.setBlocks (0, 0, 0, 25, 0, 25, 17) # Sicherheitsbereich erstellen safe_area_start = random.uniform (0, 22) safe_area_end = random.uniform (0, 22) mc.setBlocks (safe_area_start, 0, safe_area_end, safe_area_start + level, 0, safe_area_end + level, 57) elapsed_time = 0 while elapsed_time <10: x, y, z = mc.player.getPos () time.sleep (0.25) elapsed_time + = 0.25 # Überprüfen Sie, ob der Spieler noch auf dem Boden liegt, wenn y <0.75: mc.postToChat ("Spiel Über ") Pause; sonst: # Boden entfernen mc.setBlocks (-10, 0, -10, 25, 0, 25, 8) # sicheren Bereich zurücksetzen mc.setBlocks (safe_area_start, 0, safe_area_end, safe_area_start + level, 0, safe_area_end + level, 57) time.sleep (2.5) Pause fortsetzen.

Speichern Sie dies als “mini_game_2.pyUnd probieren Sie es aus.

Der Pi 2 hat einige Leistungsprobleme beim Ausführen von Minecraft. Das Nutzungsdiagramm der Central Processing Unit (CPU) (obere rechte Ecke) zeigt niemals eine hohe Last, daher muss dies auf schlechtes Design und Optimierungen durch die Entwickler zurückzuführen sein. Diese Probleme haben nichts mit dem Ausführen von Code zu tun (da sie fortgesetzt werden, wenn Python nicht ausgeführt wird), werden jedoch durch dieses Minispiel noch verstärkt. Wenn Ihr Pi wirklich Probleme hat, können Sie die Größe der Arena reduzieren oder Übertakten Sie Ihren Pi Nicht genug Saft? Drücken Sie Ihren Himbeer-Pi durch ÜbertaktenWenn es 2012 Hardware gibt, in die Sie sich wahrscheinlich verlieben werden, dann ist es der zuckersüße Raspberry Pi, ein in Großbritannien entwickelter und gebauter Minicomputer, der in der ganzen ... Weiterlesen .

Diamantdetektor

Minecraft-Pi-Diamanten

Machen wir eine andere Schaltung. Hierbei wird eine Leuchtdiode (LED) verwendet, um zu leuchten, wenn sich darunter Diamanten befinden (innerhalb von 15 Blöcken). Folgendes benötigen Sie:

  • 1 x Steckbrett
  • 1 x LED
  • 1 x 220 Ohm Widerstand
  • Weibliche> männliche Sprungkabel
  • Stecker> Steckerkabel

Hier ist die Schaltung:

Pi-LED-Verbindung

Verbinden Sie die Anode (langes Bein) mit GPIO Pin 14. Dieser Pin wirkt wie + 5V. Verbinden Sie die Kathode (kurzes Bein) mit Masse.

Ich habe ein billiges Erzspielzeug verwendet und es durch Entfernen der hinteren Abdeckung und der Elektronik modifiziert. Dann habe ich eine LED darunter platziert. Sie könnten dies leicht mit Heißkleber oder ähnlichem dauerhaft machen.

Minecraft-Erz-Spielzeug

Speichern Sie diesen Code als “diamants.py“:

RPi importieren. GPIO als GPIO. Importzeit. aus mcpi.minecraft importieren Minecraft mc = Minecraft.create () # Minecraft-Objekt erstellen led_pin = 14 # GPIO-Pin-Nummer speichern GPIO.setmode (GPIO.BCM) # dem Pi mitteilen, welche Header verwendet werden sollen. GPIO.setup (14, GPIO.OUT) # Sagen Sie dem Pi, dass dieser Pin eine Ausgabe ist, während True: # Wiederholen Sie auf unbestimmte Zeit x, y, z = mc.player.getPos () für i im Bereich (15): # Schauen Sie sich alle an blockieren bis Block 15, wenn mc.getBlock (x, y - i, z) == 56: GPIO.output (led_pin, True) # LED einschalten time.sleep (0.25) # warte GPIO.output (led_pin, False) # LED drehen aus time.sleep (0.25) # warten. 

Wenn sich unter dem Spieler ein Diamanterzblock befindet (innerhalb von 15 Blöcken), blinkt das Licht.

Hast du mit Minecraft Pi etwas cooles gemacht? Lassen Sie mich in den Kommentaren wissen, was Sie gemacht haben oder wie weit Sie es in den Spielen geschafft haben.

Joe hat einen Abschluss in Informatik von der University of Lincoln, UK. Er ist ein professioneller Softwareentwickler, und wenn er keine Drohnen fliegt oder Musik schreibt, macht er oft Fotos oder produziert Videos.