Würfelspiel, stop bei gleicher Zahl

helloworld14

Mitglied
Hallo,

ich fange bald mit meinem Informatikstudium an und besuche derzeit einen Vorkurs.
Heute hatten wir schleifen und sollen ein Würfelspiel programmieren.

Ich soll so lange Würfeln bis 2x hintereinander die 6 erscheint und dann soll die Schleife aufhören.
Desweiteren sollen alle gewürfelten Zahlen geprinted werden.

Mir ist klar, dass man eine While-Schleife benutzen muss.

Jedoch klappt es mit meinem Code nicht und ich komme nicht so ganz weiter.
Um 2x die Sechs zu bekommen wollte ich zwei Würfel benutzen und sobald die gleich 6 sind soll die Schleife enden. Klappt bei mir jedoch nicht. Hättet ihr Tipps?
Ein Problem müsste ja sein, dass nach der Zeile der while-Schleife kein Befehl kommt, dass er weiter würfelt solange würfel1!=würfel2 ist oder?

Und ich versteh noch nicht ganz wie ich die Schleife beende.
Sorry ist erst meine zweite Stunde mit Java.


Java:
public class Aufgabe35 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("Es wird gewürfelt...");
        int würfel1 = Zufall.zufaelligenIntWertGenerieren(1, 6);
        int würfel2 = Zufall.zufaelligenIntWertGenerieren(1, 6);
        while (würfel1 != würfel2);
        System.out.println(würfel1);
        System.out.println(würfel2);
        if ((würfel1 == würfel2) == 6) {
            System.out.println("Ende");
        }
    }
}
 
Zuletzt bearbeitet von einem Moderator:

Baelact

Mitglied
Hallo,
wenn ich die Aufgabe richtig verstanden habe, ein möglicher Verlauf des Würfelspiels könnte auch die folgende Reihe sein:
1,6,6
Mit zwei Würfeln aber könntest du es niemals erreichen. Also ich würde folgendes vorschlagen:
- nutze nur einen Würfel
- nutze eine Variable dafür, die am letzten Mal gewürfelte Zahl zu speichern
In diesem Fall sollst du:
- die erste Zahl vor der Schleife würfeln und auszudrücken
- dann alle andere Zahle in der Schleife produzieren und auszudrücken
- von der Schleife ausspringen (Kommando: break;) sobald die aktuelle gewürfelte Zahl sowie die gespeicherte vorherige Zahl 6 sind
- ansonsten die Zahl speichern und die Schleife von vorne anfangen

Ich bin nicht sicher, ob
Java:
Zufall.zufaelligenIntWertGenerieren(1, 6)
wirklich funktioniert. Stattdessen könntest du:
Java:
import java.util.Random; //am Anfang des Programs
Random zufall = new Random();
int  w = zufall.nextInt(6) + 1; //wird ein int zwischen 1 und 6 generieren
 

Thallius

Top Contributor
Du must natürlich das Generieren der Zufallszahlen innerhalb der Schleife machen damit du bei jedem Schleifendurchlauf auch neue Werte bekommst. Damit sich die Schleife nur beendet wenn beide Würfel gleich 6 sind brauchst du den logischen ODER Operator ||. Damit kannst du abfragen ob beide Würfel den Wert 6 haben mit

Code:
while(würfel1 != 6 || würfel2 !=6)

Damit läuft die Schleife so lange bis beide Würfel 6 sind. Solltet ihr diesen Operator noch nicht haben oder benutzen dürfen kannst du es auch mit zwei If Abfragen und einem break machen. Das sähe dann so aus:

