Class Spielbrett

java.lang.Object
  extended by Spielbrett
Direct Known Subclasses:
WertSpielbrett

public class Spielbrett
extends Object

Repraesentation eines Spielbretts beim Kalah-Spiel

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

Field Summary
static int ANZAHL_KOERNER
          Gesamtanzahl an Koernern auf dem Spielbrett
static int ANZAHL_KOERNER_PRO_MULDE
          anfaengliche Anzahl an Koernern pro Mulde
static int ANZAHL_MULDEN
          Anzahl an Mulden (inkl.
static int ANZAHL_MULDEN_PRO_SPIELER
          Anzahl an Mulden pro Spieler (exkl.
static int KALAH_A
          Nummer des Kalahs von Spieler A
static int KALAH_B
          Nummer des Kalahs von Spieler B
protected  int[] mulden
          repraesentiert die Mulden; der gespeicherte Wert gibt jeweils an, wie viele Koerner sich in der Mulde befinden; Spieler A gehoeren die Mulden 0 - 5, Spieler B die Mulden 7 - 12; Kalah A ist Mulde 6, Kalah B ist Mulde 13
 
Constructor Summary
Spielbrett()
          initialisiert das Spielbrett mit dem Anfangszustand: in jeder Mulde ausser den beiden Kalahs liegen ANZAHL_KOERNER_PRO_MULDE Koerner
Spielbrett(Spielbrett brett)
          Copy-Konstruktor; erzeugt eine Kopie des uebergebenen Spielbrettes
 
Method Summary
 boolean equals(Object spielbrett)
          ueberprueft zwei Spielbretter auf Gleichheit
 int fuehreSpielzugAus(boolean istSpielerA, Spielzug zug)
          fuehrt den angegebenen Spielzug des angegebenen Spielers auf dem Spielbrett aus; liefert die Nummer der Mulde, in die das letzte Korn gelegt wurde Voraussetzung: Der Spielzug ist korrekt;
static int gegenueberMulde(int nummer)
          liefert die Nummer der gegenueber liegenden Mulde
 int liefereAnzahlKoerner(int muldenNummer)
          liefert die Anzahl an Koernern der Mulde mit der angegebenen Nummer
 int liefereAnzahlKoernerInKalah(boolean kalahA)
          liefert die Anzahl an Koernern im angegebenen Kalah
 int liefereAnzahlKoernerInKalahA()
          liefert die Anzahl an Koernern in Kalah A
 int liefereAnzahlKoernerInKalahB()
          liefert die Anzahl an Koernern in Kalah B
 int liefereAnzahlKoernerVonSpieler(boolean spielerA)
          liefert die Gesamtanzahl an Koernern in den Mulden des angegebenen Spielers
 int liefereAnzahlKoernerVonSpielerA()
          liefert die Gesamtanzahl an Koernern in den Mulden von Spieler A
 int liefereAnzahlKoernerVonSpielerB()
          liefert die Gesamtanzahl an Koernern in den Mulden von Spieler B
 void spielBeenden()
          packt nach Spielende uebrig gebliebene Koerner ins Kalah des entsprechenden Spielers
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ANZAHL_KOERNER

public static final int ANZAHL_KOERNER
Gesamtanzahl an Koernern auf dem Spielbrett

See Also:
Constant Field Values

ANZAHL_KOERNER_PRO_MULDE

public static final int ANZAHL_KOERNER_PRO_MULDE
anfaengliche Anzahl an Koernern pro Mulde

See Also:
Constant Field Values

ANZAHL_MULDEN

public static final int ANZAHL_MULDEN
Anzahl an Mulden (inkl. Kalahs)

See Also:
Constant Field Values

ANZAHL_MULDEN_PRO_SPIELER

public static final int ANZAHL_MULDEN_PRO_SPIELER
Anzahl an Mulden pro Spieler (exkl. Kalahs)

See Also:
Constant Field Values

KALAH_A

public static final int KALAH_A
Nummer des Kalahs von Spieler A

See Also:
Constant Field Values

KALAH_B

public static final int KALAH_B
Nummer des Kalahs von Spieler B

See Also:
Constant Field Values

mulden

protected int[] mulden
repraesentiert die Mulden; der gespeicherte Wert gibt jeweils an, wie viele Koerner sich in der Mulde befinden; Spieler A gehoeren die Mulden 0 - 5, Spieler B die Mulden 7 - 12; Kalah A ist Mulde 6, Kalah B ist Mulde 13

Constructor Detail

Spielbrett

public Spielbrett()
initialisiert das Spielbrett mit dem Anfangszustand: in jeder Mulde ausser den beiden Kalahs liegen ANZAHL_KOERNER_PRO_MULDE Koerner


Spielbrett

public Spielbrett(Spielbrett brett)
Copy-Konstruktor; erzeugt eine Kopie des uebergebenen Spielbrettes

Parameters:
brett - das zu kopierende Spielbrett
Method Detail

equals

public boolean equals(Object spielbrett)
ueberprueft zwei Spielbretter auf Gleichheit

Overrides:
equals in class Object
Parameters:
spielbrett - das Spielbrett, mit dem verglichen werden soll
See Also:
Object.equals(java.lang.Object)

fuehreSpielzugAus

public int fuehreSpielzugAus(boolean istSpielerA,
                             Spielzug zug)
fuehrt den angegebenen Spielzug des angegebenen Spielers auf dem Spielbrett aus; liefert die Nummer der Mulde, in die das letzte Korn gelegt wurde Voraussetzung: Der Spielzug ist korrekt;

Parameters:
istSpielerA - falls true, ist es ein Spielzug von Spieler A, sonst von Spieler B
zug - der auszufuehrende Spielzug
Returns:
die Nummer der Mulde, in die das letzte Korn gelegt wurde

gegenueberMulde

public static int gegenueberMulde(int nummer)
liefert die Nummer der gegenueber liegenden Mulde

Parameters:
nummer - Nummer der Mulde, deren gegenüber liegende Mulde gesucht wird
Returns:
Nummer der gegenueber liegenden Mulde

liefereAnzahlKoerner

public int liefereAnzahlKoerner(int muldenNummer)
liefert die Anzahl an Koernern der Mulde mit der angegebenen Nummer

Parameters:
muldenNummer - die Nummer der Mulde, deren aktuelle Anzahl an Koernern ermittelt werden soll
Returns:
Anzahl an Koernern in der Mulde mit der angegebenen Nummer

liefereAnzahlKoernerInKalah

public int liefereAnzahlKoernerInKalah(boolean kalahA)
liefert die Anzahl an Koernern im angegebenen Kalah

Parameters:
kalahA - falls true, wird die Anzahl an Koernern in Kalah A geliefert, sonst die Anzahl an Koernern in Kalah B
Returns:
die Anzahl an Koernern im angegebenen Kalah

liefereAnzahlKoernerInKalahA

public int liefereAnzahlKoernerInKalahA()
liefert die Anzahl an Koernern in Kalah A

Returns:
die Anzahl an Koernern in Kalah A

liefereAnzahlKoernerInKalahB

public int liefereAnzahlKoernerInKalahB()
liefert die Anzahl an Koernern in Kalah B

Returns:
die Anzahl an Koernern in Kalah B

liefereAnzahlKoernerVonSpieler

public int liefereAnzahlKoernerVonSpieler(boolean spielerA)
liefert die Gesamtanzahl an Koernern in den Mulden des angegebenen Spielers

Parameters:
spielerA - falls true, wird die Gesamtanzahl an Koernern in den Mulden von Spieler A beechnet, sonst von Spieler B
Returns:
die Gesamtanzahl an Koernern in den Mulden des angegebenen Spielers

liefereAnzahlKoernerVonSpielerA

public int liefereAnzahlKoernerVonSpielerA()
liefert die Gesamtanzahl an Koernern in den Mulden von Spieler A

Returns:
die Gesamtanzahl an Koernern in den Mulden von Spieler A

liefereAnzahlKoernerVonSpielerB

public int liefereAnzahlKoernerVonSpielerB()
liefert die Gesamtanzahl an Koernern in den Mulden von Spieler B

Returns:
die Gesamtanzahl an Koernern in den Mulden von Spieler B

spielBeenden

public void spielBeenden()
packt nach Spielende uebrig gebliebene Koerner ins Kalah des entsprechenden Spielers