Battleships zu deutsch "Schiffe versenken" wurde als kleines Projekt durchgeführt.
Ziel des Spiels ist es die Schiffe des Gegenspielers schneller zu versenken als die Eigenen vom Gegner versenkt werden können.
Der Server als auch der Client wurde in Java programmiert. Die Kommunikation findet hierbei über eine TCP-Verbindung statt. Um Informationen auszutauschen wurden standartisierte Objekte festgelegt und über einen ObjectInputStream bzw. einen ObjectOutputStream versendet und empfangen. Sobald sich zwei Clients mit dem Server verbunden haben, sendet der Server Spielinformationen zurück. Daraufhin können nun Schiffe auf dem Spielfeld platziert werden. Wenn beide Spieler die Schiffe gesetzt haben, dient der Server prinzipiell nur noch zur Datenübertragung zwischen den Clients. Serverintern werden hierzu nur noch der InputStream mit dem OutputStream des jeweils anderen Spielers verknüpft, sodass die Objekte einfach weitergeleitet werden.
Den Code, sowie das fertig compilierte Programm, kann hier heruntergeladen werden.