Problem with my Stone, Paper and scissors game
I'm having a problem in the function maquina()
, the function is not being able to perform any action, I think the function is not receiving the value of the variable jgdJogador
.
var comecar = false, i = 1;
if (i === 1){
alert('Bem vindo ao Pedra, Papel e Tesoura!')
var decisao = prompt('Aperte 1 para comecar a jogar ');
if(decisao === '1'){
main();
}
}
// Jogadas Maquina
function maquina(jogada){
var jgdMaquina = ['Pedra', 'Papel', 'Tesoura'];
var numero = Math.floor(Math.random() * (3 - 0)) + 0;
if (jgdMaquina[numero] == 0 && jogada == '1') {
alert('maquina jogou pedra');
alert('empate');
}
if (jgdMaquina[numero] == 0 && jogada == '2') {
alert('maquina jogou pedra');
alert('voce ganhou');
}
if (jgdMaquina[numero] == 0 && jogada == '3') {
alert('maquina jogou pedra');
alert('voce perdeu');
}
if (jgdMaquina[numero] == 1 && jogada == '1') {
alert('maquina jogou papel');
alert('voce perdeu');
}
if (jgdMaquina[numero] == 1 && jogada == '2') {
alert('maquina jogou papel');
alert('empate');
}
if (jgdMaquina[numero] == 1 && jogada == '3') {
alert('maquina jogou papel');
alert('voce ganhou');
}
if (jgdMaquina[numero] == 2 && jogada == '1') {
alert('maquina jogou tesoura');
alert('voce ganhou');
}
if (jgdMaquina[numero] == 2 && jogada == '2') {
alert('maquina jogou tesoura');
alert('voce perdeu');
}
if (jgdMaquina[numero] == 2 && jogada == '3') {
alert('maquina jogou tesoura');
alert('empate');
}
}
// Funcao principal
function main (){
alert('Escolha a sua jogada: ');
var jgdJogador = prompt(`
1 - Pedra
2 - Papel
3 - Tesoura
`);
if (jgdJogador == '1' || jgdJogador == '2' || jgdJogador == '3'){
maquina(jgdJogador);
}
}
0
1 answers
The biggest problem is that you created a array without need and are comparing the element of it which is a text with a number, it doesn't make sense, just compare the drawn number with the desired number in that iteration.
There were other unnecessary things that I took out (I did not solve the less important problems that do not prevent normal functioning):
function maquina(jogada) {
var numero = Math.floor(Math.random() * 3);
if (numero == 0 && jogada == '1') {
alert('maquina jogou pedra');
alert('empate');
}
if (numero == 0 && jogada == '2') {
alert('maquina jogou pedra');
alert('voce ganhou');
}
if (numero == 0 && jogada == '3') {
alert('maquina jogou pedra');
alert('voce perdeu');
}
if (numero == 1 && jogada == '1') {
alert('maquina jogou papel');
alert('voce perdeu');
}
if (numero == 1 && jogada == '2') {
alert('maquina jogou papel');
alert('empate');
}
if (numero == 1 && jogada == '3') {
alert('maquina jogou papel');
alert('voce ganhou');
}
if (numero == 2 && jogada == '1') {
alert('maquina jogou tesoura');
alert('voce ganhou');
}
if (numero == 2 && jogada == '2') {
alert('maquina jogou tesoura');
alert('voce perdeu');
}
if (numero == 2 && jogada == '3') {
alert('maquina jogou tesoura');
alert('empate');
}
}
alert('Bem vindo ao Pedra, Papel e Tesoura!')
if (prompt('Aperte 1 para comecar a jogar ') === '1') {
alert('Escolha a sua jogada: ');
var jgdJogador = prompt(`
1 - Pedra
2 - Papel
3 - Tesoura
`);
if (jgdJogador === '1' || jgdJogador === '2' || jgdJogador === '3') maquina(jgdJogador);
}
0
Author: Maniero, 2020-03-30 13:52:13