Doubt in the exercise of stone, paper and scissors

-1

The exercise is as follows:

Create a jokenpo game.

Each round, the player sees the menu "Choose your move: 1-Paper, 2-Stone, 3-Scissors". The game reads the player option and checks to see if it is valid. If it is invalid, the player loses the round and the game is over. If it is valid, the computer chooses a random response that is shown to the player.

If the player wins, he can play another round and his score increases. The game is over when the player loses a round. The total score is displayed at the end of the game.

Follow my code:

<html>
    <head>
    </head>
    <body>
        <script>

            var opcao=parseInt(prompt("Qual e a opcao  1 - Papel 2 - Pedra 3 - Tesoura"));
            var resposta=Math.floor((Math.random() * 3) + 1);
            var opcaoe+="";
            var verificador=true;

            while(verificador==true){
                if(resposta==1){
                    opcaoe+="a resposta e papel";
                }
                else if(resposta==2){
                    opcaoe+="a resposta e pedra";
                }
                else if(resposta==3){
                    opcaoe+="a resposta e tesoura";
                }

                if(opcao===resposta){
                    alert("a resposta e invalida"+opcaoe+".");
                    return verificador=false;
                }else if(opcao==1 && resposta==2){
                    alert("a resposta e valida"+opcaoe+".");
                    return verificador=true;
                }else if(opcao==2 && resposta==1){
                    alert("a resposta e invalida"+opcaoe+".");
                    return verificador=false;
                }else if(opcao==3 && resposta==1){
                    alert("a resposta e valida"+opcaoe+".");
                    return verificador=true;
                }else if(opcao==3 && resposta==2){
                    alert("a resposta e invalida"+opcaoe+".");
                    return verificador=false;
                }else if(opcao==2 && resposta==3){
                    alert("a resposta e valida"+opcaoe+".");
                    return verificador=true;
                }}else if(opcao==1 && resposta==3){
                    alert("a resposta e invalida"+opcaoe+".");
                    return verificador=false;
                }
            }
        </script>
    </body>
</html>

Question: Code does not work.

    
asked by anonymous 05.10.2017 / 17:01

1 answer

1

The structure of your code is all wrong. These returns do not exist and this while loop is unnecessary and complicated to work in this case.

The best thing would be to do this with a function, which is much easier to work with:

function inicia(){
    var opcao=parseInt(prompt("Qual e a opcao  1 - Papel 2 - Pedra 3 - Tesoura"));
    var resposta=Math.floor((Math.random() * 3) + 1);
    var opcaoe = "";
    var verificador=true;

    if(resposta==1){
        opcaoe+="a resposta e papel";
    }
    else if(resposta==2){
        opcaoe+="a resposta e pedra";
    }
    else if(resposta==3){
        opcaoe+="a resposta e tesoura";
    }

    if(opcao===resposta){
        alert("a resposta e invalida"+opcaoe+".");
    }else if(opcao==1 && resposta==2){
        alert("a resposta e valida"+opcaoe+".");
        inicia();
    }else if(opcao==2 && resposta==1){
        alert("a resposta e invalida"+opcaoe+".");
    }else if(opcao==3 && resposta==1){
        alert("a resposta e valida"+opcaoe+".");
        inicia();
    }else if(opcao==3 && resposta==2){
        alert("a resposta e invalida"+opcaoe+".");
    }else if(opcao==2 && resposta==3){
        alert("a resposta e valida"+opcaoe+".");
        inicia();
    }else if(opcao==1 && resposta==3){
        alert("a resposta e invalida"+opcaoe+".");
    }
}

inicia();

function inicia(){
	var opcao=parseInt(prompt("Qual e a opcao  1 - Papel 2 - Pedra 3 - Tesoura"));
	var resposta=Math.floor((Math.random() * 3) + 1);
	var opcaoe = "";
	var verificador=true;

	if(resposta==1){
		opcaoe+="a resposta e papel";
	}
	else if(resposta==2){
		opcaoe+="a resposta e pedra";
	}
	else if(resposta==3){
		opcaoe+="a resposta e tesoura";
	}

	if(opcao===resposta){
		alert("a resposta e invalida"+opcaoe+".");
	}else if(opcao==1 && resposta==2){
		alert("a resposta e valida"+opcaoe+".");
		inicia();
	}else if(opcao==2 && resposta==1){
		alert("a resposta e invalida"+opcaoe+".");
	}else if(opcao==3 && resposta==1){
		alert("a resposta e valida"+opcaoe+".");
		inicia();
	}else if(opcao==3 && resposta==2){
		alert("a resposta e invalida"+opcaoe+".");
	}else if(opcao==2 && resposta==3){
		alert("a resposta e valida"+opcaoe+".");
		inicia();
	}else if(opcao==1 && resposta==3){
		alert("a resposta e invalida"+opcaoe+".");
	}
}

inicia();
    
05.10.2017 / 18:51