JavaScript Рок Бумажные ножницы

1

Для задачи, связанной с некоторой работой uni, я должен сделать игру Rock, Paper, Scissors с помощью JavaScript. Мы должны сделать это на основе переменных, и он должен использовать цикл while.

Игра должна заканчиваться, когда либо компьютер, либо пользователь выиграли три игры. После запуска я обнаружил ошибку в строке 48 и не знаю, как ее исправить, и я не уверен, как правильно реализовать цикл. Помощь была бы оценена.

var cpuWins = 0;
var userWins = 0;
var totalWins=0;

while(totalWins!=5){

    var userChoice = parseInt(prompt("Enter 1 for Rock, 2 for Paper, 3 for Scissors"));
    var cpuNumber = Math.random();
    
    if (cpuNumber <= (1/3)){
       cpuChoice = "Rock";
    }
    else if (cpuNumber  <=(2/3)){
       cpuChoice = "Paper";
    }
    else{
       cpuChoice= "Scissors";
    }




    if (userChoice===1){
        if (cpuChoice==="Scissors"){
            userWins++;
        }
        else if(cpuChoice==="Paper"){
            cpuWins++;
        }
        else{
            alert("It was a tie");
        }
    }


    if else(userChoice===2){
        if (cpuChoice==="Rock"){
            userWins++;
        }
        else if{
            cpuWins++;
        }
        else{
            alert("It was a tie");
        }
    }

    else{
        if (cpuChoice==="Paper"){
            userWins++;
        }
        else if(cpuChoice==="Rock"){
            cpuWins++;
        }
        else{
            alert("It was a tie");
        }
    }

    totalWins++
}
  • 0
    Это else if не if else .
  • 0
    также else if{ cpuWins++; } отсутствует условие после if и перед {
Теги:
while-loop
token

2 ответа

0
Лучший ответ

У вас были синтаксические ошибки:

else if{

было неправильным, вам нужно указать критерии там

if else

неверно, правильный порядок

else if

Я только исправил ошибки синтаксиса, логика должна быть понята вами

var cpuWins = 0;
var userWins = 0;
var totalWins=0;

while(totalWins!=5){

    var userChoice = parseInt(prompt("Enter 1 for Rock, 2 for Paper, 3 for Scissors"));
    var cpuNumber = Math.random();

    if (cpuNumber <= (1/3)){
       cpuChoice = "Rock";
    }
    else if (cpuNumber  <=(2/3)){
       cpuChoice = "Paper";
    }
    else{
       cpuChoice= "Scissors";
    }




    if (userChoice===1){
        if (cpuChoice==="Scissors"){
            userWins++;
        }
        else if(cpuChoice==="Paper"){
            cpuWins++;
        }
        else{
            alert("It was a tie");
        }
    }


    else if(userChoice===2){
        if (cpuChoice==="Rock"){
            userWins++;
        }
        else if (cpuChoice ==="Scrissors"){
            cpuWins++;
        }
        else{
            alert("It was a tie");
        }
    }

    else{
        if (cpuChoice==="Paper"){
            userWins++;
        }
        else if(cpuChoice==="Rock"){
            cpuWins++;
        }
        else{
            alert("It was a tie");
        }
    }

    totalWins++
}
0

Как уже упоминалось, было только несколько небольших синтаксических ошибок с вашими инструкциями else if. См. Фрагмент ниже:

var cpuWins = 0;
var userWins = 0;
var totalWins=0;

while(totalWins!=5){

    var userChoice = parseInt(prompt("Enter 1 for Rock, 2 for Paper, 3 for Scissors"));
    var cpuNumber = Math.random();
    
    if (cpuNumber <= (1/3)){
       cpuChoice = "Rock";
    }
    else if (cpuNumber  <=(2/3)){
       cpuChoice = "Paper";
    }
    else{
       cpuChoice= "Scissors";
    }




    if (userChoice===1){
        if (cpuChoice==="Scissors"){
            userWins++;
        }
        else if(cpuChoice==="Paper"){
            cpuWins++;
        }
        else{
            alert("It was a tie");
        }
    }


    else if (userChoice===2){
        if (cpuChoice==="Rock"){
            userWins++;
        }
        else if(cpuChoice==="Scissors"){
            cpuWins++;
        }
        else{
            alert("It was a tie");
        }
    }

    else {
        if (cpuChoice==="Paper"){
            userWins++;
        }
        else if (cpuChoice==="Rock"){
            cpuWins++;
        }
        else{
            alert("It was a tie");
        }
    }

    totalWins++
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню