Member 12860021 Ответов: 2

Преобразовать числа в строку, чтобы компьютер мог их сравнить?


CSS


body {
   background-color: #90C9C0;
}

h1 {
   font-family: Cambria, sans-serif;
   font-size: 45px;
   color: #FFFFFF;
}

button {
   background-color: #FFFFFF;
   padding: 10px 25px;
}

input[type=text] {
   -webkit-transition: width 20.4s ease-in-out;
   transition: width 20.0s ease-in-out;
   padding: 12px 20px;
   margin: 8px 0;
}

input[type=text]:focus {
   width: 40%;
}


HTML

<html>
   <body>

   <div style="width: 1333px; height: 62px; background-color: #263035">
      <center>
         <h1>Rock, Paper, or Scissors?</h1></center>
   </div>

   <center>
      

      <br>

      <input type="text" placeholder="Make your choice...">

      <br>

      <button id="user" onclick="Game();"> Good Luck! </button>
   
        </center>

   </body>
</html>


язык JavaScript

   var rock = 1;
   var paper = 2;
   var scissors = 3;
   var spock = 4;
   var lizard = 5;

   var ComputerChoice = Math.floor(Math.random() * 5 + 1);
   var UserChoice = document.getElementById("user").value;


function Game() {
   
   if (ComputerChoice == 1) {
      ComputerChoice = "rock";
   }
   if (ComputerChoice == 2) {
      ComputerChoice = "paper";
   }
   if (ComputerChoice == 3) {
      ComputerChoice = "scissors";
   }
   
      if (UserChoice == 1) {
      UserChoice = "rock";
   }
   if (UserChoice == 2) {
      UserChoice = "paper";
   }
   if (UserChoice == 3) {
      UserChoice = "scissors";
   }  
   

  if (UserChoice == "1" && ComputerChoice == "1") {
      document.getElementById("user").innerHTML = "<h2>Hmm, we have a tie! I chose </h2>" + ComputerChoice + " <h2>too.</h2>";
   }

      else if 
         (UserChoice == "1" && ComputerChoice == "2") {
         document.getElementById("user").innerHTML = "<h2>You lost! The computer chose</h2>" + ComputerChoice;
      }
            else if 
         (UserChoice == "1" && ComputerChoice == "3") {
         document.getElementById("user").innerHTML = "<h2>You won! The computer chose</h2>" + ComputerChoice;
      }
               else if 
         (UserChoice == "2" && ComputerChoice == "2") {
         document.getElementById("user").innerHTML = "<h2>Hmm, we have a tie! I chose </h2>" + ComputerChoice + " <h2>too.</h2>";
      }
                  else if 
         (UserChoice == "2" && ComputerChoice == "1") {
         document.getElementById("user").innerHTML = "<h2>You won! The computer chose</h2>" + ComputerChoice;
      }
                        else if 
         (UserChoice == "2" && ComputerChoice == "3") {
         document.getElementById("user").innerHTML = "<h2>You lost! The computer chose</h2>" + ComputerChoice;
      }
                              else if 
         (UserChoice == "3" && ComputerChoice == "1") {
         document.getElementById("user").innerHTML = "<h2>You lost! The computer chose</h2>" + ComputerChoice;
      }
                                    else if 
         (UserChoice == "3" && ComputerChoice == "2") {
         document.getElementById("user").innerHTML = "<h2>You won! The computer chose</h2>" + ComputerChoice;
      }
                                      else if 
         (UserChoice == "3" && ComputerChoice == "3") {
         document.getElementById("user").innerHTML = "<h2>Hmm, we have a tie! I chose </h2>" + ComputerChoice + " <h2>too.</h2>";
      } 
                                         else{
      document.getElementById("user").innerHTML = "<h2> I have no idea what you typed... try using words. </h2>";
      }

}


Что я уже пробовал:

Я попытался переименовать свои переменные в числа, а затем наоборот. Единственное, что работает из моих if-операторов, - это оператор" else " в конце If и Else Ifs. Есть ли неправильное использование переменных? Правильно ли я использую сравнения? Опять же, моя кнопка работает только для моего оператора ELSE.

2 Ответов

Рейтинг:
2

Patrice T

Вы уже несколько раз задавали вопросы об этой программе. И ваши вопросы настолько просты, что я задаюсь вопросом, планируете ли вы правильно изучать JS или нет ?
Здесь вы узнаете, как работает JS.
Учебник По JavaScript[^]

JS прекрасно справляется со строками и числами, на ваш выбор. Вы просто должны узнать, как это работает.

if (ComputerChoice == 1) {
   ComputerChoice = "rock";
}

Если вы не понимаете, почему ваш код терпит неудачу, используйте отладчик Вашего браузера, чтобы увидеть, что произойдет.
Вы должны научиться использовать отладчик как можно скорее. Вместо того чтобы гадать, что делает ваш код, пришло время увидеть, как он выполняется, и убедиться, что он делает то, что вы ожидаете.

Отладчик позволяет вам следить за выполнением строка за строкой, проверять переменные, и вы увидите, что есть точка, в которой он перестает делать то, что вы ожидаете.
Отладчик-Википедия, свободная энциклопедия[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.


Рейтинг:
0

Peter Leow

Он пойдет до последнего, иначе зачем? Вы должны сделать некоторую детективную работу, отслеживая назад, где виновники? Они являются:

if (ComputerChoice == 1) {
   ComputerChoice = "rock";
}
if (ComputerChoice == 2) {
   ComputerChoice = "paper";
}
if (ComputerChoice == 3) {
   ComputerChoice = "scissors";
}

   if (UserChoice == 1) {
   UserChoice = "rock";
}
if (UserChoice == 2) {
   UserChoice = "paper";
}
if (UserChoice == 3) {
   UserChoice = "scissors";
}

Значения UserChoice и ComputerChoice больше не в цифрах, которые, как ожидается, в последующие, если еще заявления.