zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Nur einer, wie gewöhnlich. Der eine Zufallszahlengenerator wird verwendet, um ein Würfelpaar oder einen elf-seitigen Würfel zu simulieren.

Vollständiges Programm

Hier ist das vollständige Programm. Seine Teile werden kurz erklärt. Sie können, wenn Sie möchten, dieses Programm kopieren, in eine Datei einfügen und damit experimentieren,

import java.util.*;

class WuerfelWahlProgramm
{
  public static void main ( String[] args )
  {
    // Deklarieren und Initialisieren
    final int ENDSTAND = 10;
    Scanner scan = new Scanner( System.in );
    Random rand = new Random();
    int spielerscore = 0, computerscore = 0;
    int spielerwurf, computerwurf;

    // Runden spielen, bis einer der Spieler den ENDSTAND erreicht hat
    while ( spielerscore < ENDSTAND && computerscore < ENDSTAND )
    {
      // Computer wirft
      computerwurf = rand.nextInt(6)+1 + rand.nextInt(6)+1 ;
      System.out.println("Der Computer wirft: " + computerwurf);

      // Spieler wirft
      System.out.print("1 -> 11-seitiger Wuerfel | 2 -> 6-seitiger Wuerfel (1 oder 2)? ");
      String wuerfeltyp = scan.nextLine();

      if ( wuerfeltyp.equals("1") )
      {
        spielerwurf = rand.nextInt(11)+2 ;
        System.out.println("Sie werfen 1 Wuerfel und haben: " + spielerwurf );
      }
      else
      {
        spielerwurf = rand.nextInt(6)+1 + rand.nextInt(6)+1 ;
        System.out.println("Sie werfen 2 Wuerfel und haben: " + spielerwurf );
      }

      // Gewinner der Runde bestimmen und den Score anpassen
      if ( spielerwurf > computerwurf )
      {
        spielerscore = spielerscore + 1;
        System.out.println("Sie haben die Runde gewonnen!");
      }
      else
      {
        computerscore = computerscore + 1;
        System.out.println("Sie haben die Runde verloren!");
      }
      System.out.println("Score: Computer " + computerscore + ", Sie " + spielerscore + "\n");
    }

    // Gewinner des Spiels bestimmen
    System.out.println("Endstand: Computer " + computerscore + ", Sie " + spielerscore);

    if ( computerscore > spielerscore )
      System.out.println("Der Computer hat das Spiel gewonnen!");
    else
      System.out.println("Sie haben das Spiel gewonnen!");

  }
}

Die Abschnitte des Programms entsprechen dem Flußdiagramm.

FRAGE 19:

Wird letztendlich einer der Spieler gewinnen? Oder ist ein Unentschieden möglich?