Для задачи, связанной с некоторой работой 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++
}
У вас были синтаксические ошибки:
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++
}
Как уже упоминалось, было только несколько небольших синтаксических ошибок с вашими инструкциями 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++
}
else if
неif else
.else if{ cpuWins++; }
отсутствует условие послеif
и перед{