Skip to main content
Top

2011 | Book

Java will nur spielen

Programmieren lernen mit Spaß und Kreativität

insite
SEARCH

About this book

Spielen macht nicht nur einfach Spaß – über das Spiel entwickelt der „homo ludens“ (lat. der spielende Mensch) seine Fähigkeiten.

Dieser Kurs nutzt den Spieltrieb um Programmieren zu lehren und zeigt wie spannend, kreativ und gesellig es sein kann. Als Programmiersprache dient hierzu Java in der aktuellen Version 1.6. Zuerst werden einige Grundlagen des Programmierens besprochen. Die treibende Kraft zum Erlernen der Sprache ist die Entwicklung von unterschiedlichen Spielen: angefangen von einfachen Reaktionsspiele mit beweglichen Objekten im 2-dimensionalen Raum über Strategie- und Denkspiele, die über Algorithmen der künstlichen Intelligenz gelöst werden, bis hin zu verteilten Spielen in einem Netzwerk. Dabei werden nicht nur Spiele per Anwendung, Applet oder auch für das Handy entwickelt, sondern quasi nebenbei objektorientierte Programmierung und Technologien wie XML und RMI erlernt.

Über den zugehörigen Online-Service können alle Quellcodes aus dem Buch sowie Lösungen zu den Aufgaben heruntergeladen werden.

Table of Contents

Frontmatter

Einführung

Kapitel 1. Einführung
Zusammenfassung
Ist es erst einmal gelungen, sich von all den technischen Unwegsamkeiten eines Computers zu lösen und lässt man einmal alle ärgerlichkeiten im Umgang mit bestehender Software, fehlenden Treibern, nicht ansprechenden Druckern, verloren gegangenen Netzwerken oder muckender Hardware hinter sich, kann Programmieren eine faszinierende und kreative Tätigkeit sein. Aus einer verhältnismäßig kleinen Menge von Grundkonzepten lässt sich eine unvorstellbar vielfältige Menge unterschiedlicher Welten schaffen. Programme, die einen sinnvollen Zweck erfüllen oder aber einfach nur zum Selbstzweck erfreuen. Eine tiefe Befriedigung kann aus dem Gefühl herrühren, einfach mit der Kraft der eigenen Gedanken ein logisches Gebilde geschaffen zu haben, das eine Funktionalität realisiert. Das einzige Werkzeug für diese Tätigkeit ist der Rechner, der heute auf fast jedem Schreibtisch zu finden ist.
Sven Eric Panitz
Kapitel 2. Erste Programmierschritte in Java
Zusammenfassung
Ehe wir im Kapitel 3 mit dem eigentlichen Kurs zur Erlernung objektorientierter Programmierkonzepte anhand eines Spieleprojektes beginnen, werden in diesem Kapitel die klassischen Grundlagen der Programmierung und der Umgang mit Java gezeigt. Wir widmen uns dem übersetzen und Ausführen von Javaprogrammen sowie Javas Paketkonzept. Es werden Ausdrücke, Variablen, Funktionen und strukturierte Bedingungs- und Schleifen-Befehle eingeführt.
Sven Eric Panitz

2D Spiele

Frontmatter
Kapitel 3. Spielobjekte
Zusammenfassung
In diesem Teil des Buches wird ein Baukasten zum Erstellen von Spielen im zweidimensionalen Raum entwickelt. Am Ende dieses Teils sollten die Leser in der Lage sein, einfache zweidimensionale Jump ’n’ Run- oder Ballerspiele zu entwerfen. Im Laufe der Kapitel werden die grundlegenden Konzepte der objektorientierten Programmierung eingeführt und verfeinert.
Sven Eric Panitz
Kapitel 4. Generische Standardlisten
Zusammenfassung
Bisher sind wir in der Lage, eine geometrische Figur oder ein Bild auf einer bestimmten Position eines zweidimensionalen Raums darzustellen. Das ist für die Entwicklung eines Spiels ein bisschen wenig. Wir hätten gerne mehrere Figuren innerhalb des Spielfeldes: unsere Spielfigur, gegnerische Spielfiguren, Dinge die unsere Figur aufsammeln muss, andere, die unsere Spielfigur auf keinen Fall berühren darf. Eine Möglichkeit, mehrere Figuren auf einem Spielfeld darzustellen, sind die aus so gut wie allen Programmiersprachen bekannten Reihungen (arrays). Diese bieten eine kompakte und effiziente Möglichkeit, mehrere Objekte gebündelt zu speichern. Es lässt sich leicht eine Klasse schreiben, die in der Lage ist, eine ganze Reihung von zeichenbaren Objekten auf einem JPanel darzustellen. Statt wie in der Klasse PaintablePanel wird hierzu intern nicht nur ein Paintable-Objekt gespeichert, sondern eine Reihung solcher Objekte. In der Methode paintComponent ist dann für jedes dieser Paintable-Objekte der Reihung die Methode paint To aufzurufen.
Sven Eric Panitz
Kapitel 5. Spielfläche
Zusammenfassung
Es wird Zeit, ein wenig Bewegung ins Spiel zu bringen. Es soll nun endlich Figuren geben, die sich auf der Leinwand bewegen können. Wann immer eine bestimmte Eigenschaft gewünscht ist, sind Schnittstellen ein wunderbares Ausdrucksmittel, um dieses darzustellen. Wir brauchen Objekte, die sich bewegen, sprich Objekte, die eine Methode zum Bewegen haben.
Sven Eric Panitz
Kapitel 6. Menüs und Dialoge
Zusammenfassung
Kaum ein GUI-Programm kommt ohne Menü- oder Dialog-gesteuerte Interaktion mit dem Benutzer aus. Bei Menüs und Dialogen handelt es sich um Standardkomponenten, die über Maus- und Tastatureingaben eine Benutzerinteraktion erlauben. Mit den bisher vorgestellten Basisfunktionalitäten aus der Swing Bibliothek ist es theoretisch möglich, eigene Komponenten zu schreiben, die Menüs und Dialoge realisieren. Selbstverständlich ist dieses nicht notwendig, da es in der Swing Bibliothek Klassen gibt, die entsprechende Komponenten vorgefertigt zur Verfügung stellen. In diesem Abschnitt soll das bisherige kleine Spiel um Benutzerinteraktion über Menüs und Dialoge ergänzt werden.
Sven Eric Panitz
Kapitel 7. Spiele im Netz
Zusammenfassung
ältere Einführungen in Java begannen gerne mit der Programmierung von sogenannten applets. Applet ist der englische Diminutiv für Applikation; es handelt sich also bei einem Applet um eine kleine, oft auch niedliche Applikation. Applets werden im Webbrowser ausgeführt. Auf einer Webseite ist hierzu ein Tag < applet < einzufügen. In diesem ist eine Javaklasse anzugeben, die der Browser an dieser Stelle der Webseite ausführen soll.
Sven Eric Panitz
Kapitel 8. Spiele für das Handy
Zusammenfassung
Heutzutage tragen die meisten Menschen einen Computer in der Tasche, der in Speicherkapazität und Rechenleistung bereits einen Arbeitsplatzrechner von vor wenigen Jahren übertrifft: das Mobiltelefon auch Handy genannt. Auf den meisten heute handelsüblichen Mobiltelefonen ist auch Javas virtuelle Maschine vorhanden. Hier kann Java sein Ausführungsmodell wieder perfekt nutzen. Ursprünglich war es entwickelt worden für Set-Top-Boxen im Fernsehbereich, erwies sich dann für kurze Zeit als Killerapplikation im Webbrowser und kann jetzt auf Mobiltelefonen reüssieren. Was in allen diesen drei Anwendungen identisch ist: Es gibt Clients mit verschiedener Hardware. Ziel ist es, auf diesen Clients fremde Software laufen zu lassen, und dieses in einer sicheren Umgebung, die nur auf kontrollierte Art und Weise auf die Ressourcen der Hardware zugreifen kann.
Sven Eric Panitz

