Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class Spiel {
- private List<Spieler> spieler = new ArrayList<Spieler>();
- private List<Karte> stapel = new Stack<Karte>();
- public Spiel(int spielerAnzahl) {
- if (spielerAnzahl < 2 || spielerAnzahl > 5) {
- System.out.println("Falsche Spieleranzahl");
- System.exit(-1);
- }
- for (Farbe farbe : Farbe.values()) {
- for (int zahl = 1; zahl <= 8; zahl++) {
- Karte karte = new Karte(farbe, zahl);
- stapel.add(karte);
- }
- }
- for (int nrspieler = 1; nrspieler <= spielerAnzahl; nrspieler++) {
- Spieler newSpieler = new Spieler(("Spieler " + nrspieler));
- for (int i = 0; i < 5; i++) {
- newSpieler.addKarte(zieheKarte());
- }
- spieler.add(newSpieler);
- }
- spiele();
- }
- public void spiele() {
- Karte anfang = zieheKarte();
- System.out.println("Karten wurden ausgeteilt, als Startkarte liegt: " + anfang.toString());
- outerloop:
- while (true) {
- for (Spieler spieler : spieler) {
- Karte playKarte = spieler.spiele(anfang);
- if (playKarte != null) {
- System.out.println(spieler.toString() + " legt " + playKarte.toString());
- stapel.add(anfang);
- anfang = playKarte;
- } else {
- System.out.println(spieler.toString() + " hat keine passende Karte und muss eine zufällige Karte aus dem Stapel ziehen");
- spieler.addKarte(zieheKarte());
- }
- if (spieler.leereHand()) {
- System.out.println(spieler.toString() + " gewinnt das Spiel!");
- break outerloop;
- }
- }
- }
- }
- public Karte zieheKarte() {
- if (stapel.isEmpty()) {
- return null;
- }
- Collections.shuffle(stapel);
- Karte karte = stapel.remove(0);
- return karte;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement