muehle.player
Class HumanPlayer

java.lang.Object
  extended by muehle.player.Player
      extended by muehle.player.HumanPlayer
Direct Known Subclasses:
RoboterHumanPlayer, WebcamHumanPlayer

public class HumanPlayer
extends Player

Diese Klasse implementiert den Menschspieler, der, wenn er zum Zug aufgefordert wird, auf eine interaktive Mauseingabe des Benutzers wartet, und den entsprechenden Zug ausführt.

Since:
20.04.2004
Version:
2.01
Author:
Bastian Späth, Florian Lemmerich

Field Summary
 
Fields inherited from class muehle.player.Player
actions, clip, gestoppt, initStones, name, numberOfStones, opponent, play, s, stopSleeping, time
 
Constructor Summary
HumanPlayer(java.lang.String name, Stone s)
          Der Konstruktor erstellt den Menschspieler mit angegebenem Namen und Stein
HumanPlayer(java.lang.String name, Stone s, muehle.thinking.Heuristic evalHeuristic)
           
HumanPlayer(java.lang.String name, Stone s, java.lang.String filenameOfEvalHeuristic)
           
 
Method Summary
 boolean acceptDraw(Playground p)
           
 Action deleteStone(Playground p)
          Diese Methode veranlasst den Menschplayer zum Schmeissen eines Gegnersteines.
 Player getClone()
          Diese Methode clont den Menschspieler, indem ein neuer Spieler gleichen Namens und gleichen Steines mit gleicher Anzahl an gesetzen und übrigen Steinen generiert wird.
 ComputerPlayer getComputerClone(muehle.thinking.Heuristic h)
           
 Action getProposalAction()
           
 Action getProposalDrop()
           
 void getThread(java.lang.Thread play)
           
 Action makeMove(Playground p)
          Diese Methode stoppt zuerst den laufenden Spiel-Thread, der wieder vom Mouse-Listener im PlayerPanel gestartet, sobald der Benutzer seine Mauseingabe gemacht hat.
 void moveProposal(Playground p, muehle.gui.StatusPanel sp, muehle.thinking.Heuristic h)
           
 void pressedAt(int source)
          Diese Methode speichert in source die ihr übergebene Spielfeldposition, an der die Maustaste gedrückt wurde
 void releasedAt(int destination)
          Diese Methode speichert in destination die ihr übergebene Spielfeldposition, an der die Maustaste wieder losgelassen wurde
 
Methods inherited from class muehle.player.Player
appendLastAction, calcSituationValue, canJump, canSet, clearFeatures, connect, decrementInitStones, decrementStones, disconnect, flipSound, getAllLastActions, getDeleteAction, getDepthToThink, getEvalHeuristic, getLastAction, getMoveAction, getName, getNumberOfInitStones, getNumberOfStones, getOpponent, getSetAction, getSituationValue, getStatusPanel, getStone, getTimeToThink, getTimeUsedByPlayer, getType, hasLostByStones, incrementInitStones, incrementStones, informOpponent, isUseTimeToBreak, learningPhase, notice, receiveMsg, reset, saveFeatures, setAudio, setDepthToThink, setHost, setName, setNumberOfInitStones, setNumberOfStones, setOpponent, setPort, setStone, setTimeToThink, setUseTimeToBreak, setVerbose, softSleeping, soundPlayback, stopGameThread, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

HumanPlayer

public HumanPlayer(java.lang.String name,
                   Stone s)
Der Konstruktor erstellt den Menschspieler mit angegebenem Namen und Stein

Parameters:
name - Spielername
s - Stein
Since:
20.04.2004

HumanPlayer

public HumanPlayer(java.lang.String name,
                   Stone s,
                   java.lang.String filenameOfEvalHeuristic)

HumanPlayer

public HumanPlayer(java.lang.String name,
                   Stone s,
                   muehle.thinking.Heuristic evalHeuristic)
Method Detail

getThread

public void getThread(java.lang.Thread play)
Overrides:
getThread in class Player

makeMove

public Action makeMove(Playground p)
Diese Methode stoppt zuerst den laufenden Spiel-Thread, der wieder vom Mouse-Listener im PlayerPanel gestartet, sobald der Benutzer seine Mauseingabe gemacht hat. Dann wird der Zug ausgeführt.

Overrides:
makeMove in class Player
Parameters:
p - Playground auf dem der Zug ausgeführt werden soll
Returns:
die ausgeführte Aktion
Since:
20.04.2004

deleteStone

public Action deleteStone(Playground p)
Diese Methode veranlasst den Menschplayer zum Schmeissen eines Gegnersteines. Hier wird zuerst der laufenden Spiel-Thread gestoppt, der wieder vom Mouse-Listener im PlayerPanel gestartet, sobald der Benutzer seine Mauseingabe gemacht hat. Anschließend wird der entsprechende Stein gelöscht.

Overrides:
deleteStone in class Player
Parameters:
p - Playground, von dem gelöscht wird
Returns:
die ausgeführte Aktion
Since:
20.04.2004

acceptDraw

public boolean acceptDraw(Playground p)
Overrides:
acceptDraw in class Player

pressedAt

public void pressedAt(int source)
Diese Methode speichert in source die ihr übergebene Spielfeldposition, an der die Maustaste gedrückt wurde

Overrides:
pressedAt in class Player
Parameters:
source - Spielfeldposition, an der die Maustaste gedrückt wurde
Since:
20.04.2004

releasedAt

public void releasedAt(int destination)
Diese Methode speichert in destination die ihr übergebene Spielfeldposition, an der die Maustaste wieder losgelassen wurde

Overrides:
releasedAt in class Player
Parameters:
source - Spielfeldposition, an der die Maustaste losgelassen wurde
Since:
20.04.2004

getClone

public Player getClone()
Diese Methode clont den Menschspieler, indem ein neuer Spieler gleichen Namens und gleichen Steines mit gleicher Anzahl an gesetzen und übrigen Steinen generiert wird.

Overrides:
getClone in class Player
Returns:
geclonter Menschspieler
Since:
20.04.2004

getComputerClone

public ComputerPlayer getComputerClone(muehle.thinking.Heuristic h)

moveProposal

public void moveProposal(Playground p,
                         muehle.gui.StatusPanel sp,
                         muehle.thinking.Heuristic h)

getProposalAction

public Action getProposalAction()
Overrides:
getProposalAction in class Player
Returns:
Returns the proposalAction.

getProposalDrop

public Action getProposalDrop()
Overrides:
getProposalDrop in class Player
Returns:
Returns the proposalDrop.