Code:
while(1==1) // Dies ist erstmal eine Endlosschleife
{
    if(würfel1==6)
    {
        if(würfel2==6)
            break; // Dieses beendet die Schleife.

Benutze nach Möglichkeit keine Umlaute im Quellcode. Das solltest du dir direkt abgewöhnen. Wenn es schon deutsche Variablennamen sein solle, dann bitte wenigstens wuerfel. Noch besser ist es natürlich gleich english zu benutzen. In dem Fall ein cube.

Gruß

Claus
 

Elenteria

Bekanntes Mitglied
Warum eigentlich eine While-Schleife? Warum keine do-while? Die schleife muss ja sowieso mindestens 1x durchlaufen werden.
Code:
int letzteZahl = getZufallszahl();
print(letzteZahl);
do {
    int zahl = getZufallszahl();
    print(zahl);
    boolean zahlenGleich = zahl == letzteZahl;
    if(!zahlenGleich) {
       letzteZahl = zahl;
   }
}while(!zahlenGleich);
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
ehmo würfelspiel programmieren anfänger Java Basics - Anfänger-Themen 1
N Schleife für ein Würfelspiel Java Basics - Anfänger-Themen 10
G Erste Schritte Würfelspiel in Java. Java Basics - Anfänger-Themen 2
C Böse 6 (Würfelspiel) programmieren. Java Basics - Anfänger-Themen 21
Java-DAU Erste Schritte Würfelspiel Java Basics - Anfänger-Themen 6
C Würfelspiel Java Basics - Anfänger-Themen 12
N Würfelspiel Java Basics - Anfänger-Themen 4
P Würfelspiel Java Basics - Anfänger-Themen 8
S kleines Würfelspiel Java Basics - Anfänger-Themen 10
Z Beispiel Würfelspiel mit Verwendung von Feldern Java Basics - Anfänger-Themen 7
J Problem mit einem Würfelspiel Java Basics - Anfänger-Themen 2
T Erste Schritte Schleifen-Stop Java Basics - Anfänger-Themen 14
lumo Threads stop it! Java Basics - Anfänger-Themen 5
S Thread stoppen ohne stop()? Java Basics - Anfänger-Themen 13
0din Multithreading und stop Java Basics - Anfänger-Themen 5
N Muss ein thread aktive mit stop beendet werden? Java Basics - Anfänger-Themen 18
K Midi stoppt trotz stop button nicht Java Basics - Anfänger-Themen 3
U stop() vs. interrupt() Java Basics - Anfänger-Themen 17
T Thread.stop() Java Basics - Anfänger-Themen 3
R Größter zusammenhängender Block gleicher Zeichen im String Java Basics - Anfänger-Themen 1
K Java gleicher Wert von Zahlen? Java Basics - Anfänger-Themen 5
B bei 2 Arrays Anzahl gleicher Elemente vergleichen? Java Basics - Anfänger-Themen 49
E JPanels auf gleicher Höhe (Y-Achse) in einem FlowLayout platzieren Java Basics - Anfänger-Themen 7
M In gleicher zeile hinter ausgabe noch etwas ausgeben Java Basics - Anfänger-Themen 1
L Best Practice Code Refactoring für Methoden mit fast gleicher Aufbau Java Basics - Anfänger-Themen 6
E gleicher Name in der Basisklasse und in der Subklasse Java Basics - Anfänger-Themen 45
L Zwei sortierte Subarrays mit gleicher Länge zusammenfügen Java Basics - Anfänger-Themen 2
J Unterschiedliche Ordnerstrukturen trotz gleicher Entwicklungsumgebungen Java Basics - Anfänger-Themen 3
K Anzahl gleicher Elemente in Array Java Basics - Anfänger-Themen 32
B Gleicher Prozess starten und stoppen (Problem beim Stoppen) Java Basics - Anfänger-Themen 5
B Klassen HashMap Zwei Objekte, gleicher Key Java Basics - Anfänger-Themen 4
N Compiler findet array in gleicher methode nicht Java Basics - Anfänger-Themen 4
D Ermitteln der Anzahl gleicher Nachkommastellen 2er Zahlen Java Basics - Anfänger-Themen 9
? Algo gleicher Buchstabe in 2 Wörtern suchen Java Basics - Anfänger-Themen 16
A Klasse importieren wenn 2 mal gleicher Name Java Basics - Anfänger-Themen 2
I Array und variable gleicher wert, wird jedoch nicht erkannt Java Basics - Anfänger-Themen 4
R Anzahl gleicher Elemente in ArrayList Java Basics - Anfänger-Themen 5
G Gleicher Klassenname in API Java Basics - Anfänger-Themen 2
G in Verzeichnis auf gleicher Ebene wechseln Java Basics - Anfänger-Themen 4
G Abstrakte Methode in gleicher Klasse aufrufen Java Basics - Anfänger-Themen 5
V mehrere Instanzen gleicher Name möglich? Java Basics - Anfänger-Themen 3
G XML nächstes Child element (gleicher name) Java Basics - Anfänger-Themen 5
J Jedes Element in 2 Arrays mit gleicher Position addieren Java Basics - Anfänger-Themen 12
X trotz gleicher variablen nicht equal Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben