stasichase.ki
Class SpielerKI

java.lang.Object
  |
  +--swp.server.AbstractClient
        |
        +--swp.server.AbstractPlayer
              |
              +--stasichase.kram.LokalerSpieler
                    |
                    +--stasichase.ki.SpielerKI

public class SpielerKI
extends LokalerSpieler

Diese Klasse stellt einen künstlichen Spieler dar, der am Spiel teilnimmt. Sie ist diejenige die mit dem Server kommuniziert (Züge abgibt und notifyMove usw. erhält). Die Berechnung des Zuges wird in die Klasse Gehirn verlagert.

Author:
KI-gruppe

Field Summary
static boolean autonomeKI
          Soll die KI autonom sein, d.h.
private  long bedenkzeit
          Spielbedenkzeit für ein Zug in Millisekunden.
private  long toleranz
          Der SpielerKI soll spätestens nach bedenkzeit-toleranz (Millisekunden) ein Zug abgeben, um sicher zu sein, daß die vom Server gemessene Zeit nicht überschritten wird.
private static long wartezeit
          Im autonomen Modus werden die Züge (noch) sehr schnell abgegeben, so daß man dem SpielerKI sagen kann, daß er etwas warten soll, bevor er sein Zug abgibt, damit das Spiel Live nachvollziehbar bleibt.
 
Fields inherited from class stasichase.kram.LokalerSpieler
gehirn, messageListeners, moveListeners, name, rolle, spielplan
 
Fields inherited from class swp.server.AbstractClient
logged_out, server
 
Constructor Summary
SpielerKI(Registry registry, String name, int role)
           
 
Method Summary
 void init(Game game)
          Mit dieser Methode teilt der Server dem Lokalen Spieler mit, daß das Spiel beginnt.
 Move makeYourMove()
          Mit dieser Methode teilt der Server dem SpielerKI mit, daß er am Zug ist.
 void notifyGameOver(GameOver over)
          Spielende wird angezeigt.
static void seiAutonom()
          Stellt die KI im autonomen Modus.
static void setWartezeit(long zeit)
           
 
Methods inherited from class stasichase.kram.LokalerSpieler
addMessageListener, addMoveListener, getName, getRolle, getSpielplan, notifyMessage, notifyMove, ziehen
 
Methods inherited from class swp.server.AbstractClient
createRegistryServer, getRegistryServer, logout, notifyLogin
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

autonomeKI

public static boolean autonomeKI
Soll die KI autonom sein, d.h. soll sie statt den SpielerGUI die KITools benachrichtigen? Default ist false.

bedenkzeit

private long bedenkzeit
Spielbedenkzeit für ein Zug in Millisekunden.

toleranz

private long toleranz
Der SpielerKI soll spätestens nach bedenkzeit-toleranz (Millisekunden) ein Zug abgeben, um sicher zu sein, daß die vom Server gemessene Zeit nicht überschritten wird.

wartezeit

private static long wartezeit
Im autonomen Modus werden die Züge (noch) sehr schnell abgegeben, so daß man dem SpielerKI sagen kann, daß er etwas warten soll, bevor er sein Zug abgibt, damit das Spiel Live nachvollziehbar bleibt.
Constructor Detail

SpielerKI

public SpielerKI(Registry registry,
                 String name,
                 int role)
          throws GameException,
                 RemoteException
Method Detail

init

public void init(Game game)
Description copied from class: LokalerSpieler
Mit dieser Methode teilt der Server dem Lokalen Spieler mit, daß das Spiel beginnt. Übergibt wird ein Game-Objekt, in dem alle Informationen über das Spiel stehen.
Overrides:
init in class LokalerSpieler

makeYourMove

public Move makeYourMove()
Mit dieser Methode teilt der Server dem SpielerKI mit, daß er am Zug ist. Als Zug wird daraufhin gehirn.besterZug abgegeben.
Overrides:
makeYourMove in class LokalerSpieler

notifyGameOver

public void notifyGameOver(GameOver over)
Description copied from interface: Client
Spielende wird angezeigt.
Overrides:
notifyGameOver in class LokalerSpieler

seiAutonom

public static void seiAutonom()
Stellt die KI im autonomen Modus. D.h., daß sie ohne einen SpielerGUI auf der virtuellen Naschine laufen, es darf dann aber nur ein einziger Spieler angemeldet werden! Das Problem ist dass die KIToolsklasse die Nachrichten von einem einzigen Spieler bekommen soll.

setWartezeit

public static void setWartezeit(long zeit)