Hallo zusammen,
für ein Unterrichtsfach arbeite ich mich zur Zeit in JavaScript ein. Ich bin dabei meine ersten Programme zu schreiben und ein solches bringt mich grade zur Verzweiflung. Ich schaffe es nicht, dass die Runden nacheinander ablaufen und dann wieder eine neue Runde beginnt.
Das Programm soll mal ein Spiel werden, in dem man eine Eisbude betreibt. Am Anfang wird das Wetter ausgerechnet, von dem die Besucher abhängig sind, dann kauft mein entsprechend Eis ein und das Eis wird verkauft und der Kontostand berechnet.
Bei meinem Prog. ist es leider so, dass das Wetter einmal berechnet wird und dann direkt mehrfach die Abfrage nach den Einkaufsmengen kommt.
Wäre toll, wenn mir jemand von euch helfen könnte. Ich sitze schon ein paar Tage an dem Problem und komme nicht weiter.
<script>
//benötigte Variablen
var stand_besucher; //200 Besucher, heiß (300%), sonnig (200%), bedeckt (100%), regen (60%)
var wetter; //heiß, sonnig, bedeckt, regen
var eis_preis = 2;
var eis_menge_einkauf;
var umsatz;
var konto = 200;
var i;
//Spielrunden
for (i = 1; i < 3; i++) {
document.write("Tag " +i + "<br>");
//Berechnung Wetter und Standbesucher
var wetter=Math.floor(Math.random() * 4);
switch ( wetter ) {
case 1:
text = 'Wettervorhersage: Packt die Badehose ein. Für Morgen ist heißes Wetter vorhergesagt!';
stand_besucher = 600;
break;
case 2:
text = 'Wettervorhersage: Morgen wird es sonnig!';
stand_besucher = 400;
break;
case 3:
text = 'Wettervorhersage: Morgen wird es bedeckt.';
stand_besucher = 200;
break;
default:
text = 'Wettervorhersage: Packt den Regenschirm ein. Morgen ist mit Starkregen zu rechnen!';
stand_besucher = 160;
break;
}
document.write(text + "<br>");
document.write("Erwartete Besucher " +stand_besucher + "<br>"); //Hilfsfunktion muss später runter XXXXXXXXXXXXXXXxx
document.write("Sie haben " +konto + " Euro zur Verfügung" + "<br>");
eis_menge_einkauf = prompt("Wieviel Eis möchten Sie für den nächsten Tag kaufen?","Eismenge");
while (konto < eis_menge_einkauf) {
alert ("Sie haben nicht genug Geld! Versuchen Sie es noch einmal.");
eis_menge_einkauf = prompt("Wieviel Eis möchten Sie für den nächsten Tag kaufen?","Eismenge");
}
eis_menge_einkauf = parseInt(eis_menge_einkauf);
var konto = konto - eis_menge_einkauf;
//Berechnung Tagesumsatz
if (stand_besucher >= eis_menge_einkauf && eis_menge_einkauf > 0) {
umsatz = eis_menge_einkauf * eis_preis;
document.write("Sie haben heute " +umsatz +" Euro eingenommen." + "<br>");
}
else if (isNaN(eis_menge_einkauf) eis_menge_einkauf < 0) {
umsatz = 0;
document.write("Sie haben heute " +umsatz +" Euro eingenommen." + "<br>");
} else {
umsatz = eis_menge_einkauf * eis_preis;
}
konto = konto + umsatz;
document.write("Ihr neuer Kontostand beträgt " +konto + "<br><br><br>");
}
</script>