de.torfu.kabayellow.common
Class Player

java.lang.Object
  |
  +--de.torfu.kabayellow.common.Player

public class Player
extends java.lang.Object

Repräsentiert den Spieler. Aus einem Objekt dieser Klasse können alle Informationen über den Spieler gelesen werden.


Field Summary
static java.lang.String NAME_FOR_UNKNOWN
           
 
Method Summary
 int calculateScore()
           
 int calculateScoreWithoutKing()
           
 boolean canPlayCard(ActionCard card)
          Methode zum überprüfen ob eine Karte nicht neu ist und somit ausgespielt werden darf
 int getActionPoints()
          Gibt die Anzahl der noch vorhandenen Aktionspunkte zurück.
 int getActiveKnightCount()
          Gibt die Zahl der bereits eingesetzten Ritter zurück.
 int getAge()
          Gibt das Alter des Spielers zurück.
 int getAnyStoneStackIndex()
          Gibt den Index des StoneStacks zurück, von dem ein Stein genommen wird, wenn eine ActionCardStoneUnderKnight ausgespielt wird.
 ActionCard getCard(int c)
          Gibt eine Aktionskarte des Spielers zurück.
 CardCollection getCardCollection()
           
 int getCardCount()
          Gibt die Anzahl der Aktionskarten des Spielers zurück.
 int getCardCountByType(int cardType)
          Gibt zurück, wie viele Karten der Spieler von einem bestimmten Typ (0-9) hat.
 ActionCard getCardOfType(int cardType)
          Gibt ein ActionCard-Objekt des gewünschten Typs zurück, falls der Spieler eins hat.
 ActionCard[] getCards()
          Gibt die Aktionskarten des Spielers zurück.
 int getCardsBought()
          Gibt die in dieser Runde vom Spieler gekauften Aktionskarten zurück.
 int getID()
          Gibt die ID (im Spiel ist es die Farbe der Ritter) des Spielers zurück.
 Knight getInactiveKnight()
          Gibt den ersten gefundenen nicht eingesetzten Ritter zurück.
 int getInactiveKnightCount()
          Gibt die Anzahl der noch nicht eingesetzten Ritter zurück.
 Knight getKnight(int i)
          Gibt einen Ritter des Spielers zurück.
 java.lang.String getName()
          Gibt den Namen des Spielers zurück.
 ActionCard getNewestCard()
          Gibt die als letztes gekaufte Aktionskarte zurück
 int getScore()
          Gibt die Anzahl der erreichten WertePunkte zurück.
 int getStoneStack(int index)
          Gibt die Anzahl der Steine auf einem bestimmten Vorratsturm zurück.
 int getStonesThisPhase()
          Gibt die Anzahl der für den Spieler in dieser Phase noch vorhandenen Bausteine zurück.
 int getStonesThisRound()
          Gibt die Anzahl der für den Spieler in dieser Runde noch vorhandenen Bausteine zurück.
 boolean hasCard(ActionCard card)
          Prüft, ob der Spieler eine bestimmte ActionCard (identifiziert über Typ und Farbe) hat
 boolean hasCardOfType(int cardType)
          Methode zum überprüfen ob der Spieler eine Aktionkarte eines bestimmten Typs hat
 boolean hasOwnKnightOnCell(java.awt.Point point)
           
 boolean hasPlayedCard()
          Gibt zurück, ob in dieser Runde schon eine Aktionskarte vom Spieler ausgespielt wurde.
 void setTestActionPoints(int points)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NAME_FOR_UNKNOWN

public static final java.lang.String NAME_FOR_UNKNOWN
See Also:
Constant Field Values
Method Detail

getKnight

public Knight getKnight(int i)
Gibt einen Ritter des Spielers zurück.

Parameters:
i - Index des Ritters. Bei einem ungültigem Index (i<0, oder i>=6) wird ein NullPointer zurückgegeben.
Returns:
Den durch den Index i spezifizierten Ritter

getInactiveKnight

public Knight getInactiveKnight()
Gibt den ersten gefundenen nicht eingesetzten Ritter zurück.

Returns:
Ein noch nicht eingesetzter Ritter, sind schon alle Ritter eingesetzt, wird ein NullPointer zurückgegeben.

getInactiveKnightCount

public int getInactiveKnightCount()
Gibt die Anzahl der noch nicht eingesetzten Ritter zurück.

Returns:
Anzahl der noch nicht eingesetzten Ritter

getActiveKnightCount

public int getActiveKnightCount()
Gibt die Zahl der bereits eingesetzten Ritter zurück.

