Schere Stein Papier in Javascript. Wo ist mein Fehler?
Ich habe versucht in Javascript Schere Stein Papier zu programmieren. Das Problem ist, dass es jedes Mal erst 3 zu 3 stehen muss, damit man gewonnen hat. Irgendwie kommt man sonst nicht aus der Schleife raus. Weiß jemand wo das Problem liegt?
Schon mal Danke im Voraus.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> Schere Stein Papier </title>
</head>
<body>
<script>
var symbolSpieler;
var symbolComputer;
var anzahlRunden = 0;
var gewinneComputer= 0;
var gewinneSpieler = 0;
var gewinnBedinung = 3;
var wahlSpieler;
var ausgedachteZahl;
do{
ausgedachteZahl= Math.random() *3;
ausgedachteZahl = Math.round(ausgedachteZahl + 0.5);
if ( ausgedachteZahl==1) {symbolComputer= "Schere"};
if (ausgedachteZahl==2){symbolComputer ="Stein"};
if (ausgedachteZahl==3){symbolComputer= "Papier"};
wahlSpieler=prompt("Gib deine Wahl ein", "Schere ist 1, Stein ist 2, Papier ist 3");
if(wahlSpieler==1){symbolSpieler= "Schere"};
if(wahlSpieler==2){symbolSpieler ="Stein"};
if(wahlSpieler==3){symbolSpieler= "Papier"};
if(symbolSpieler==symbolComputer){ alert("Unentschieden");}
if (symbolComputer== "Schere" && symbolSpieler== "Stein"){gewinneSpieler++;
alert("Du gewinnst gegen Schere");}
if(symbolComputer=="Schere" && symbolSpieler=="Papier") {gewinneComputer++;
alert("Computer gewinnt mit Schere");}
if(symbolComputer=="Stein" && symbolSpieler=="Schere"){
gewinneComputer++;
alert("Computer gewinnt mit Stein");
}
if(symbolComputer=="Stein" && symbolSpieler=="Papier"){
gewinneSpieler++;
alert("Du gewinnst gegen Stein");
}
if (symbolComputer=="Papier" && symbolSpieler=="Schere") {
symbolSpieler++;
alert("Du gewinnst gegen Papier");
}
if (symbolComputer=="Papier" && symbolSpieler=="Stein") {
gewinneComputer++;
alert("Computer gewinnt mit Papier");
}
anzahlRunden++;
} while (gewinneSpieler<3 && gewinneComputer<3)
if (gewinneSpieler=3) {alert("Du hast das Spiel gewonnen");}
if(gewinneComputer=3){alert("Schade, du hast das Spiel verloren :(");}
alert(gewinneSpieler + " zu "+ gewinneComputer);
</script>
</body>
</html>
1 Antwort
if (symbolComputer=="Papier" && symbolSpieler=="Schere") {
symbolSpieler++;
alert("Du gewinnst gegen Papier");
}
du setzt hier versehentlich das Symbol einen hoch und nicht die Spieler-Gewinne. Ich weiß aber nicht ob das das Problem löst.
Vielen Dank für die Antwort, jedoch hat es leider nicht geholfen. Ich habe aber meinen Code einfach nochmal eingetippt und irgendwie ging es dann :)