Zur Erklärung, ich wollte ein Programm machen, welches einem Casinospiel ähnelt. Es Funktioniert alles außer ein Problem.. Das boolean Array wird bei jedem Ausführen resettet. Es soll es aber speichern, ich habe ein Beispiel für den Fehler hinzigefügt.
Zum Video, am Anfang soll es so sein, dass bei jedem neuen Ausführen von wuerfeln einmal gewuerfelt wird. Also so wie bei der For-Schleife, nur dass man halt nicht alles auf einmal macht sondern Wurf für Wurf.
Code:
import java.util.Random ;
public class NoRiskNoMoney
{
private boolean spielFertig;
private boolean[] merken;
private int gewinn;
private int wurf;
public noRiskNoMoney (){
merken = new boolean[6];
spielFertig = false;
gewinn=10;
}
public void zahlenFuellen(){
wurf= gibWuerfel();
if (merken[wurf-1]==true){
spielFertig = true;
}
merken[wurf-1]=true;
if(gewinn==10){
gewinn=gewinn*2;
} else{
gewinn=gewinn*3;
}
}
public int gibWuerfel(){
return new Random().nextInt(6)+1;
}
public void anzeige(){
if (merken[0]==true){
System.out.println ("Zahl 1: [X]");
} else{
System.out.println ("Zahl 1: [ ]");
}
if (merken[1]==true){
System.out.println ("Zahl 2: [X]");
} else{
System.out.println ("Zahl 2: [ ]");
}
if (merken[2]==true){
System.out.println ("Zahl 3: [X]");
} else{
System.out.println ("Zahl 3: [ ]");
}
if (merken[3]==true){
System.out.println ("Zahl 4: [X]");
} else{
System.out.println ("Zahl 4: [ ]");
}
if (merken[4]==true){
System.out.println ("Zahl 5: [X]");
} else{
System.out.println ("Zahl 5: [ ]");
}
if (merken[5]==true){
System.out.println ("Zahl 6: [X]");
} else{
System.out.println ("Zahl 6: [ ]");
}
}
public void gewinn(){
if(spielFertig==false){
System.out.println("Du hast im Moment " + gewinn +" Punkte!");
System.out.println("Traust du dich nocheinmal zu wuerfeln?");
if (gewinn==4860){
System.out.println("Respekt! Die Chance für dieses Phänomen ist 0.015%!");
}
}
}
public void laeuftSpiel(){
if(spielFertig==true){
System.out.print("\033[H\033[2J");
System.out.println("Du hast verloren, du hast,"+ wurf +" zweimal gewuerfelt!");
System.exit(1);
}
}
}