Returns:
Anzahl der schon eingesetzten Ritter

hasOwnKnightOnCell

public boolean hasOwnKnightOnCell(java.awt.Point point)

getActionPoints

public int getActionPoints()
Gibt die Anzahl der noch vorhandenen Aktionspunkte zurück.

Returns:
Anzahl der noch vorhandenen Aktionspunkte

getScore

public int getScore()
Gibt die Anzahl der erreichten WertePunkte zurück.

Returns:
Anzahl der WertePunkte

getAge

public int getAge()
Gibt das Alter des Spielers zurück.

Returns:
Alter des Spielers

getName

public java.lang.String getName()
Gibt den Namen des Spielers zurück.

Returns:
Name des Spielers

getID

public int getID()
Gibt die ID (im Spiel ist es die Farbe der Ritter) des Spielers zurück.

Returns:
ID des Spielers

getCardCollection

public CardCollection getCardCollection()

getStonesThisRound

public int getStonesThisRound()
Gibt die Anzahl der für den Spieler in dieser Runde noch vorhandenen Bausteine zurück. Zu Beginn der Runde sind es 2 oder 3, je nachdem wieviele letzte Runde ausgegeben wurden.

Returns:
Anzahl der in dieser Runde noch vorhandenen Bausteine

getStonesThisPhase

public int getStonesThisPhase()
Gibt die Anzahl der für den Spieler in dieser Phase noch vorhandenen Bausteine zurück. Zu Beginn der Phase sind es 6, 8 oder 12, je nach Spielerzahl.

Returns:
Anzahl der in dieser Phase noch vorhandenen Bausteine

getStoneStack

public int getStoneStack(int index)
Gibt die Anzahl der Steine auf einem bestimmten Vorratsturm zurück.

Parameters:
index - Nummer des gewünschten Turmes. 1 für den Turm aus Runde 1, 2 für den Turm aus Runde 2 usw.

getAnyStoneStackIndex

public int getAnyStoneStackIndex()
Gibt den Index des StoneStacks zurück, von dem ein Stein genommen wird, wenn eine ActionCardStoneUnderKnight ausgespielt wird. (Die Regeln für diese Aktion erlauben, dass man den Stein von einem beliebigen Turm nimmt)


getCardCount

public int getCardCount()
Gibt die Anzahl der Aktionskarten des Spielers zurück.

Returns:
Anzahl der Aktionskarten

getCardsBought

public int getCardsBought()
Gibt die in dieser Runde vom Spieler gekauften Aktionskarten zurück.

Returns:
Anzahl der gekauften Aktionskarten

hasPlayedCard

public boolean hasPlayedCard()
Gibt zurück, ob in dieser Runde schon eine Aktionskarte vom Spieler ausgespielt wurde.

Returns:
Aktionskarte ausgespielt?

getCardOfType

public ActionCard getCardOfType(int cardType)
Gibt ein ActionCard-Objekt des gewünschten Typs zurück, falls der Spieler eins hat. Andernfalls null.

Parameters:
cardType - Typ der Karte (0-9)

hasCard

public boolean hasCard(ActionCard card)
Prüft, ob der Spieler eine bestimmte ActionCard (identifiziert über Typ und Farbe) hat

Parameters:
card - Karte die überprüft werden soll

canPlayCard

public boolean canPlayCard(ActionCard card)
Methode zum überprüfen ob eine Karte nicht neu ist und somit ausgespielt werden darf

Throws:
java.lang.RuntimeException - wenn der Spieler die entsprechende Karte nicht hat

getCards

public ActionCard[] getCards()
Gibt die Aktionskarten des Spielers zurück.

Returns:
Ein Array in dem die Aktionskarten gespeichert sind

getCard

public ActionCard getCard(int c)
Gibt eine Aktionskarte des Spielers zurück.

Returns:
Aktionskarte nr c

hasCardOfType

public boolean hasCardOfType(int cardType)
Methode zum überprüfen ob der Spieler eine Aktionkarte eines bestimmten Typs hat

Parameters:
cardType - Typ der Karte (0-9)

getCardCountByType

public int getCardCountByType(int cardType)
Gibt zurück, wie viele Karten der Spieler von einem bestimmten Typ (0-9) hat.


getNewestCard

public ActionCard getNewestCard()
Gibt die als letztes gekaufte Aktionskarte zurück


calculateScore

public int calculateScore()

calculateScoreWithoutKing

public int calculateScoreWithoutKing()

setTestActionPoints

public void setTestActionPoints(int points)