# Kartenhand
Date: 2012-12-22

## Class Kartenhand

- java.lang.Object
- - Kartenhand

    public class Kartenhand
    extends java.lang.Object

Speichert eine Reihe von Spielkarten für BlackJack. Damit kann sowohl die Hand eines Spielers als auch des Dealers abgespeichert werden. Es ist möglich, den Wert der Kartenhand zu ermitteln und festzustellen, ob es sich um eine Triple-7 handelt.

Version:
  1.0 vom 27.06.2012
Author:
  Thomas Schaller

### Constructor Summary

Constructors
Constructor and Description
`Kartenhand()`

### Method Summary

Methods
`void` `add(Karte k)` Fügt der Hand eine Karte hinzu.
`void` `erzeugeKartenblatt()` Erzeugt einen gemischten Kartenstapel mit 6 Kartenblättern a 52 Karten.
`int` `getAnzahl()` Liefert die Anzahl der Karten auf der Hand.
`Karte` `getKarte(int nr)` Liefert eine Karte aus der Kartenhand.
`int` `getSumme()` Liefert die Summe der Kartenwerte.
`boolean` `isBlackJack()` Testet, ob die Kartenhand ein Blackjack ist
`boolean` `isTripleSeven()` Testet, ob die Kartenhand eine Triple-7 ist
`Karte` `remove()` Entfernt die oberste Karte von der Kartenhand.
`java.lang.String` `toString()` Die Kartenhand wird als String zurückgegeben.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### Kartenhand

    public Kartenhand()

### Method Detail

#### erzeugeKartenblatt

    public void erzeugeKartenblatt()

Erzeugt einen gemischten Kartenstapel mit 6 Kartenblättern a 52 Karten.

#### add

    public void add(Karte k)

Fügt der Hand eine Karte hinzu. Es sind maximal 10 Karten möglich.

Parameters:
  `k` - Die Karte, die der Hand hinzugefügt werden soll

#### remove

    public Karte remove()

Entfernt die oberste Karte von der Kartenhand.

Returns:
  Referenz auf die oberste Karte

#### getAnzahl

    public int getAnzahl()

Liefert die Anzahl der Karten auf der Hand.

Returns:
  Anzahl der Karten

#### getSumme

    public int getSumme()

Liefert die Summe der Kartenwerte. Dabei werden die Asse so gewertet, dass es für den Spieler optimal ist, d.h. sie werden als 11 gewertet, solange die 21 nicht überschritten ist.

Returns:
  Summe der Kartenwerte

#### getKarte

    public Karte getKarte(int nr)

Liefert eine Karte aus der Kartenhand. Der Benutzer ist dafür verantwortlich, nur Karten abzufragen, die es auch gibt.

Parameters:
  `nr` - Nummer der Karte, die geliefert werden soll
Returns:
  Referenz auf Karte

#### isBlackJack

    public boolean isBlackJack()

Testet, ob die Kartenhand ein Blackjack ist

Returns:
  true, falls es sich um einen Blackjack handelt, sonst false

#### isTripleSeven

    public boolean isTripleSeven()

Testet, ob die Kartenhand eine Triple-7 ist

Returns:
  true, falls die Kartenhand genau 3x Siebener enthält, sonst false

#### toString

    public java.lang.String toString()

Die Kartenhand wird als String zurückgegeben. Das ist zum Testen der Klassen hilfreich.

Overrides:
  `toString` in class `java.lang.Object`
Returns:
  Die Beschreibungen der Karten durch Kommas getrennt.