2015-09-27 122 views
-3
var userChoice = prompt("Do you choose rock, paper or scissors?"); 
var computerChoice = Math.random(); 
if (computerChoice < 0.34) { 
    computerChoice = "rock"; 
} else if(computerChoice <= 0.67) { 
    computerChoice = "paper"; 
} else { 
    computerChoice = "scissors"; 
} console.log("Computer: " + computerChoice); 

function compare(choice1,choice2) { 
    if(choice1 === choice2) { 
     return "The result is a tie!"; 
     #Make it ask the user and computer to make new choices 
    } 
    else if(choice1 === "rock") { 
     if(choice2 === "scissors") { 
      return "rock wins"; 
     } 
     else { 
      return "paper wins"; 
     } 
    } 
    else if(choice1 === "paper") { 
     if(choice2 === "rock") { 
      return "paper wins"; 
     } 
     else { 
      return "scissors wins" 
     } 
    } 
    else if(choice1 === "scissors") { 
     if(choice2 === "paper") { 
      return "scissors wins"; 
     } 
     else { 
      return "rock wins" 
     } 
    } 
    else { 
     return "invalid choice" 
    } 
}; 

compare(userChoice,computerChoice) 

那么我该如何让用户和计算机做出新的选择并再次启动该功能呢?我必须在#的地方做到这一点。我正在做一个JavaScript教程,这不是评估。我尝试将 compare(userChoice, computerChoice)放在#号的位置,但它不起作用。如何让代码重复此功能?

回答

0

包装你加载脚本功能function init()。 如下图所示,打电话给init()

function compare(choice1,choice2) { 
    if(choice1 === choice2) { 
     //#Make it ask the user and computer to make new choices 
     alert("The result is a tie!"); 
     init(); 
    } 

编辑如下代码..

function init() 
 
{ 
 
    var userChoice = prompt("Do you choose rock, paper or scissors?"); 
 
    var computerChoice = Math.random(); 
 
    if (computerChoice < 0.34) { 
 
    computerChoice = "rock"; 
 
    } else if(computerChoice <= 0.67) { 
 
    computerChoice = "paper"; 
 
    } else { 
 
    computerChoice = "scissors"; 
 
    } 
 
    console.log("Computer: " + computerChoice); 
 
    compare(userChoice,computerChoice); 
 
} 
 

 
function compare(choice1,choice2) { 
 
    if(choice1 === choice2) { 
 
     //#Make it ask the user and computer to make new choices 
 
     alert("The result is a tie!"); 
 
     init(); 
 
    } 
 
    else if(choice1 === "rock") { 
 
     if(choice2 === "scissors") { 
 
      return "rock wins"; 
 
     } 
 
     else { 
 
      return "paper wins"; 
 
     } 
 
    } 
 
    else if(choice1 === "paper") { 
 
     if(choice2 === "rock") { 
 
      return "paper wins"; 
 
     } 
 
     else { 
 
      return "scissors wins" 
 
     } 
 
    } 
 
    else if(choice1 === "scissors") { 
 
     if(choice2 === "paper") { 
 
      return "scissors wins"; 
 
     } 
 
     else { 
 
      return "rock wins" 
 
     } 
 
    } 
 
    else { 
 
     return "invalid choice" 
 
    } 
 
} 
 

 
init();

0
var userChoice = prompt("Do you choose rock, paper or scissors?"); 
function computerChoiceMaker(){ 
    var computerChoice = Math.random(); 
    if (computerChoice < 0.34) { 
     computerChoice = "rock"; 
    } else if(computerChoice <= 0.67) { 
     computerChoice = "paper"; 
    } else { 
     computerChoice = "scissors"; 
    } console.log("Computer: " + computerChoice); 
    return computerChoice; 
} 

function compare(choice1,choice2) { 
    if(choice1 === choice2) { 
     //return "The result is a tie!"; 
     //#Make it ask the user and computer to make new choices 
     computerChoice = computerChoiceMaker(); 
     userChoice = prompt("The result is a tie! Do you choose rock, paper or scissors?"); 
     console.log("User new choice: " + userChoice); 
     return compare(userChoice,computerChoice); 
    } 
    else if(choice1 === "rock") { 
     if(choice2 === "scissors") { 
      return "rock wins"; 
     } 
     else { 
      return "paper wins"; 
     } 
    } 
    else if(choice1 === "paper") { 
     if(choice2 === "rock") { 
      return "paper wins"; 
     } 
     else { 
      return "scissors wins" 
     } 
    } 
    else if(choice1 === "scissors") { 
     if(choice2 === "paper") { 
      return "scissors wins"; 
     } 
     else { 
      return "rock wins" 
     } 
    } 
    else { 
     return "invalid choice" 
    } 
}; 

compare(userChoice,computerChoiceMaker());