Interface GameInterface

All Superinterfaces:
Remote

public interface GameInterface
extends Remote

Remote-Interface, das benutzt werden muss, damit die hier deklarierten Methoden von einem Kontrahenten aufgerufen werden koennen. Durch Aufruf der getOpponent() Methode beim DistributionInterface uebergibt ein Kontrahent sein GameInterface und bekommt das GameInterface eines anderen als Rueckgabewert. Durch den Aufruf von shoot() wird dann ein Schuss beim Kontrahenten ausgefuehrt. Die eigene Klasse, die dieses Interface implementiert muss unbedingt GameServer heissen, weil beim DistributionServer eine .stubs-Datei registriert ist, die GameServer.stubs heisst, damit nicht .stubs-Dateien von mehreren Studierenden zum DistributionServer kopiert werden muessen!


Field Summary
static int Hit
          Schiff getroffen, Rueckgabewert von Schuss
static int Lost
          Spiel verloren, Rueckgabewert von Schuss
static int Sunk
          Schiff gesunken, Rueckgabewert von Schuss
static int Water
          Wassertreffer, Rueckgabewert von Schuss
 
Method Summary
 void begin()
          Diese Methode wird vom DistributionServer aufgerufen, um mitzuteilen, dass man mit dem Schiessen beginnen kann.
 int shoot(int row, int column)
          Schuss auf die angegebene Spielfeldposition beim Gegner.
 

Field Detail

Water

public static final int Water
Wassertreffer, Rueckgabewert von Schuss
See Also:
shoot(int, int)

Hit

public static final int Hit
Schiff getroffen, Rueckgabewert von Schuss
See Also:
shoot(int, int)

Sunk

public static final int Sunk
Schiff gesunken, Rueckgabewert von Schuss
See Also:
shoot(int, int)

Lost

public static final int Lost
Spiel verloren, Rueckgabewert von Schuss
See Also:
shoot(int, int)
Method Detail

shoot

public int shoot(int row,
                 int column)
          throws RemoteException
Schuss auf die angegebene Spielfeldposition beim Gegner. Dieser fuehrt den Schuss aus und ist dann selbst an der Reihe, die shoot()-Methode aufzurufen, falls kein Schiff getroffen wurde. Mögliche Rückgabewerte sind:
Parameters:
row - Zeile im Spielfeld, auf die geschossen werden soll
column - Spalte im Spielfeld, auf die geschossen werden soll
Returns:
Ergebnis des Schusses (siehe Konstanten in diesem Interface)
Throws:
RemoteException - wenn ein Fehler bei der RMI Kommunikation auftritt
See Also:
Hit, Water, Sunk, Lost

begin

public void begin()
           throws RemoteException
Diese Methode wird vom DistributionServer aufgerufen, um mitzuteilen, dass man mit dem Schiessen beginnen kann. Der DistributionServer ruft diese Methode nur bei einem einzigen Kontrahenten auf!
Throws:
RemoteException - wenn ein Fehler bei der RMI Kommunikation auftritt