
Eigene Spiele programmieren - Python lernen
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions


Persons
Content
- Cover
- Titel
- Impressum
- Inhalt
- Widmung
- Der Autor
- Die Fachgutachterin der amerikanischen Ausgabe
- Danksagung
- Einleitung
- Zielgruppe
- Der Aufbau dieses Buches
- Die Codebeispiele
- Zeilennummern und Einrückungen
- Lange Codezeilen
- Python herunterladen und installieren
- IDLE starten
- Online Hilfe finden
- 1 Die interaktive Shell
- Einfaches Rechnen
- Integer und Fließkommazahlen
- Ausdrücke
- Ausdrücke auswerten
- Syntaxfehler
- Werte in Variablen speichern
- Zusammenfassung
- 2 Programme schreiben
- Stringwerte
- Stringverkettung
- Programme im Dateieditor von IDLE schreiben
- Das Hello-World-Programm schreiben
- Das Programm speichern
- Das Programm ausführen
- So funktioniert das Hello-World-Programm
- Kommentare
- Funktionen: Miniprogramme innerhalb von Programmen
- Das Ende des Programms
- Variablennamen
- Zusammenfassung
- 3 Zahlen raten
- Ein Beispieldurchlauf des Zahlenratespiels
- Der Quellcode für das Zahlenratespiel
- Das Modul random importieren
- Zufallszahlen mit der Funktion random.randint() erzeugen
- Den Spieler begrüßen
- Flusssteuerungsanweisungen
- Code in Schleifen wiederholen
- Blöcke
- for-Schleifen
- Die Vermutung des Spielers abrufen
- Werte mit den Funktionen int(), float() und str() umwandeln
- Boolesche Werte
- Vergleichsoperatoren
- Bedingungen
- Experimente mit booleschen Werten, Vergleichsoperatoren und Bedingungen
- Der Unterschied zwischen = und ==
- if-Anweisungen
- Schleifen mit break vorzeitig abbrechen
- Wenn der Spieler gewonnen hat
- Wenn der Spieler verloren hat
- Zusammenfassung
- 4 Ein Kalauerprogramm
- Ein Beispieldurchlauf von Jokes
- De Quellcode für Jokes
- Funktionsweise des Codes
- Maskierungszeichen
- Einfache und doppelte Anführungszeichen
- Der Schlüsselwortparameter end der Funktion print()
- Zusammenfassung
- 5 Im Reich der Drachen
- Spielverlauf von Dragon Realm
- Ein Beispieldurchlauf von Dragon Realm
- Das Flussdiagramm für Dragon Realm
- Quellcode von Dragon Realm
- Die Module random und time importieren
- Funktionen
- def-Anweisungen
- Funktionen aufrufen
- Wohin mit Funktionsdefinitionen?
- Mehrzeilige Strings
- while-Schleifen
- Boolesche Operatoren
- Der Operator and
- Der Operator or
- Der Operator not
- Ausdrücke mit booleschen Operatoren auswerten
- Rückgabewerte
- Globaler und lokaler Gültigkeitsbereich
- Funktionsparameter
- Das Ergebnis anzeigen
- Die Höhle mit dem freundlichen Drachen bestimmen
- Die Hauptschleife des Spiels
- Die Funktionen aufrufen
- Neue Runde
- Zusammenfassung
- 6 Der Debugger
- Fehlerarten
- Der Debugger
- Den Debugger starten
- Das Programm im Debugger schrittweise durchlaufen
- Fehler finden
- Haltepunkte setzen
- Haltepunkte verwenden
- Zusammenfassung
- 7 Galgenmännchen: Entwurf mit einem Flussdiagramm
- Die Regeln für Galgenmännchen
- Ein Beispieldurchlauf von Galgenmännchen
- ASCII-Grafik
- Programme mit Flussdiagrammen entwerfen
- Das Flussdiagramm zeichnen
- Verzweigungen in Flussdiagrammen
- Das Spiel beenden oder neu starten
- Erneut raten
- Rückmeldung an den Spieler
- Zusammenfassung
- 8 Galgenmännchen: Der Code
- Der Quellcode von Galgenmännchen
- Das Modul random importieren
- Konstanten
- Der Datentyp für Listen
- Zugriff auf Listenelemente über den Index
- Listenverkettung
- Der Operator in
- Methoden
- Die Listenmethoden reverse() und append()
- Die Methode split()
- Ein Wort aus der Liste auswählen
- Die Grafik anzeigen
- Die Funktionen list() und range()
- Listen- und Stringslices
- Das zu erratende Wort mit Leerstellen anzeigen
- Die Rateversuche des Spielers abrufen
- Die Stringmethoden lower() und upper()
- Die while-Schleife verlassen
- elif-Anweisungen
- Die Eingabe eines gültigen Werts sicherstellen
- Dem Spieler eine weitere Runde anbieten
- Die Funktionen im Galgenmännchen-Programm
- Die Hauptschleife des Spiels
- Die Funktion displayBoard() aufrufen
- Den Spieler raten lassen
- Gehört der Buchstabe zu dem Wort?
- Hat der Spieler gewonnen?
- Fehlversuche handhaben
- Hat der Spieler verloren?
- Das Spiel beenden oder zurücksetzen
- Zusammenfassung
- 9 Galgenmännchen: Erweiterungen
- Mehr Rateversuche hinzufügen
- Dictionarys
- Die Größe eines Dictionarys mit len() bestimmen
- Der Unterschied zwischen Dictionarys und Listen
- Die Dictionary-Methoden keys() und values()
- Dictionarys in Galgenmännchen
- Zufällige Auswahl aus einer Liste
- Elemente aus Listen entfernen
- Mehrfachzuweisung
- Die Wortkategorie ausgeben
- Zusammenfassung
- 10 Tic-Tac-Toe
- Ein Beispieldurchlauf von Tic-Tac-Toe
- Der Quellcode von Tic-Tac-Toe
- Das Programm entwerfen
- Das Spielbrett in Form von Daten darstellen
- Die Strategie der Spiel-KI
- Das Modul random importieren
- Das Spielbrett anzeigen
- Den Spieler zwischen X und O wählen lassen
- Den ersten Zug auswürfeln
- Eine Markierung auf dem Spielbrett vornehmen
- Listenverweise
- Listenverweise in makeMove()
- Hat der Spieler gewonnen?
- Die Spielbrettdaten duplizieren
- Ist ein Feld belegt?
- Einen Zug vom Spieler abrufen
- Kurzschlussauswertung
- Einen Zug von einer Zugliste auswählen
- Der Wert None
- Die KI gestalten
- Prüfung auf einen Gewinnzug des Computers
- Prüfung auf einen Gewinnzug des Spielers
- Ecken, Mitte und Seitenfelder prüfen
- Ist das Brett voll?
- Die Hauptschleife des Spiels
- Den Spielerbuchstaben auswählen und den ersten Zug auslosen
- Der Zug des Spielers
- Der Zug des Computers
- Eine weitere Spielrunde anbieten
- Zusammenfassung
- 11 Bagels
- Ein Beispieldurchlauf von Bagels
- Der Quellcode von Bagels
- Das Flussdiagramm für Bagels
- Import von random() und Definition von getSecretNum()
- Ziffern durcheinanderwürfeln
- Reihenfolge von Listenelementen mit random.shuffle() ändern
- Die Geheimzahl aus durcheinandergewürfelten Ziffern zusammenstellen
- Erweiterte Zuweisungsoperatoren
- Berechnungen für die Hinweise
- Die Listenmethode sort()
- Die Stringmethode join()
- Besteht der String nur aus Ziffern?
- Das Spiel starten
- Stringinterpolation
- Die Hauptschleife des Spiels
- Die Vermutung des Spielers abrufen
- Die Hinweise gewinnen
- Auf Sieg oder Niederlage prüfen
- Nach einer weiteren Runde fragen
- Zusammenfassung
- 12 Kartesische Koordinaten
- Raster und kartesische Koordinaten
- Negative Zahlen
- Das Koordinatensystem eines Computerbildschirms
- Rechentricks
- Trick 1: Ein Minuszeichen verschlingt ein Pluszeichen zu seiner Linken
- Trick 2: Zweimal Minus gibt Plus
- Trick 3: Zwei Zahlen in einer Addition können den Platz tauschen
- Beträge und die Funktion abs()
- Zusammenfassung
- 13 Sonar-Schatzsuche
- Ein Beispieldurchlauf der Sonar-Schatzsuche
- Der Quellcode für die Sonar-Schatzsuche
- Entwurf des Programms
- Die Module random, sys und math importieren
- Ein neues Spielbrett erstellen
- Das Spielbrett zeichnen
- Die x-Koordinaten am oberen Rand des Spielbretts zeichnen
- Das Meer zeichnen
- Eine Meeresreihe ausgeben
- Die x-Koordinaten am unteren Rand ausgeben
- Die zufällig verteilen Schatztruhen erstellen
- Die Gültigkeit eines Zugs bestimmen
- Einen Zug auf dem Spielbrett machen
- Die nächstgelegene Schatztruhe finden
- Werte mit der Listenmethode remove() entfernen
- Den Zug des Spielers abrufen
- Die Spielanleitung ausgeben
- Die Hauptschleife des Spiels
- Den Spielzustand anzeigen
- Den Zug des Spielers verarbeiten
- Eine Schatztruhe finden
- Hat der Spieler gewonnen?
- Hat der Spieler verloren?
- Das Programm mit der Funktion sys.exit() beenden
- Zusammenfassung
- 14 Die Caesar-Chiffre
- Kryptografie und Verschlüsselung
- Funktionsweise der Caesar-Chiffre
- Ein Beispieldurchlauf der Caesar-Chiffre
- Der Quellcode für die Caesar-Chiffre
- Die maximale Schlüssellänge festlegen
- Auswahl zwischen Ver- und Entschlüsselung
- Die Nachricht vom Benutzer abrufen
- Den Schlüssel vom Benutzer abrufen
- Die Nachricht verschlüsseln oder entschlüsseln
- Strings mit der Methode find() finden
- Die einzelnen Buchstaben ver- bzw. entschlüsseln
- Das Programm starten
- Brute-Force-Entschlüsselung
- Den Brute-Force-Modus hinzufügen
- Zusammenfassung
- 15 Reversegam
- Die Spielregeln von Reversegam
- Ein Beispieldurchlauf von Reversegam
- Der Quellcode von Reversegam
- Module importieren und Konstanten einrichten
- Die Datenstruktur für das Spielbrett
- Die Datenstruktur für das Spielbrett auf dem Bildschirm ausgeben
- Eine neue Datenstruktur für das Brett erstellen
- Züge auf Gültigkeit prüfen
- Die acht Richtungen prüfen
- Prüfen, ob Steine gedreht werden müssen
- Prüfen auf gültige Koordinaten
- Eine Liste mit allen gültigen Zügen bekommen
- Die Funktion bool() aufrufen
- Die Punktzahl des Spielbretts ermitteln
- Die Steinwahl des Spielers abfragen
- Entscheiden, wer beginnt
- Einen Spielstein auf dem Brett platzieren
- Die Datenstruktur des Spielbretts kopieren
- Bestimmen, was eine Ecke ist
- Den Spielzug abfragen
- Der Zug des Computers
- Strategische Züge in Ecken
- Eine Liste der besten Züge erstellen
- Die Punkte auf dem Bildschirm ausgeben
- Das Spiel starten
- Ein Patt erkennen
- Der Spieler ist am Zug
- Der Spielzug des Computers
- Die Spielschleife
- Fragen, ob der Spieler erneut spielen möchte
- Zusammenfassung
- 16 Reversegam-KI-Simulation
- Der Computer spielt gegen sich selbst
- Ein Beispieldurchlauf von Simulation 1
- Der Quellcode für Simulation 1
- Die Spielereingaben entfernen und einen Computerspieler hinzufügen
- Den Computer mehrfach gegen sich selbst spielen lassen
- Ein Beispieldurchlauf von Simulation 2
- Quellcode für Simulation 2
- Den Überblick über mehrere Spiele behalten
- Die Funktionsaufrufe print() auskommentieren
- Die KI mit Prozentsätzen bewerten
- Die verschiedenen KI-Algorithmen vergleichen
- Quellcode für Simulation 3
- Wie die KI in Simulation 3 funktioniert
- Die KI miteinander vergleichen
- Zusammenfassung
- 17 Grafik einsetzen
- pygame installieren
- Hello World in pygame
- Beispieldurchlauf des pygame Hello World
- Quellcode für pygame Hello World
- Das Modul pygame importieren
- pygame initialisieren
- Das pygame-Fenster einrichten
- Tupel
- Surface-Objekte
- Farb-Variablen einrichten
- Im pygame-Fenster Text ausgeben
- Text mit Schriftarten formatieren
- Ein Font-Objekt ausgeben
- Die Textposition mit Rect-Attributen festlegen
- Ein Surface-Objekt mit Farbe füllen
- Die Zeichenfunktionen von pygame
- Ein Polygon zeichnen
- Eine Linie zeichnen
- Einen Kreis zeichnen
- Eine Ellipse zeichnen
- Ein Rechteck zeichnen
- Pixel färben
- Die blit()-Methode für Surface-Objekte
- Das Surface-Objekt auf dem Bildschirm ausgeben
- Ereignisse und die Game-Schleife
- Ereignis-Objekte erhalten
- Das Programm beenden
- Zusammenfassung
- 18 Grafiken animieren
- Beispieldurchlauf des Animationsprogramms
- Der Quellcode für das Animationsprogramm
- Kästen bewegen und abprallen lassen
- Die Konstanten einrichten
- Konstanten für die Richtung
- Konstanten für die Farbe
- Datenstrukturen für die Kästen einrichten
- Die Game-Schleife
- Wenn der Spieler aufhören möchte
- Die Kästen bewegen
- Einen Kasten abprallen lassen
- Kästen an ihren neuen Positionen im Fenster zeichnen
- Das Fenster auf den Bildschirm zeichnen
- Zusammenfassung
- 19 Kollisionserkennung
- Beispieldurchlauf der Kollisionserkennung
- Der Quellcode für die Kollisionserkennung
- Die Module importieren
- Das Programm mit einem Zeitgeber steuern
- Das Fenster und die Datenstrukturen einrichten
- Variablen zur Bewegungsverfolgung einrichten
- Ereignisse verarbeiten
- Das KEYDOWN-Ereignis
- Das Ereignis KEYUP
- Den Spieler teleportieren
- Neue Nahrungsquadrate hinzufügen
- Den Spieler im Fenster bewegen
- Den Spieler im Fenster zeichnen
- Auf Kollisionen prüfen
- Die Nahrungsquadrate im Fenster zeichnen
- Zusammenfassung
- 20 Toneffekte und Bilder
- Bilder mit Sprites hinzufügen
- Ton-und Bilddateien
- Beispieldurchlauf des Sprites- und Sound-Programms
- Der Code für das Sprites- und Sounds-Programm
- Das Fenster und die Datenstruktur einrichten
- Ein Sprite hinzufügen
- Die Größe eines Sprites verändern
- Die Musik und die Toneffekte einrichten
- Sound-Dateien hinzufügen
- Den Ton ein- und ausschalten
- Den Spieler im Fenster zeichnen
- Auf Kollisionen prüfen
- Die Kirschen im Fenster zeichnen
- Zusammenfassung
- 21 Dodger mit Ton und Grafik
- Wiederholung: Die grundlegenden Datentypen in pygame
- Ein Beispieldurchlauf von Dodger
- Der Quellcode von Dodger
- Die Module importieren
- Die Konstanten einrichten
- Funktionen definieren
- Das Spiel beenden und unterbrechen
- Kollisionen mit Gegnern feststellen
- Text in das Fenster zeichnen
- pygame initialisieren und das Fenster einrichten
- Schrift-, Klang- und Bildobjekte einrichten
- Den Startbildschirm anzeigen
- Das Spiel starten
- Die Spielschleife
- Tastaturereignisse
- Mausbewegungen
- Neue Gegner hinzufügen
- Die Figur des Spielers und die Gegner bewegen
- Die Cheats
- Gegner entfernen
- Das Fenster zeichnen
- Den Punktestand ausgeben
- Die Spielerfigur und die Gegner zeichnen
- Auf Kollisionen prüfen
- Game Over
- Das Spiel abwandeln
- Zusammenfassung
- Stichwortverzeichnis
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.