Gaulke | Spiele-KI mit Python programmieren | E-Book | www.sack.de
E-Book

E-Book, Deutsch, 670 Seiten

Reihe: Rheinwerk Computing

Gaulke Spiele-KI mit Python programmieren

10 Klassiker von TicTacToe bis
1. Auflage 2025
ISBN: 978-3-367-10965-4
Verlag: Rheinwerk
Format: PDF
Kopierschutz: 0 - No protection

10 Klassiker von TicTacToe bis

E-Book, Deutsch, 670 Seiten

Reihe: Rheinwerk Computing

ISBN: 978-3-367-10965-4
Verlag: Rheinwerk
Format: PDF
Kopierschutz: 0 - No protection



Level-Up your Skills!

KI-Algorithmen verstehen, Python-Skills erweitern und Spiele programmieren – alles in einem Buch. Anhand von 10 Klassikern wie Eliza, TicTacToe und PacMan führt Python-Dozent Jens Gaulke Sie in die faszinierende Welt der Künstlichen Intelligenz ein. Lernen Sie, wie Sie 2D-Spiele mit Pygame entwickeln und implementieren Sie die KI für clevere Gegner direkt dort. Mit Q-Learning, Alpha-Beta-Pruning und Co. entwickeln Sie dabei Skills, die weit über Arcade-Spiele hinaus in der Business-Welt nützlich sind. Mit vielen Codebeispielen auch zum Herunterladen, Übungen und Vertiefungsideen ideal für alle, die einen Hands-on-Zugang lieben und Spiele mit KI entwickeln möchten.

  • 10 Klassiker neu gedacht, vom Chatbot Eliza bis zu Sudokus und Platformern
  • KI-Algorithmen spielerisch lernen: Minimax, Q-Learning, Constraint-Satisfaction-Probleme und prozeduralen Welten
  • Smarte Spiele, sauberer Code: Entwurfsmuster, Best Practices, 2D-Python-GUIs mit Pygame

Aus dem Inhalt:

  • Einen Chatbot mit GUI entwickeln
  • Einführung in Pygame
  • Q-Learning am Beispiel von TicTacToe
  • Constraint Satisfaction für eigene Sudokus
  • Austauschbare KIs für Reversi
  • KI-Gegner in Maze Madness und Maze-Man
  • Level-Design für Maze- und Platformer-Spiele
  • Maus, GamePad und Co. abfragen
  • Wichtige Entwurfsmuster und Best Practices
  • Zustandsautomaten für komplexe Gegner
  • Dynamisch generierte Spielwelten
  • Exklusiv für das Buch entwickelte Spiele
Gaulke Spiele-KI mit Python programmieren jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


  Danksagung ... 19

  Materialien zum Buch ... 21

  1.  Einleitung ... 23


       1.1 ... Ich freue mich, dass Sie dabei sind ... 24

       1.2 ... Was erwartet Sie in diesem Buch? ... 24

       1.3 ... Abgrenzung zu modernen KI-Technologien ... 25

       1.4 ... Was genau ist in diesem Buch zu finden? ... 27

       1.5 ... Ist dieses Buch für Sie geeignet? ... 34

       1.6 ... Das Ziel dieses Buches ... 37

       1.7 ... Wenn ich weiter gesehen habe ... ... 38

  2.  Software ... 41


       2.1 ... Alternative 1: Installation von Python ... 42

       2.2 ... Alternative 2: Installation von Anaconda ... 44

       2.3 ... Installation von Pygame ... 45

       2.4 ... Installation von Visual Studio Code ... 46

       2.5 ... Erste Schritte mit Visual Studio Code ... 48

       2.6 ... Extensions installieren und nutzen ... 50

       2.7 ... JupyterLab installieren ... 52

  3.  Hi! I'm Eliza ... 55


       3.1 ... Was ist Eliza? ... 56

       3.2 ... Was ist ein Turing-Test? ... 57

       3.3 ... Woher kommt der Name Eliza? ... 59

       3.4 ... Das MVC-Entwurfsmuster ... 60

       3.5 ... Ablauflogik von Eliza ... 62

       3.6 ... Implementierung von Eliza ... 64

       3.7 ... Ausblick ... 94

       3.8 ... Literatur und Quellenangaben ... 94

  4.  Eliza revamped ... 95


       4.1 ... Was ist Pygame? ... 96

       4.2 ... Pygame installieren ... 97

       4.3 ... Architektur einer Pygame-Anwendung ... 98

       4.4 ... Pygame trifft Eliza ... 105

       4.5 ... Elizas Struktur ... 138

       4.6 ... Zusammenfassung ... 140

       4.7 ... Ausblick ... 141

       4.8 ... Literatur- und Quellenangaben ... 141

  5.  Nim ... 143


       5.1 ... Ordnerstrukturen für größere Projekte ... 144

       5.2 ... Backtracking und Rekursion ... 146

       5.3 ... Strategie und Mathematik hinter Nim ... 158

       5.4 ... Der Minimax-Algorithmus ... 159

       5.5 ... Implementierung von Minimax am Beispiel von Nim ... 166

       5.6 ... Der komplette Quelltext ... 174

       5.7 ... Ausblick ... 177

       5.8 ... Literatur und Quellenangaben ... 178

  6.  Nim unleashed ... 179


       6.1 ... Projektstruktur anlegen ... 180

       6.2 ... Nim nach PyGame migrieren ... 184

       6.3 ... Ich krieg Zustände ... ... 211

       6.4 ... Eine Optimierung für die GUI-Komponenten ... 214

       6.5 ... Ausblick ... 216

       6.6 ... Literatur und Quellenangaben ... 216

  7.  Tic-Tac-Toe ... 217


       7.1 ... Projektstruktur anlegen ... 218

       7.2 ... Das Board und die Regeln ... 218

       7.3 ... Die drei KIs ... 221

       7.4 ... Die GUI erstellen ... 235

       7.5 ... Die Control-Klasse ... 247

       7.6 ... Ausblick ... 254

  8.  Tic-Tac-Q ... 255


       8.1 ... Q-Learning ... 256

       8.2 ... Swampy Fields ... 262

       8.3 ... Q-Learning in Tic-Tac-Toe ... 270

       8.4 ... Ausblick ... 282

       8.5 ... Literatur und Quellenangaben ... 282

  9.  Black & White ... 283


       9.1 ... Projektstruktur anlegen ... 285

       9.2 ... Das Board und die Regeln ... 286

       9.3 ... Alpha-Beta Pruning ... 301

       9.4 ... Die KI ... 304

       9.5 ... Die GUI erstellen ... 317

       9.6 ... Animationen und Daumenkinos ... 325

       9.7 ... Die Control-Klasse ... 331

       9.8 ... Ausblick ... 338

       9.9 ... Literatur und Quellenangaben ... 339