Logikrätsel und strategische Spiele

Frontmatter
Kapitel 9. Brettspiele
Zusammenfassung
Nach den teilweise nervenaufreibenden Spielen im vorangegangenen Teil des Buches, in denen unsere Reaktion gefragt war, wollen wir uns jetzt Spielen widmen, in denen eine strategische Denkleistung gefordert ist. Es handelt sich dabei um Spiele, in denen zwei Spieler wechselseitig einen Zug tätigen. Es gibt keine Zufallskomponente, wie z.B. einen Würfel und auch keine verdeckten Spielzustände, wie z.B. Ereigniskarten oder andere verdeckte Karten bei einem Kartenspiel. Typische Spiele dieser Art sind: Mühle, Dame, Othello (auch bekannt als Reversi), Vier Gewinnt und als komplexeste Varianten Schach und Go. Diese Spiele werden als Zweipersonen-Strategiespiel mit vollständiger Information bezeichnet.
Sven Eric Panitz
Kapitel 10. Spielagenten
Zusammenfassung
Am Ende des letzten Kapitels hatte vielleicht nicht jeder Leser einen Partner zur Hand gegen den er hätte eine Partie Tic Tac Toe spielen können. Diesen Lesern soll geholfen werden, indem eine Klasse entwickelt wird, die einen eigenständigen Spieler darstellt. In der künstlichen Intelligenz (KI) wird hierbei von einem Agenten gesprochen. Es soll im Folgenden eine KI für Spiele entwickelt werden, so dass wir in der Lage sind, gegen diese KI zu spielen.
Sven Eric Panitz
Kapitel 11. Weitere Spiele
Zusammenfassung
In den vorherigen Abschnitten wurde sehr viel Sorgfalt darauf verwandt, Spielagenten zu entwickeln, die für die unterschiedlichsten Spiele benutzt werden können. Nun ist es an der Zeit, den Beweis anzutreten, dass die entwickelten Lösungen tatsächlich diese Allgemeingültigkeit besitzen. So sollen in diesem Abschnitt weitere Spiele entwickelt werden. Sofern es sich um reguläre Spiele handelt, kann die Visualisierung für reguläre Spiele benutzt werden. Damit sind weder Spielagent noch Benutzerschnittstelle neu zu entwickeln.
Sven Eric Panitz
Kapitel 12. Vier Gewinnt Turnier
Zusammenfassung
Ein Reiz von Strategiespielen für zwei Personen besteht darin, gegeneinander zu spielen, um sich gegenseitig im Wettstreit zu messen. Ebenso reizvoll ist es, zwei Agenten für ein bestimmtes Spiel gegeneinander antreten zu lassen und ihre Spielstärke zu messen. In diesem Kapitel soll ein einfacher Rahmen geschaffen werden, um Agenten für das Spiel Vier Gewinnt gegeneinander in einem Turnier antreten zu lassen.
Sven Eric Panitz
Backmatter
Metadata
Title
Java will nur spielen
Author
Sven Eric Panitz
Copyright Year
2011
Publisher
Vieweg+Teubner Verlag
Electronic ISBN
978-3-8348-9931-6
Print ISBN
978-3-8348-1410-4
DOI
https://doi.org/10.1007/978-3-8348-9931-6

Premium Partner