stasichase.ki
Class DGehirn

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--stasichase.ki.Gehirn
              |
              +--stasichase.ki.DGehirn

public class DGehirn
extends Gehirn

Das Gehirn für ein Detektive.

Version:
$Id:
Author:
KI-Gruppe

Fields inherited from class stasichase.ki.Gehirn
anzSpieler, besterZug, erlaubteZuege, istBereit, mainThread, position, spieler, spielernummer, zugnummer
 
Fields inherited from class java.lang.Thread
contextClassLoader, daemon, eetop, group, inheritedAccessControlContext, MAX_PRIORITY, MIN_PRIORITY, name, NORM_PRIORITY, priority, single_step, stillborn, stopThreadPermission, target, threadInitNumber, threadQ, values
 
Constructor Summary
DGehirn(LokalerSpieler spieler)
          Erstellt ein DGehirn.
 
Method Summary
private  void dStrategie()
          Hier wird entschieden in welcher Phase sich der Detektive befindet.
private  void dStrategie1()
          Phase 1: Anfang des Spiels, bevor sich Mr.X zum ersten Mal gezeigt hat.
private  void dStrategie2()
          Phase 2: Einkreisen.
private  void dStrategie3()
          Phase 3: Verhaften.
 void initialisieren(Game game)
          Übergabe des Game-Objekts an dem DGehirn.
protected  Move parseMove(int stationsnummer, int ticketart)
          Erzeugt DMove-Objekte.
 void run()
          Berechnung des besten Zuges.
 
Methods inherited from class stasichase.ki.Gehirn
billigstesTicket, getBesterZug, istBereit, neuePosition, notifyMessage, notifyMove, setMainThread, teuerstesTicket, zufallszug
 
Methods inherited from class java.lang.Thread
, activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, exit, getContextClassLoader, getName, getPriority, getThreadGroup, init, interrupt, interrupt0, interrupted, isAlive, isDaemon, isInterrupted, isInterrupted, join, join, join, nextThreadNum, registerNatives, resume, resume0, setContextClassLoader, setDaemon, setName, setPriority, setPriority0, sleep, sleep, start, stop, stop, stop0, suspend, suspend0, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DGehirn

public DGehirn(LokalerSpieler spieler)
Erstellt ein DGehirn.
Method Detail

initialisieren

public void initialisieren(Game game)
Übergabe des Game-Objekts an dem DGehirn. Dieser merkt sich seine Spielnummer und die Anzahl der Spieler.
Overrides:
initialisieren in class Gehirn

run

public void run()
Berechnung des besten Zuges. Wird bei makeYourMove aufgerufen. Kann mit interrupt() gestoppt werden.
Overrides:
run in class Gehirn

parseMove

protected Move parseMove(int stationsnummer,
                         int ticketart)
Erzeugt DMove-Objekte.
Overrides:
parseMove in class Gehirn
Parameters:
stationsnummer - Nummer der Zielstation
ticketart - 1 für Taxi 2 für Bus 3 für UBahn HEL/BARRIEREN!
Returns:
Ein DMove-Objekt

dStrategie

private void dStrategie()
Hier wird entschieden in welcher Phase sich der Detektive befindet. Anschließend wird die entsprechende Strategie-Methode gestartet.

dStrategie1

private void dStrategie1()
Phase 1: Anfang des Spiels, bevor sich Mr.X zum ersten Mal gezeigt hat. Die Detektive sollen sich aufs Brett verteilen und eventuell UBahn-Nähe suchen um schneller vor Ort zu sein, wenn Mr.X sichtbar wird.

dStrategie2

private void dStrategie2()
Phase 2: Einkreisen. Der Detektive ist zu weit von Mr.X entfernt, so daß eine vollständige Analyse aller Möglichkeiten nicht für sinnvoll erscheint. Ansatz: Mr.X bewege sich zufällig, man versucht dabei sein "Wirkungsfeld" durch die des Detektive-Teams am besten zu decken.

dStrategie3

private void dStrategie3()
Phase 3: Verhaften. Die Detektive sind nahe genug an Mr.X, daß es nun möglich erscheint, ihn verhaften zu können. Also werden jetzt alle Möglichkeiten analysiert.