Let's Play. Programmieren lernen mit Python und Minecraft (eBook)
304 Seiten
MITP Verlags GmbH & Co. KG
978-3-7475-0672-1 (ISBN)
- Erschaffe deine eigene Welt: mächtige neue Waffen erstellen wie z.B. ein Feuerschwert, auf Knopfdruck Türme und ganze Häuser bauen, automatisch auf Veränderungen in der Welt reagieren
- Neue Crafting-Rezepte und eigene Spielmodi entwickeln wie z.B. eine Schneeballschlacht mit Highscore-Liste
- Mit umfangreicher Referenz zu allen Programmierbefehlen
Du spielst schon lange Minecraft und denkst, du hast schon alles gesehen? Kennst du schon das Feuerschwert, den Enderbogen oder den Spielmodus »Schneeballschlacht«? Du willst auf Knopfdruck Türme, Mauern oder sogar ganze Häuser bauen? Vollautomatisch auf Geschehnisse in der Spielwelt reagieren? Mit eigenen Plugins kannst du all das und noch viel mehr entdecken und ganz nebenbei auch noch programmieren lernen.
Python ist für Programmiereinsteiger besonders leicht zu lernen. Daniel Braun zeigt dir, wie du mit Python und Bukkit oder Spigot Erweiterungen für Minecraft programmierst, sogenannte Plugins, die du dann zusammen mit deinen Freunden auf deinem eigenen Minecraft-Server ausprobieren kannst. Dafür sind keine Vorkenntnisse erforderlich, du lernst alles von Anfang an.
Nach dem Programmieren einfacher Chat-Befehle wirst du coole Plugins zum Bauen erstellen, so dass mit einem einzigen Befehl sofort z.B. ein fertiges Haus oder eine Kugel vor dir steht.
Außerdem erfährst du, wie deine Plugins automatisch auf Geschehnisse in der Spielwelt reagieren können.
Du kannst auch eigene Crafting-Rezepte entwerfen, um z.B. mächtige neue Waffen zu kreieren wie das Feuerschwert, das alles in Brand setzt, worauf es trifft.
Am Ende lernst du sogar, wie du eigene Spielmodi entwickeln kannst, also ein Spiel im Spiel. Ob eine Schneeballschlacht mit Highscore-Liste oder ein Wettsammeln mit Belohnung für den Sieger, hier ist jede Menge Spaß garantiert.
Für das alles brauchst du keine Vorkenntnisse, nur Spaß am Programmieren. Es beginnt mit ganz einfachen Beispielen, aber mit jedem Kapitel lernst du mehr Möglichkeiten kennen, um Minecraft nach deinen Wünschen anzupassen. Am Ende kannst du richtig in Python programmieren und deiner Kreativität sind keine Grenzen mehr gesetzt, um deine eigene Minecraft-Welt zu erschaffen.
Geeignet für Windows, Linux und macOS
Aus dem Inhalt:
- Bukkit und Spigot installieren und einrichten
- Eigene Befehle definieren und Chat-Nachrichten versenden
- Python-Grundlagen: Variablen, Schleifen, Verzweigungen, Funktionen, Klassen und Objekte
- Häuser, Kreise und Kugeln bauen
- Schilder errichten und beliebig beschriften
- Plugins programmieren, die auf Veränderungen in der Welt reagieren
- Eigene Crafting-Rezepte erstellen
- Informationen dauerhaft speichern
- Eigene Spielmodi entwickeln wie z.B. eine Schneeballschlacht oder ein Sammelspiel
- Umfangreiche Referenz zu allen Programmierbefehlen
Daniel Braun ist seit den ersten Tagen Minecraft-Anhänger und kennt alle Facetten des Spiels. Er hat bereits mehrere Bücher zu Minecraft geschrieben.
Kapitel 2:
Python
Ob bewusst oder unbewusst, eine der wichtigsten Entscheidungen, die man auf dem Weg zum Programmierer zu treffen hat, hast du bereits getroffen: welche Programmiersprache du lernen möchtest. Mit diesem Buch hast du dich nämlich für die Programmiersprache Python entschieden. Bevor wir aber einen Blick auf die Besonderheiten von Python werfen, soll es zunächst um die Frage gehen, was Programmiersprachen eigentlich sind und warum sie benötigt werden.
2.1 Programmiersprachen
Beim Programmieren geht es im Wesentlichen darum, dass der Programmierer dem Computer eine bestimmte Aufgabe gibt, die dieser erledigen soll. Damit er das kann, braucht der Computer eine genaue Handlungsvorschrift, die auch Algorithmus genannt wird. Auch im Alltag begegnen uns oft Handlungsvorschriften, zum Beispiel in Form eines Rezepts:
-
250 Gramm Mehl in eine Schüssel geben
-
500 Milliliter Milch dazugeben
-
2 Eier hinzugeben
-
Mit einer Prise Salz würzen
-
Umrühren
Fertig ist der Crêpes-Teig! Damit eine Handlungsvorschrift korrekt ausgeführt werden kann, müssen sich beide Seiten auf eine gemeinsame Sprache einigen. Wenn dir jemand ein chinesisches Rezept gibt, kannst du vermutlich nicht viel damit anfangen.
Computer »sprechen« in Einsen und Nullen, also in einer Sprache, mit der Menschen nicht besonders gut umgehen können. Unsere Sprache wiederum, egal ob es sich um Deutsch, Englisch oder Chinesisch handelt, ist für den Computer viel zu ungenau. Nehmen wir zum Beispiel den Satz »Da vorne ist eine Bank.« Obwohl es sich dabei um einen vollkommen korrekten deutschen Satz handelt, ist doch nicht eindeutig klar, was mit dem Satz eigentlich gemeint ist. Steht da vorne eine Parkbank, auf die man sich setzen kann, oder ist dort die Filiale einer Bank, auf der man Geld einzahlen und abheben kann? Es wäre ein recht kostspieliger Fehler, wenn dein Computer beim Online-Shoppen aus Versehen die Deutsche Bank statt einer Bank für den Garten kauft.
Algorithmen müssen deshalb nicht nur Handlungsvorschriften sein, sondern eindeutige Handlungsvorschriften. Auch mit Begriffen wie »eine Prise« kann ein Computer wenig anfangen, weil sie einfach zu ungenau sind. Aus diesem Grund nutzen wir Programmiersprachen, denn sie ermöglichen es uns, eindeutige Handlungsvorschriften festzulegen. Und obwohl sie auf den ersten Blick recht kompliziert scheinen, können wir sie doch leichter lernen als eine Sprache aus Nullen und Einsen.
Viele Programmiersprachen, wie zum Beispiel C, verwenden sogenannte Compiler, die die Programmiersprache in Maschinensprache übersetzen. Andere, wie auch Python, verwenden einen sogenannten Interpreter. Wir werden in diesem Buch einen besonderen Interpreter mit dem Namen Jython verwenden. Ein Vorteil des Interpreters ist, dass er den Programmcode bei jedem Ausführen neu »interpretiert«, also für den Computer übersetzt, Deshalb werden Änderungen am Programmcode bei einem Interpreter sofort wirksam, während man bei einer Compilersprache den Quellcode zuerst neu kompilieren muss, bevor die Änderungen auch im Programm ankommen. Außerdem sind Interpretersprachen unabhängiger vom Betriebssystem, deine fertigen Plugins kannst du daher später auch problemlos an Freunde weitergeben, egal ob sie Windows, GNU/Linux oder OS X nutzen.
Merke
-
Ein Algorithmus ist eine eindeutige Handlungsvorschrift.
-
Ein Interpreter übersetzt Programmiersprache bei Ausführung in Maschinensprache.
2.2 Besonderheiten von Python
Python wurde Anfang der 1990er-Jahre vom niederländischen Informatiker Guido van Rossum entwickelt. Die Programmiersprache ist heute weit verbreitet und dafür bekannt, dass sie besonders leicht zu erlernen ist, genau die richtige Sprache also für den Einstieg in die Programmierung.
Python gilt aber auch als besonders übersichtlich und minimalistisch. Gut sichtbar wird das am sogenannten »Hallo Welt!«-Programm. Programmierer nutzen »Hallo Welt!«-Programme gerne, um auf besonders einfache Weise den Aufbau einer Programmiersprache zu verdeutlichen, denn dieses kleine Programm tut nichts anderes, als den Text »Hallo Welt!« auf dem Bildschirm auszugeben.
In Listing 2.1 kannst du den Code des »Hallo Welt!«-Programms in Java sehen, also der Programmiersprache, in der auch Minecraft geschrieben wurde. Das sieht schon ziemlich kompliziert aus, es gibt viele Wörter und auffällig viele sogenannte geschweifte Klammern, also { und }. Insgesamt hat das Programm eine Länge von fünf Zeilen.
1 class Hallo { 2 public static void main(String[] args) { 3 System.out.print("Hallo Welt!"); 4 } 5 }Listing 2.1: »Hallo Welt!« in Java
Zeilen und Zeilennummern, das wirst du später noch sehen, sind für Programmierer wichtige Informationen, denn wenn sie auf eine bestimmte Stelle in einem Programm hinweisen wollen, so tun sie das meist mithilfe der Zeilennummer. Oft sagt die Länge eines Programmes auch etwas über die Komplexität aus, zumindest aber über den Aufwand, deshalb sind Programmierer oft bemüht, Programme möglichst kurz zu halten.
In Listing 2.2 kannst du den Code des »Hallo Welt!«-Programms in der Programmiersprache C sehen. Obwohl das Programm wegen anderer Formatierung, sogar eine Zeile länger ist sieht man doch sofort, dass es schon deutlich übersichtlicher ist als sein Java-Pendant, selbst wenn man nicht weiß, wofür die Befehle eigentlichen stehen.
1 #include <stdio.h> 2 3 int main(void) 4 { 5 puts("Hallo Welt!"); 6 }Listing 2.2: »Hallo Welt!« in C
Formatierung, also zum Beispiel das Einrücken von Zeilen, oder das Beginnen einer neuen Zeile, ist beim Programmieren extrem wichtig, das gilt für Python noch viel mehr als für jede andere Programmiersprache. Denn wie wir später noch sehen werden, macht die Einrückung einer Zeile in Python nicht nur einen optischen Unterschied, sondern kann auch die Funktionalität eines Programmes verändern.
Die Python-Version des »Hallo Welt!«-Programms siehst du in Listing 2.3. Mit gerade einmal einer Zeile ist es ohne Zweifel die kürzeste der drei Versionen. Auffallend ist auch die Abwesenheit von Sonderzeichen wie dem Semikolon und den geschweiften Klammern, die es in den beiden anderen Programmiersprachen gibt.
print("Hallo Welt!")Listing 2.3: »Hallo Welt!« in Python
Wie du also sehen kannst, wird dir Python das Leben als Programmierer nicht unnötig schwer machen, ganz im Gegenteil, es wird dir einen einfacheren Einstieg ermöglichen als die meisten anderen Programmiersprachen. Und obwohl die Arbeit mit Python vergleichsweise einfach ist, wirst du trotzdem im Verlaufe des Buches alle wichtigen Programmiertechniken kennenlernen, wie sie auch die anderen Programmiersprachen bieten. Da sich diese oft kaum zwischen den verschiedenen Sprachen unterscheiden, wird es dir, wenn du erst einmal Python gelernt hast, später nicht schwer fallen, noch weitere Programmiersprachen zu lernen, falls du das möchtest.
2.3 Einrichtung
Wie bereits erwähnt, ist Minecraft selbst in Java programmiert. Daher benötigst du, bevor du Python-Plugins auf deinem Server ausführen kannst, einen Interpreter, der deinen Python-Code in Java übersetzt, und ein Plugin, das diesen Interpreter an deinen Server koppelt. Beides findest du auf der Website zum Buch, unter buch.daniel-braun.com zum Download.
2.3.1 Jython
Zunächst solltest du von dort den Interpreter herunterladen, dieser trägt den Namen Jython, ein Kofferwort aus Java und Python. Jython besteht lediglich aus einer einzelnen Datei, diese trägt den Namen jython.jar
. Wenn du die Datei heruntergeladen hast, musst du nur noch einen neuen Ordner mit dem Namen lib
in deinem Serververzeichnis erzeugen und die Datei dorthin kopieren. Sollte die Datei nach dem Download noch nicht den Namen jython.jar
tragen, zum Beispiel, weil die Versionsnummer im Dateinamen enthalten ist, so muss sie zunächst umbenannt werden. Nur wenn die Datei den richtigen Namen trägt, kann sie vom Server gefunden werden. Damit ist die Einrichtung des Interpreters bereits abgeschlossen.
2.3.2 PPLoader
Nun fehlt nur noch das Plugin, das den Interpreter mit deinem Server, egal ob Bukkit oder Spigot, verbindet. Das benötigte Plugin trägt den Namen PPLoader, was für Python Plugin Loader steht. Auch das Plugin besteht lediglich aus einer einzigen Datei, sie trägt den Namen pploader1.2.0.jar
oder einen entsprechenden Namen mit einer neueren Versionsnummer. Sie muss nach dem Download in den im Server-Ordner bereits vorhandenen Ordner plugins
kopiert werden.
Merke
Bevor du weiterliest, solltest du noch einmal überprüfen, ob du alle nötigen Schritte ausgeführt hast, um deinen Server auf die Verwendung von Python-Plugins vorzubereiten:
-
Jython herunterladen von buch.daniel-braun.com
-
Im Server-Ordner ein neues Verzeichnis
lib
anlegen...
Erscheint lt. Verlag | 24.3.2023 |
---|---|
Sprache | deutsch |
Themenwelt | Mathematik / Informatik ► Informatik |
ISBN-10 | 3-7475-0672-0 / 3747506720 |
ISBN-13 | 978-3-7475-0672-1 / 9783747506721 |
Haben Sie eine Frage zum Produkt? |
Größe: 15,9 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belletristik und Sachbüchern. Der Fließtext wird dynamisch an die Display- und Schriftgröße angepasst. Auch für mobile Lesegeräte ist EPUB daher gut geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich