Hauke Fehr programmiert seit 30 Jahren in verschiedenen Sprachen. Mit wachsender Begeisterung entwickelt er mit LiveCode kommerzielle Apps im Auftrag seiner Kunden und als eigene Produkte. Die Anwendungsgebiete reichen vom Sprachenlernen bis zur Auftragsverwaltung für KMUs. Als Linguist und Hochschuldozent hat er ein besonderes Gespür fürs Lernen und Lehren. Seine Programmierkenntnisse und Ideen gibt er gern an Kunden, Kursteilnehmer und natürlich seine Leser weiter.
Liebe Leserin, lieber Leser, ... 2
Materialien zum Buch ... 13
1. Programme schreiben -- wie geht das? ... 15
2. Wie funktionieren Computer überhaupt? ... 19
Innenleben eines PCs ... 19
Eingabe, Verarbeitung, Ausgabe ... 20
Bits und Bytes ... 22
Prozessortakt -- wie schnell läuft mein PC? ... 24
3. Python -- die Programmiersprache ... 25
Maschinensprache -- die Muttersprache des Prozessors ... 25
Interpreter und Compiler ... 26
Python -- einfach und universell ... 27
Jython -- was ist das? ... 28
TigerJython -- deine Lernumgebung ... 29
4. TigerJython installieren -- einfacher geht's nicht ... 31
Installation unter Windows ... 31
Installation auf dem Mac ... 33
Installation unter Linux ... 35
5. Die ersten Schritte -- Python im Dialog ... 37
Direkte Befehle -- die Konsole ... 38
Ausgabe mit Zahlen ... 38
Die Syntax muss stimmen ... 43
Zeichenketten statt Zahlen ... 44
6. Variablen -- jetzt wird es flexibel ... 47
Variablennamen ... 49
Der 'input'-Befehl -- Eingaben zum Verarbeiten ... 51
7. Programme schreiben -- es geht los! ... 55
Ein Programm in TigerJython eingeben ... 55
Das allererste Programm: Ein Zahlenzaubertrick ... 56
Zweites Programm: Ein Umrechner ... 58
Programme speichern ... 60
Eingabe, Verarbeitung, Ausgabe -- diesmal mit Text ... 61
Rechner mit Rest ... 62
Das magische Quadrat ... 64
Variation: Magisches Quadrat mit fester Summe ... 67
8. Bedingungen -- was passiert, wenn ...? ... 71
'if'-Abfragen in Python ... 72
'if' mit 'else' ... 75
Mehrere Bedingungen verknüpfen ... 77
'elif' -- 'else if' ... 78
'if' -- 'else' im Überblick ... 80
Wahr und falsch beim Verknüpfen ... 82
Programm: Eintrittsprüfung ... 83
9. Befehle und Module ... 85
Was sind Module? ... 85
Das Modul 'math' ... 86
Das Modul 'random' ... 90
Roulette ... 91
Programm: Entscheidungshilfe ... 92
10. Schleifen -- Wiederholungen machen Programme stark ... 95
Die Zählschleife mit 'repeat' ... 96
Würfeln ohne Ende ... 98
Schleifen verschachteln ... 102
Die 'while'-Schleife ... 103
Würfelpoker ... 105
Klassisches Zahlenraten ... 107
Das kleine Einmaleins ... 111
Mehr Möglichkeiten für 'while'-Schleifen ... 116
Primzahlentester ... 118
Das Probeverfahren ... 118
Das Schachrätsel ... 123
Zins und Zinseszins ... 125
11. Listig -- mit Listen arbeiten ... 127
Zeichenketten sind Listen ... 127
Listen in Python ... 130
Wochentag nachschlagen ... 132
Listen per Programm erzeugen ... 133
Die 'for'-Schleife mit einer Liste ... 134
Mehr Befehle, Methoden und Funktionen für Listen ... 137
Ein Lottozahlen-Tipp ... 140
Das Lottospiel: Selbst tippen und gewinnen ... 144
Mehrdimensionale Listen ... 148
Zusammenfassung: Listen ... 151
12. Die Schildkröte -- ein grafischer Roboter ... 153
Die Schildkröte steuern ... 154
Weitere Turtle-Befehle ... 161
Grafik mit Koordinaten ... 165
Funktionsgraphen programmieren ... 167
Zufallsbilder erstellen ... 169
Variationen: Zufallsmuster ... 171
Eingebaute Funktionen nutzen ... 173
13. Funktionen selber schreiben ... 175
Was sind Funktionen noch mal genau? ... 175
Eigene Funktionen schreiben ... 176
Eigene Funktion 'zahlwort' ... 180
Ein eigenes Modul erstellen ... 184
Zeichnen mit Funktionen ... 186
Rekursive Funktionen ... 188
14. Sound programmieren ... 193
Sound in Python abspielen ... 193
Was sind denn eigentlich Klangdateien? ... 193
WAV-Dateien abspielen ... 195
MP3-Dateien abspielen ... 196
Eigene Musik machen ... 196
Sprachsynthese -- lass den Computer sprechen! ... 198
15. Objekte programmieren ... 201
Was sind Objekte? ... 202
Objekte in Python ... 202
Klassen und Instanzen ... 205
Objekte für alles ... 210
16. Eigene Objekte definieren ... 213
Die Funktion '__init__' ... 214
Eigene Methoden definieren ... 217
Die Funktion '__str__' ... 218
Ableitung und Vererbung -- ein Supertoaster ... 221
17. gamegrid -- Spiele bauen mit Objekten ... 225
Ein Spielfeld erzeugen ... 226
Actor -- jetzt kommen die Figuren ins Spiel ... 230
Der Fisch soll leben ... 232
Spielfiguren mit Eigenleben ... 234
Das Spielfeld kontrolliert den Takt ... 237
Die Steuerungsleiste in gamegrid ... 242
18. Steuerung und Ereignisse in gamegrid ... 245
Erweiterung der Spielidee ... 249
Kollision -- Interaktion zwischen Spielfiguren ... 251
Klang hinzufügen ... 256
Ein Spiel braucht Gegner ... 257
19. Breakball -- ein neues Spiel ... 265
Das Spielprinzip ... 265
Elemente des Programms ... 266
Erster Schritt: Spielfeld und Ball ... 266
Zweiter Schritt: Das Brett ... 271
Dritter Schritt: Die Blöcke ... 275
Die Spielsteuerung ... 280
20. Space Attack -- ein Klassiker ... 287
Das Spielprinzip ... 287
Technik: Was brauchen wir? ... 287
Das Spielfeld ... 288
Das Raumschiff ... 288
Jetzt wird geschossen ... 290
Die Aliens ... 294
Erweiterungen ... 304
Weiterer Ausbau: Deine Aufgabe ... 307
21. Flappy Ball -- geschicktes Hüpfen ... 309
Die Spielidee ... 309
Benötigte Elemente ... 309
Das Spielfeld ... 310
Der Ball ... 310
Die Ballsteuerung mit der Maus ... 312
Die Balken als Spielgegner ... 315
Das Spiel erweitern und verbessern ... 321
Weitere Ideen ... 323
22. Tic Tac Toe -- Brettspiele mit gamegrid ... 325
Das Spielprinzip ... 325
Welche Elemente werden benötigt? ... 326
Das Spielfeld ... 326
Auf die Maus reagieren ... 328
Die Spielverwaltung ... 331
Ein Objekt für die Spieldaten ... 332
Erweiterungen von Tic Tac Toe ... 340
Der Computer als Gegner ... 340
Am einfachsten: Die Zufallsmethode ... 341
Cleverer: Die doppelte Prüfmethode ... 345
Echte KI: Die Minimax-Methode ... 349
23. Wie geht es weiter? ... 351
Mit TigerJython weitermachen ... 352
Andere Python-Systeme ... 354
Andere Programmiersprachen? ... 355
Index ... 357
Python macht Spaß! Steige einfach in die Programmierung ein: Mit eigenen kleinen Programmen und Spielen, selbst gebauten Kreaturen, Grafik und mehreren Leveln. Mit der Entwicklungsumgebung TigerJython ist es besonders einfach, zügig loszulegen. Sie bietet viele Hilfen eigens für Anfänger und für den Fall, dass du mal einen Fehler finden musst. Ohne Vorkenntnisse lernst du Python in überschaubaren Projekten kennen. Neue Sprachelemente werden ausführlich vorgestellt, mit farbigen Hervorhebungen und Erklärungen direkt am Code.
Aus dem Inhalt: