Ejemplo n.º 1
0
    public void
        Zug() { // Durchführen des eigentlichen Zuges (Ziehen, reagieren auf +karten Fälle, ...)
      System.out.println("SPIELERIN " + ID + " IST AM ZUG!");
      String gewaehlteKarte = "";
      boolean error;
      int konterID = 0;

      stapel.gebeObersteKarteAus();
      this.kartenAusgeben();

      // überprüfen ob karte gelegt werden darf
      do {
        if (stapel.gebeZiehFlag() == 0) {
          gewaehlteKarte =
              leseEingabe(
                  name
                      + "Bitte eine Karte auswählen (Kartennummer angeben), oder unter dem Zug einer neuen Karte passen! (0 eingeben). \n\tUm \"UNO\" zu rufen ein \"u\" vor die Zahl setzen!");
          error = erkenneEingabe(gewaehlteKarte); // eigentlicher Zug
        } else {
          gewaehlteKarte =
              leseEingabe(
                  name
                      + "Dein Gegner hat eine ziehen-karte gelegt. Du kannst kontern (Kartennummer angeben) oder die karten ziehen (0 eingeben). \n\tUm \"UNO\" zu rufen ein \"u\" vor die Zahl setzen!");
          konterID = kontern(gewaehlteKarte);
          if (konterID == 1) { // Spieler wird nach fehlgeschlagenen Konter gegen +2 übersprungen
            this.kartenAusgeben();
            error = false;
          } else if (konterID == 2) {
            this.kartenAusgeben();
            error = false;
            // der Spieler wird wegen des fehlgeschlagenen konters nicht übersprungen (konter gegen
            // eine +4 fehlgeschlagen)
            gewaehlteKarte =
                leseEingabe(
                    name
                        + "Bitte eine Karte auswählen (Kartennummer angeben), oder unter dem Zug einer neuen Karte passen! (0 eingeben). \n\tUm \"UNO\" zu rufen ein \"u\" vor die Zahl setzen!");
            error = erkenneEingabe(gewaehlteKarte); // eigentlicher Zug
          } else if (konterID == 0) {
            System.out.println(name + "Du hast erfolgreich gekontert!");
            error = false;
          } else {
            error = false;
          }
        }
        if (error) {
          System.out.println(name + "Falsche Eingabe, bitte erneut versuchen!");
        }
      } while (error);
    }