|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectexamplePlayers.AbstractPlayer
examplePlayers.HumanPlayer
public class HumanPlayer
Lösungsvorschlag zur Übungsserie Nr. 7, Aufgabe 2)
In diesem Lösungsvorschlag implementiert HumanPlayer nicht das Interface
ReversiPlayer, sondern erweitert die abstrakte Klasse AbstractPlayer. Anstatt
einen Zug zu berechnen, fordert HumanPlayer
den Benutzer auf,
einen Zug über die Konsole einzugeben.
AbstractPlayer
Constructor Summary | |
---|---|
HumanPlayer()
Konstruktor, der bei der Gründung eines HumanPlayer eine Meldung auf den Bildschirm ausgibt. |
Method Summary | |
---|---|
void |
initialize(int color,
long timeout)
Speichert die Farbe und den Timeout-Wert in Instanzvariablen ab. |
Coordinates |
nextMove(GameBoard gb)
Macht einen Zug für den HumanPlayer, indem der Benutzer zur Eingabe eines Zuges aufgefordert wird. |
static Coordinates |
readMoveFromKeyboard()
Liest einen Zug vom Benutzer ein. |
Methods inherited from class examplePlayers.AbstractPlayer |
---|
checkMove, moveExists |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public HumanPlayer()
Method Detail |
---|
public void initialize(int color, long timeout)
Arena
aufgerufen.
initialize
in interface ReversiPlayer
initialize
in class AbstractPlayer
color
- Farbe dieses Spielers.timeout
- Zeitlimit für einen Spielzug.ReversiPlayer
public Coordinates nextMove(GameBoard gb)
Arena
abwechselnd aufgerufen.
nextMove
in interface ReversiPlayer
nextMove
in class AbstractPlayer
gb
- Die aktuelle Spielsituation.
ReversiPlayer
public static Coordinates readMoveFromKeyboard()
null
,
wenn der Benutzer "Passen" ausgewählt hat.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |