|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.lang.Thread | +--stasichase.ki.Gehirn
Jeder Spieler hat ein Gehirn, das für ihm den besten Zug berrechnet.Von ihr erben X-Gehirn und D-Gehirn.
Field Summary | |
protected int |
anzSpieler
Anzahl der Spieler. |
protected Move |
besterZug
Der aktuell bester Zug. |
protected int[][] |
erlaubteZuege
Die Züge die zur Verfügung stehen. |
protected boolean |
istBereit
Kontrollvariable um zu wissen, ob das Gehirn initialisiert worden ist. |
protected Thread |
mainThread
Thread des SpielerKI bei dem sich das Gehirn melden soll, wenn es mit seinen Berechnungen fertig ist (mainThread.interrupt()). |
protected int |
position
Eigene Position, eigentlich nur für Mr.X interessant, da die KITools sie nicht kennt. |
protected LokalerSpieler |
spieler
Lokaler Spieler zu dem das Gehirn gehört. |
protected int |
spielernummer
Nummer des Spielers zu dem Gehirn gehört. |
protected int |
zugnummer
Nummer des für die Spielposition aktuellen Zuges. |
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 | |
Gehirn(LokalerSpieler spieler)
|
Method Summary | |
protected int |
billigstesTicket(int schluessel)
Wenn mehrere Verkehrsmitteln zur Wahl stehen, so wird die billigste (Taxi |
Move |
getBesterZug()
Liefert den aktuellen besten Zug. |
void |
initialisieren(Game game)
Übergabe des Game-Objekts an dem Gehirn. |
boolean |
istBereit()
Sagt, ob das Gehirn bereits initialisiert worden ist. |
void |
neuePosition(Move zug)
Bevor ein Zug abgegeben wird, kann man dem Gehirn seine neue Position mitteilen. |
void |
notifyMessage(MessageEvent e)
Wird noch nicht berücksichtigt. |
void |
notifyMove(MoveEvent e)
Empfängt Nachrichten über gespielte Zuege von seinem lokalen Spieler. |
protected Move |
parseMove(int stationsnummer,
int ticketart)
Erzeugt D- bzw. |
void |
run()
Berechnung des besten Zuges. |
void |
setMainThread(Thread t)
Damit kann der SpielerKI sein aktuellen Thread angeben. |
protected int |
teuerstesTicket(int schluessel)
Wenn mehrere Verkehrsmitteln zur Wahl stehen, so wird das teuerste (Ubahn>Bus>Taxi>Black) ermittelt. |
protected Move |
zufallszug(int[][] zuege)
Wählt aus einer liste von Zügen einen zufällig aus. |
Methods inherited from class java.lang.Thread |
|
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
Field Detail |
protected boolean istBereit
protected Thread mainThread
protected LokalerSpieler spieler
protected int spielernummer
protected int position
protected int anzSpieler
protected int zugnummer
protected Move besterZug
protected int[][] erlaubteZuege
Constructor Detail |
public Gehirn(LokalerSpieler spieler)
Method Detail |
public void initialisieren(Game game)
public void run()
public void setMainThread(Thread t)
public Move getBesterZug()
public void neuePosition(Move zug)
public void notifyMove(MoveEvent e)
public void notifyMessage(MessageEvent e)
protected Move zufallszug(int[][] zuege)
zuege
- Liste von Zuege in dem Format des Attributs erlaubteZuegeprotected int billigstesTicket(int schluessel)
Verkehrsschluessel
- nach Stationsinfoprotected int teuerstesTicket(int schluessel)
Verkehrsschluessel
- nach Stationsinfoprotected Move parseMove(int stationsnummer, int ticketart)
stationsnummer
- Nummer der Zielstationticketart
- 1 für Taxi
2 für Bus
3 für UBahn
4 für Black (nur für XMove) HEL/BARRIEREN!public boolean istBereit()
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |