Java-Ships

Ziel dieses Kapitels ist es, die in den vorangegangenen Kapiteln entwickelten Einzelkomponenten zu einer funktionierenden Gesamtanwendung, einer Client-Server-Architektur des Spiels Schiffe versenken, zusammenzustellen. Hierzu sind die folgenden Bausteine notwendig:

  • Netzwerkfunktionalität
    Aufgabe des Netzwerks ist es, Daten zwischen Client und Server zu übertragen. Diese Daten müssen einem einheitlichen Format unterliegen, das im Folgenden vorgestellt wird.
  • Server-Komponente
    Aufgabe der Server-Komponente ist es, Anfragen von Clients aus dem Netz entgegenzunehmen und als Gegenspieler zu agieren. Hierzu muss die notwendige Netzwerkfunktionalität enthalten sein und die Spiellogik inklusive der Aufstellung der Schiffe und des tatsächlichen Spiels realisiert werden.
  • Client-Komponente
    Aufgabe der Client-Komponente ist es, dem Benutzer ein GUI anzubieten, mit dessen Hilfe er gegen den Rechner spielen kann. Hierzu sind vor allem grafische Funktionen umzusetzen, aber auch die Integration der Netzwerkanbindung und Hilfsfunktionen, die den Ablauf des Spiels betreffen.

Diese drei Komponenten werden im Folgenden detailliert dargestellt. Es sei allerdings darauf hingewiesen, dass die grundlegende Logik der Komponenten bereits im Detail in den vorangegangenen Kapiteln erläutert wurde. Aus diesem Grund werden in diesem Kapitel nur die Komponenten nochmals erläutert, die verändert werden müssen, um das Zusammenspiel der einzelnen Komponenten zu gewährleisten.


SPNavRight SPNavRight SPNavRight
BuiltByNOF