10.  Black & White: Denken und Steuern ... 341


       10.1 ... State Charts ... 342

       10.2 ... Beispiele für State Charts ... 344

       10.3 ... Ein Menüsystem ... 358

       10.4 ... Optimierung des Alpha-Beta Prunings ... 379

       10.5 ... Ausblick ... 400

11.  Von Sudoku zu intelligenten Lösungen ... 401


       11.1 ... Was ist ein CSP? ... 402

       11.2 ... Warum Sudoku? ... 403

       11.3 ... Was ist ein Sudoku? ... 404

       11.4 ... Sudokus erzeugen ... 414

       11.5 ... Schrödingers Sudoku -- Aspekte der Quantenmechanik ... 428

       11.6 ... Sudokus lösen ... 432

       11.7 ... Wo ist das Projekt? ... 439

       11.8 ... Sound und Musik ... 440

       11.9 ... Export als PDF, PNG, PPT ... 444

       11.10 ... Ausblick ... 445

       11.11 ... Literatur und Quellenangaben ... 446

12.  Maze Madness ... 447


       12.1 ... Irrgärten erzeugen ... 448

       12.2 ... Das Spielkonzept von Maze Madness ... 457

       12.3 ... Steuerung des Spiels ... 459

       12.4 ... Grafiken ... 467

       12.5 ... Gold einbinden ... 471

       12.6 ... Die Geister ... 473

       12.7 ... Selina V2.0 ... 480

       12.8 ... Erweiterungen an Maze und MazeCell ... 485

       12.9 ... Die Geister V2.0 ... 487

       12.10 ... Das finale Gameplay ... 490

       12.11 ... Wo ist das Projekt? ... 494

       12.12 ... Ausblick ... 494

       12.13 ... Literatur und Quellenangaben ... 495

13.  Die Geister, die ich rief ... 497


       13.1 ... Urheberrecht ... 498

       13.2 ... Maze Man ... 499

       13.3 ... Prozedurale Irrgärten ... 499

       13.4 ... Die Logik der Gegner ... 518

       13.5 ... Der Spieler ... 531

       13.6 ... Wie geht es nun weiter? ... 531

       13.7 ... Ausblick ... 532

       13.8 ... Literatur und Quellenangaben ... 533

14.  Tut's Treasure ... 535


       14.1 ... Urheberrecht ... 537

       14.2 ... Ideen für unser Spiel ... 539

       14.3 ... WFC -- Wave Function Collapse ... 540

       14.4 ... Ist WFC künstliche Intelligenz? ... 545

       14.5 ... Mit WFC zu Platformer-Leveln ... 546

       14.6 ... Der WFC-Code ... 550

       14.7 ... Wegesuche mit A* ... 562

       14.8 ... A* Im Irrgarten ... 564

       14.9 ... Überblick über das Spiel ... 575

       14.10 ... Ausblick ... 607

       14.11 ... Literatur und Quellenangaben ... 608

15.  Spektiven ... 609


       15.1 ... Retro-Spektive ... 610

       15.2 ... Per-Spektive ... 612

       15.3 ... Pro-Spektive ... 612

       15.4 ... Intro-Spektive ... 613

       15.5 ... Das Ende einer Reise -- die Freude bleibt ... 614

  Index ... 615


Gaulke, Jens
Jens Gaulke ist Diplominformatiker, Experte für Informationssicherheit und Python mit einer Leidenschaft für Technologie und Bildung. Seine langjährige Lehrerfahrung am bib International College in Paderborn umfasst die Bereiche Programmierung, Game Development, Skriptsprachen, Netzwerke u. v. m. Derzeit als Information Security Officer tätig, ist er unter Anderem mit Cloud Computing, Künstlicher Intelligenz und der Weiterbildung von Mitarbeitern befasst.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.