Class MenschHamster

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

public class MenschHamster
extends AllroundHamster
implements Spieler

Repraesentation einen von einem Menschen gesteuerten Kalah-spielenden Hamster

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  boolean istSpielerA
          true bedeutet, dass es sich um Spieler A handelt; false bedeutet, dass es sich um Spieler A handelt;
protected  Spielregeln regeln
          die zugrunde liegenden Spielregeln
 
Fields inherited from class Hamster
_intern_hamsters, _intern_logPanel, _intern_simulationModel, NORD, OST, SUED, WEST
 
Constructor Summary
MenschHamster()
          initialisiert einen neuen SpielHamster
 
Method Summary
 void begibDichAufAusgangsKachel()
          in Ausgangsposition begeben
protected  void fuehreSpielzugAus(Spielzug zug)
          der uebergebene Spielzug wird im Hamster-Territorium ausgefuehrt
protected  void gotoKalahA()
          nach Kalah A laufen
protected  void gotoKalahB()
          nach Kalah B laufen
protected  void gotoMulde(int muldenNummer)
          laeuft zur angegebenen Mulde
 boolean istSpielerA()
          Ueberpruefung, welcher Spieler es ist
 String liefereSpielerTyp()
          liefert A oder B, je nachdem, welcher Spielertyp es ist
 Spielzug naechsterSpielzug()
          ermittelt den naechsten Spielzug, fuehrt ihn aus und liefert ihn
 void sammleResteUndBringSieZumKalah()
          sammelt uebrig gebliebene Koerner ein und packt sie ins eigene Kalah
 void setzeSpieler(boolean istSpielerA)
          kennzeichnet einen Spieler als Spieler A oder B
 void spielBeenden(boolean istSieger)
          beliebige Aktion, die ein Spieler nach Ende des Spiels durchfuehrt; uebergeben wird die Information, ob der Spieler gewonnen hat; der Hamster frisst zur Belohung alle Koerner seiner Kalah (auch wenn er verloren hat)!
 void teileSpielregelnMit(Spielregeln regeln)
          uebergibt dem Spieler die Spielregeln
protected  void verteileKoerner(int anzahl, int aktuelleMulde)
          verteilt die aufgenommenen Koerner gemaess der Kalah-Spielregeln
 
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
 

Field Detail

istSpielerA

protected boolean istSpielerA
true bedeutet, dass es sich um Spieler A handelt; false bedeutet, dass es sich um Spieler A handelt;


regeln

protected Spielregeln regeln
die zugrunde liegenden Spielregeln

Constructor Detail

MenschHamster

public MenschHamster()
initialisiert einen neuen SpielHamster

Method Detail

begibDichAufAusgangsKachel

public void begibDichAufAusgangsKachel()
in Ausgangsposition begeben

Specified by:
begibDichAufAusgangsKachel in interface Spieler

fuehreSpielzugAus

protected void fuehreSpielzugAus(Spielzug zug)
der uebergebene Spielzug wird im Hamster-Territorium ausgefuehrt

Parameters:
zug - der Spielzug, der ausgefuehrt werden soll

gotoKalahA

protected void gotoKalahA()
nach Kalah A laufen


gotoKalahB

protected void gotoKalahB()
nach Kalah B laufen


gotoMulde

protected void gotoMulde(int muldenNummer)
laeuft zur angegebenen Mulde

Parameters:
muldenNummer - die Nummer der Mulde, zu der zu laufen ist

istSpielerA

public boolean istSpielerA()
Ueberpruefung, welcher Spieler es ist

Specified by:
istSpielerA in interface Spieler
Returns:
true, falls es sich um Spieler A handelt; false sonst

liefereSpielerTyp

public String liefereSpielerTyp()
liefert A oder B, je nachdem, welcher Spielertyp es ist

Specified by:
liefereSpielerTyp in interface Spieler
Returns:
"A", falls es sich um Spieler A handelt, "B" sonst

naechsterSpielzug

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

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

sammleResteUndBringSieZumKalah

public void sammleResteUndBringSieZumKalah()
sammelt uebrig gebliebene Koerner ein und packt sie ins eigene Kalah

Specified by:
sammleResteUndBringSieZumKalah in interface Spieler

setzeSpieler

public void setzeSpieler(boolean istSpielerA)
kennzeichnet einen Spieler als Spieler A oder B

Specified by:
setzeSpieler in interface Spieler
Parameters:
istSpielerA - true, falls es sich um Spieler A handeln soll; false, falls es sich um Spieler B handeln soll

spielBeenden

public void spielBeenden(boolean istSieger)
beliebige Aktion, die ein Spieler nach Ende des Spiels durchfuehrt; uebergeben wird die Information, ob der Spieler gewonnen hat; der Hamster frisst zur Belohung alle Koerner seiner Kalah (auch wenn er verloren hat)!

Specified by:
spielBeenden in interface Spieler
Parameters:
istSieger - true, falls der Spieler gewonnen hat; sonst false

teileSpielregelnMit

public void teileSpielregelnMit(Spielregeln regeln)
uebergibt dem Spieler die Spielregeln

Specified by:
teileSpielregelnMit in interface Spieler
Parameters:
regeln - die gueltigen Spielregeln

verteileKoerner

protected void verteileKoerner(int anzahl,
                               int aktuelleMulde)
verteilt die aufgenommenen Koerner gemaess der Kalah-Spielregeln

Parameters:
anzahl - die Anzahl der aufgenommenen Koerner
aktuelleMulde - die im aktuellen Spielzug genannte Mulde