reversi
Interface ReversiPlayer

All Superinterfaces:
java.io.Serializable

public interface ReversiPlayer
extends java.io.Serializable


Method Summary
 void initialize(int myColor, long timeLimit)
          Übergibt dem Spieler seine zugewiesene Farbe und die für beide Spieler identische Zeitbeschränkung in Millisekunden.
 Coordinates nextMove(GameBoard gb)
          Berechnet auf der Basis des übergebenen Spielfeldes den nächsten Sielzug.
 

Method Detail

initialize

public void initialize(int myColor,
                       long timeLimit)
Übergibt dem Spieler seine zugewiesene Farbe und die für beide Spieler identische Zeitbeschränkung in Millisekunden. Die Methode wird ein einziges Mal zu Beginn eines Spieles aufgerufen.
Parameters:
myColor - Die diesem Spieler vom Monitor zugewiesene Farbe der Spielsteine, entweder GameBoard.RED für rote Spielsteine oder GameBoard.GREEN für grüne.
timeLimit - Die maximale Zeit, die eine Implementierung des Interfaces für das Bearbeiten der Methode nextMove() benötigen darf, angegeben in Millisekunden.

nextMove

public Coordinates nextMove(GameBoard gb)
Berechnet auf der Basis des übergebenen Spielfeldes den nächsten Sielzug. Die Methode wird vom Monitor abwechselnd für jeden Spieler aufgerufen. Sie muss eine Instanz der Klasse Coordinates zurückgegeben, die die Position symbolisiert, an der der nächste Spielstein plaziert wird. Falls kein Zug möglich ist muss null zurückgeben werden. Implementierungen, die einen ungültigen Zug zurückliefern oder die für die Berechnung des Zuges länger als timeLimit ms benötigen, werden disqualifiziert.
Parameters:
gb - Beschreibt die augenblickliche Spielsituation.
Returns:
Einen gültigen Zug, dessen Koordinaten innerhalb der Grenzen des Spielfeldes liegen, wenn ein Zug möglich ist, sonst null.