Class StrategieHamster

java.lang.Object
  extended by Hamster
      extended by AllroundHamster
          extended by MenschHamster
              extended by StrategieHamster
All Implemented Interfaces:
Spieler

public class StrategieHamster
extends MenschHamster
implements Spieler

Repraesentation eines "intelligenten" Kalah-spielenden Hamsters

Version:
1.0 (29.01.2006)
Author:
Dietrich Boles (Universitaet Oldenburg)

Nested Class Summary
 
Nested classes/interfaces inherited from class Hamster
Hamster.ArrayListIntern, Hamster.SimulationModelIntern
 
Field Summary
protected  int spielstaerke
          Spielstaerke; je hoeher, desto besser spielt der Hamster
 
Fields inherited from class MenschHamster
istSpielerA, regeln
 
Fields inherited from class Hamster
_intern_hamsters, _intern_logPanel, _intern_simulationModel, NORD, OST, SUED, WEST
 
Constructor Summary
StrategieHamster(int staerke)
          initialisiert einen StrategieHamster; uebergeben wird die Spielstaerke des Hamsters (je groesser der Wert, desto besser spielt der Hamster)
 
Method Summary
protected  WertSpielzug ermittleBestenAZug(int restTiefe, WertSpielbrett brett)
          ermittelt den besten Spielzug von Spieler A
protected  WertSpielzug ermittleBestenBZug(int restTiefe, WertSpielbrett brett)
          ermittelt den besten Spielzug von Spieler B
protected  Spielzug[] ermittleFolgeZuege(boolean istSpielerA, Spielbrett brett)
          ermittelt alle moeglichen Folgezuege
 int getStaerke()
          liefert die Spielstaerke des Hamsters
 Spielzug naechsterSpielzug()
          ermittelt den naechsten Spielzug, fuehrt ihn aus und liefert ihn
 
Methods inherited from class MenschHamster
begibDichAufAusgangsKachel, fuehreSpielzugAus, gotoKalahA, gotoKalahB, gotoMulde, istSpielerA, liefereSpielerTyp, sammleResteUndBringSieZumKalah, setzeSpieler, spielBeenden, teileSpielregelnMit, verteileKoerner
 
Methods inherited from class AllroundHamster
gib, gibAlle, hintenFrei, kehrt, laufeZuKachel, laufeZuReihe, laufeZurWand, laufeZuSpalte, linksFrei, nimm, nimmAlle, rechtsFrei, rechtsUm, setzeBlickrichtung, vor
 
Methods inherited from class Hamster
clone, equals, getAnzahlHamster, getAnzahlKoerner, getBlickrichtung, getReihe, getSpalte, getStandardHamster, gib, init, kornDa, liesZahl, liesZeichenkette, linksUm, loeschen, maulLeer, nimm, schreib, toString, vor, vornFrei
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface Spieler
begibDichAufAusgangsKachel, istSpielerA, liefereSpielerTyp, sammleResteUndBringSieZumKalah, setzeSpieler, spielBeenden, teileSpielregelnMit
 

Field Detail

spielstaerke

protected int spielstaerke
Spielstaerke; je hoeher, desto besser spielt der Hamster

Constructor Detail

StrategieHamster

public StrategieHamster(int staerke)
initialisiert einen StrategieHamster; uebergeben wird die Spielstaerke des Hamsters (je groesser der Wert, desto besser spielt der Hamster)

Parameters:
staerke - die Spielstaerke des Hamsters (je groesser der Wert, desto besser spielt der Hamster, desto laenger "ueberlegt" er jedoch auch)
Method Detail

ermittleBestenAZug

protected WertSpielzug ermittleBestenAZug(int restTiefe,
                                          WertSpielbrett brett)
ermittelt den besten Spielzug von Spieler A

Parameters:
restTiefe - Resttiefe des Spielbaumes
brett - das aktuelle Spielbrett
Returns:
der bestmoegliche Spielzug von Spieler A

ermittleBestenBZug

protected WertSpielzug ermittleBestenBZug(int restTiefe,
                                          WertSpielbrett brett)
ermittelt den besten Spielzug von Spieler B

Parameters:
restTiefe - Resttiefe des Spielbaumes
brett - das aktuelle Spielbrett
Returns:
der bestmoegliche Spielzug von Spieler B

ermittleFolgeZuege

protected Spielzug[] ermittleFolgeZuege(boolean istSpielerA,
                                        Spielbrett brett)
ermittelt alle moeglichen Folgezuege

Parameters:
istSpielerA - true, falls es sich um Spieler A handelt; false sonst
brett - das aktuelle Spielbrett
Returns:
alle moeglichen Folgezuege

getStaerke

public int getStaerke()
liefert die Spielstaerke des Hamsters

Returns:
die Spielstaerke des Hamsters

naechsterSpielzug

public Spielzug naechsterSpielzug()
ermittelt den naechsten Spielzug, fuehrt ihn aus und liefert ihn

Specified by:
naechsterSpielzug in interface Spieler
Overrides:
naechsterSpielzug in class MenschHamster
Returns:
der naechste Spielzug des Spielers