Skip to content

4.4 Übung: Würfelsimulation

Würfelsimulation

Es soll eine Würfelsimulation programmiert werden: Es werden drei Würfel geworfen, die auch graphisch dargestellt werden. In einem ersten Schritt sollen nur die Würfel und das Würfeln implementiert werden. Später werden wir das Projekt erweitern und beispielsweise die folgenden Punkte auswerten:

  • Summe der Augenzahlen
  • Anzahl der Würfel, die eine bestimmte Augenzahl zeigen.
  • Höchstes Ergebnis
  • Wurde eine bestimmte Augenzahl gewürfelt oder nicht?
Wurfelsimulation

Aufgaben

1. UML-Diagramm
Entwirf ein UML-Diagramm für die Klassen Wuerfelsimulation und Wuerfel, indem du entscheidest, welche Attribute und Methoden zu welcher Klasse gehören.

Attribute:
punkte : SGKreis[][]
lw : SGLeinwand
umriss : SGRechteck
wuerfel : Wuerfel[]
augenzahl : int

Methoden:
wuerfleMich()
Wuerfelsimulation()
Wuerfel(pX : int, pY : int)
wuerfleAlleWuerfel()

2. Implementation
Implementiere die beiden Klassen. Beachte dabei den folgenden Hinweis:

Bei punkte handelt es sich um ein zweidimensionales Array. Nutze die folgenden Anweisungen zur Initialisierung und Befüllung des Arrays im Konstruktor der Klasse Wuerfel:

    punkte = new SGKreis[3][3];

for( int i = 0; i < 3; i++ )  {
	for(int j = 0; j < 3; j++) {
		punkte[i][j] = new SGKreis(pX+10+j*50,pY+10+i*50, 15);
		punkte[i][j].setzeFuellung(true);
	}
}
   
            
                    
        
wurfelerstellung

3. Die Methode wuerfleMich
Bei der Methode wuerfleMich der Klasse Wuerfel muss zu Beginn eine Zufallszahl zwischen 1 und 6 in der Variablen augenzahl gespeichert werden. Im Anschluss müssen alle punkte (mit zwei ineinander geschachtelten for-Schleifen) auf nicht sichtbar gesetzt werden. Abhängig von augenzahl müssen nun die passenden punkte wieder auf sichtbar gesetzt werden.

Nutze das nebenstehende Struktogramm, wenn du Hilfe benötigst.