2015-09-27 176 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());