Zahlenraten mit Guthabenkonto

Diskutiere Zahlenraten mit Guthabenkonto im Java Basics - Anfänger-Themen Bereich.
A

aramo.g

Hallo Leute,
ich befinde am Anfang meiner Ausbildung zum Fachinformatiker für Anwendungsentwicklung und bin gerade dabei ein Zahlen raten Spiel zu programmieren.
Ich habe folgendes Problem:
Wenn der User seinen Einsatz tätigt, wird es erst vom Guthaben abgezogen, aber verschwindet dann wenn man nicht richtig geraten hat, sodass das Guthaben niemals leer gehen kann. Kann mir bitte jemand verraten, wie das aktuelle Guthaben auch immer aktuell gehalten wird?
Unten mein aktuelles Skript:

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Scanner input2 = new Scanner(System.in);


int zahl;
int zufall = (int)(Math.random() * 10 + 1);
boolean wert;
int zähler=0;
int einsatz;

while(wert=true) {
int konto=500;
int aktuell;
System.out.println("Wieviel EURO möchten Sie setzen?");
einsatz = input2.nextInt();
aktuell= konto-einsatz;
System.out.println("Guthaben: "+aktuell+"€");


System.out.print("Gebe eine zahl zwischen 1-10 ein: ");
zahl = input.nextInt();
zähler++;


if (zahl <= 0 || zahl > 10) {
System.out.println("");
System.out.println("Ungültige Eingabe");

}

else if(zahl>zufall){
System.out.println("");
System.out.println("Die gesuchte Zahl ist kleiner");

}else if(zahl<zufall){
System.out.println("");
System.out.println("Die gesuchte Zahl ist größer");

}
else if(zahl == zufall){
wert=true;
int neuerKontostand= aktuell+(einsatz*2);
System.out.println("Du hast die richtige Zahl in "+ zähler + " Versuchen erraten! Gratulation!!!");
System.out.println("Ihr neuer Kontostand beträgt " + neuerKontostand + "€");
break;
}
}
}
 
J

Javinner

Benutze Code-Tags für Code.

Weil du, wenn ich es richtig sehe, dein Konto innerhalb der while-Schleife immer wieder aufs Neue auf 500 setzt.
Es wäre besser, wenn du all die Variablen außerhalb der Schleife platzierst.
 
A

aramo.g

Benutze Code-Tags für Code.

Weil du, wenn ich es richtig sehe, dein Konto innerhalb der while-Schleife immer wieder aufs Neue auf 500 setzt.
Es wäre besser, wenn du all die Variablen außerhalb der Schleife platzierst.
So hatte ich es schon probiert. Klappt leider nicht.
 
J

Javinner

guthaben : 500;
spiel : false
solange : !spiel
geheimeZahl : Math
deineZahl = Scanner
deineZahl == geheimeZahl ? guthaben plus : guthaben minus;
spiel : Scanner (beenden?)
 
VfL_Freak

VfL_Freak

A

abc66

Habe es schnell einmal umgeschrieben (so wie ich's sinnvoll finde):
Java:
	public static class Spiel1 {
		@SuppressWarnings("resource")
		int naechsteZahl(String nachricht) {
			System.out.println(nachricht + ": ");
			return new Scanner(System.in).nextInt();
		}

		void spiele() {
			int zufall = (int) (Math.random() * 10) + 1;
			boolean wert = true;
			int zähler = 0;

			int konto = 500;

			while (wert == true) {

				int einsatz = naechsteZahl("Wieviel EURO möchten Sie setzen?");
				if (einsatz <= 0 || einsatz > konto) {
					System.out.println("Ungültige Eingabe");
					continue;
				}

				konto = konto - einsatz;
				System.out.println("Guthaben: " + konto + "€");

				int zahl = naechsteZahl("Gebe eine zahl zwischen 1-10 ein");
				zähler++;

				if (zahl <= 0 || zahl > 10) {
					System.out.println("Ungültige Eingabe");
					continue;
				}

				if (zahl > zufall) {
					System.out.println("Die gesuchte Zahl ist kleiner");

				} else if (zahl < zufall) {
					System.out.println("Die gesuchte Zahl ist größer");

				} else if (zahl == zufall) {
					wert = false;
					int neuerKontostand = konto + (einsatz * 2);
					System.out.println("Du hast die richtige Zahl in " + zähler + " Versuchen erraten! Gratulation!!!");
					System.out.println("Ihr neuer Kontostand beträgt " + neuerKontostand + "€");
				}
			}
		}
	}

	public static void main(String[] args) {
		new Spiel1().spiele();
	}
 
Thema: 

Zahlenraten mit Guthabenkonto

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben