Let’s Play. Programmieren lernen mit Python und Minecraft · PDF filePython Ob bewusst...

Click here to load reader

  • date post

    22-Oct-2019
  • Category

    Documents

  • view

    4
  • download

    0

Embed Size (px)

Transcript of Let’s Play. Programmieren lernen mit Python und Minecraft · PDF filePython Ob bewusst...

  • 5

    Inhalt

    Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    Kapitel 1 Minecraft-Server 15 1.1 Java installieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    1.2.1 CraftBukkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.2.2 Spigot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    1.3 Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.4 Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.5 Verbinden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 1.6 Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    Kapitel 2 Python 35 2.1 Programmiersprachen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.2 Besonderheiten von Python . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.3 Einrichtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    2.3.1 Jython . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.3.2 PPLoader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    2.4 Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    Kapitel 3 Das erste Plugin 45 3.1 Ordner anlegen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.2 plugin.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.3 plugin.yml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.4 Testen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.5 Fehler finden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.6 Entdecken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    © des Titels »Let’s Play. Programmieren lernen mit Python und Minecraft« (ISBN 9783958457959) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/795

  • 6

    Inhalt

    Kapitel 4 Chat-Kommandos 51 4.1 Eigene Befehle definieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.2 Chat-Nachrichten versenden . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    Kapitel 5 Variablen 57 5.1 Namen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.2 Werte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    5.2.1 Operatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.2.2 Umwandlung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.2.3 Runden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

    5.3 +1-Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.4 Listen und Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.5 Konstanten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

    Kapitel 6 Schleifen 73 6.1 Kürbis-Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

    6.1.1 Positionierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 6.1.2 Blöcke platzieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

    6.2 Die verschiedenen Schleifen . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.2.1 for-Schleife . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.2.2 while-Schleife . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 6.2.3 Verschachtelte Schleifen . . . . . . . . . . . . . . . . . . . . . . . 89

    Kapitel 7 Verzweigungen 93 7.1 if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 7.2 else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 7.3 elif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

    Kapitel 8 Funktionen 103 8.1 Deklaration von Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 8.2 Rückgabewerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 8.3 Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 8.4 Anwendungsbeispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

    © des Titels »Let’s Play. Programmieren lernen mit Python und Minecraft« (ISBN 9783958457959) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/795

  • 7

    Inhalt

    Kapitel 9 Bauen 109 9.1 Notunterkunft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

    9.1.1 Decke und Wände . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 9.1.2 Tür . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 9.1.3 Bett . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 9.1.4 Fackel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

    9.2 Runde Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 9.2.1 Kreise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 9.2.2 Kugeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

    Kapitel 10 Schilder 133 10.1 Hängende Schilder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 10.2 Stehende Schilder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 10.3 Text festlegen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

    10.3.1 Farbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 10.3.2 Formatierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

    10.4 Schilder-Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 10.4.1 Wiederholung: Listen . . . . . . . . . . . . . . . . . . . . . . . . . . 141 10.4.2 Das Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

    Kapitel 11 Listener 157 11.1 Grundgerüst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 11.2 Spieler-Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 11.3 Kreaturen-Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 11.4 Block-Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 11.5 Inventar-Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 11.6 Server-Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 11.7 Fahrzeug-Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 11.8 Wetter-Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 11.9 Welt-Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

    11.10 Mehrere Listener in einem Plugin . . . . . . . . . . . . . . . . . . . . . . 176

    Kapitel 12 Klassen und Objekte 179 12.1 Die ganze Welt ist ein Objekt . . . . . . . . . . . . . . . . . . . . . . . . . . 179 12.2 Funktionen in Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

    © des Titels »Let’s Play. Programmieren lernen mit Python und Minecraft« (ISBN 9783958457959) 2017 by mitp Verlags GmbH & Co. KG, Frechen. Nähere Informationen unter: http://www.mitp.de/795

  • 8

    Inhalt

    12.3 Zugriffskontrolle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 12.4 Vererbung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 12.5 Mehrfachvererbung und mehrstufige Vererbung . . . . . . . . . . 196 12.6 Bau-Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

    Kapitel 13 Crafting-Rezepte 203 13.1 Rezepte festlegen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 13.2 Eigene Rezepte entwerfen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 13.3 Feuerschwert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 13.4 Enderbogen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

    Kapitel 14 Informationen dauerhaft speichern 213 14.1 Konfigurationsdateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

    14.1.1 Lesen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 14.1.2 Schreiben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

    14.2 Objekte in Dateien speichern . . . . . . . . . . . . . . . . . . . . . . . . . . 218

    Kapitel 15 Eigene Spielmodi entwickeln 229 15.1 Schneeballschlacht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

    15.1.1 Schneebälle verteilen . . . . . . . . . . . . . . . . . . . . . . . . . . 230 15.1.2 Schneebälle auffüllen . . . . . . . . . . . . . . . . . . . . . . . . . . 233 15.