# Kartenspiel: Karten erstellen



## Xerses (3. Jul 2011)

Hallo allerseits,

ich versuche mich gerade daran das Kartenspiel Phase 10 zu programmieren.
Allerdings weis ich nicht wie ich die Karten in abhängigkeit von ihrer Anzahl erstellen soll.

Im Spiel gibt es insgesamt 108 Karten, davon
-je 2x die Werte 1-12 in 4 Farben 
-4 Karten "Aussetzen"
-8 Karten "Joker"

Ich hab jetzt in meiner Klasse "Card" folgende Typen deklariert, ich weis allerdings nicht, wie ich jetzt 4 Karten "Aussetzen" und 8 Karten "Joker" erstellen soll, gemäß meiner vorläufigen Vorgehensweise.


```
public enum Color {
        RED, GREEN, BLUE, YELLOW, JOKER, EXPOSE;
}

public enum Type {
        ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, ELEVEN, TWELVE, JOKER, EXPOSE;
}
```

Vorgehensweise:

```
private void initCards() {
    cards = new ArrayList(108);
     
    for(int i = 0;i < 2;i++) {
        for(Card.Type type : Card.Type.values()) {
            for(Card.Color color : Card.Color.values()) {
                cards.add(new Card(type, color));
            }
        }
    }
}
```

Wenn ich bei Color und Type Aussetzen und Joker rausnehmen würde, hätte ich schon mal die Karten von 1-12 mit allen 4 Farben, aber wie ich die restlichen 12 da noch hinquetschen soll, bekomm ich nicht hin.


----------



## Landei (3. Jul 2011)

Einfach zwei neue Schleifen dafür machen. [c]for(int i = 0; i < 4; i++) cards.add(aussetzenKarte);[/c] u.s.w.

Übrigens sollte [c]cards[/c] als [c]List<Card>[/c] definiert werden und mit [c]cards = new ArrayList<Card>(108)[/c] initialisiert werden. Spart dsa casten beim Auslesen.


----------



## Xerses (3. Jul 2011)

Das geht dann aber nicht, da ich im 
	
	
	
	





```
public enum Color
```
 bzw. 
	
	
	
	





```
public enum Type
```
 keine Aussetzer und Joker mit dessen Farben definiert habe.
Wenn ich die drin behalte ist meine alte Vorgehensweise hinüber.


----------



## Firephoenix (3. Jul 2011)

Wie landei schon gesagt hat:
einfach eine for-schleife daruntersetzen die die aussetzer etc erzeugt.
Und da deine Karten wohl auf den Farben basieren, warum definierst du nicht einfach noch eine Farbe die nicht angezeigt wird und die Sonderkarten zugewiesen wird?
Gruß


----------



## ARadauer (3. Jul 2011)

definier dir ein array mit RED, GREEN, BLUE, YELLOW und iterier über das...


----------

