[英]How to store 3 different results within the same function
I`m working on a rock/paper/scissors game using javascript, the player will play 3 times, and the results of each time will be displayed on screen.Every play is stored in a different function that returns a value. 我正在使用javascript进行摇滚/纸/剪刀游戏,玩家将播放3次,每次的结果将显示在屏幕上。每次播放都存储在一个返回值的不同函数中。 The final result will be given according to the sum of those 3 values. 最终结果将根据这3个值的总和给出。
I am having problems to figure out the logic to play those 3 times in the same button. 我有问题找出在同一个按钮中播放3次的逻辑。
After I pressed a button and play by the first time, how can I press it again, but play a second function? 按下按钮并在第一次播放后,如何再次按下它,但播放第二个功能? Should I use only 1 function but how could I store 3 different results? 我应该只使用1个功能但是如何存储3个不同的结果?
function playGame(choice) { confirm('Are you sure?'); document.getElementById("userChoice1").style.backgroundImage = "url('./img/rock2.png')"; document.getElementById("userChoice2").style.backgroundImage = "url('./img/scissors2.png')"; document.getElementById("userChoice3").style.backgroundImage = "url('./img/paper2.png')"; if(choice == 'A') { var userChoice = "rock"; /* animation */ document.getElementById("userChoiceDis").style.backgroundImage = "url('./img/rock.png')"; } else if(choice == 'B') { var userChoice = "scissors"; /* animation */ document.getElementById("userChoiceDis").style.backgroundImage = "url('./img/scissors.png')"; } else if (choice == 'C'){ var userChoice = "paper"; /* animation */ document.getElementById("userChoiceDis").style.backgroundImage = "url('./img/paper.png')"; } var computerChoice = Math.random(); if (computerChoice < 0.34) { computerChoice = "rock"; /* animation */ document.getElementById("aiChoiceDis").style.backgroundImage = "url('./img/rock.png')"; } else if(computerChoice <= 0.67) { computerChoice = "paper"; /* animation */ document.getElementById("aiChoiceDis").style.backgroundImage = "url('./img/paper.png')"; } else { computerChoice = "scissors"; /* animation */ document.getElementById("aiChoiceDis").style.backgroundImage = "url('./img/scissors.png')"; } var compare1 = function(choice1, choice2) { if(choice1 === choice2) { document.getElementById("result").style.backgroundImage = "url('./img/tie.png')"; var pResult = "tie"; document.getElementById("replay").style.display = "block"; }else if(choice1 ==="rock") { if(choice2 === "scissors") { /* animation */ document.getElementById("result").style.backgroundImage = "url('./img/win.png')"; /* animation */ document.getElementById("replay").style.display = "block"; var pResult = true; }else { /* animation */ document.getElementById("result").style.backgroundImage = "url('./img/loose.png')"; /* animation */ document.getElementById("replay").style.display = "block"; var pResult = false; } }else if(choice1 ==="paper") { if(choice2 === "rock") { /* animation */ document.getElementById("result").style.backgroundImage = "url('./img/win.png')"; var pResult = true; /* animation */ document.getElementById("replay").style.display = "block"; }else { /* animation */ document.getElementById("result").style.backgroundImage = "url('./img/loose.png')"; var pResult = false; /* animation */ document.getElementById("replay").style.display = "block"; } }else if(choice1 ==="scissors") { if(choice2 === "rock") { /* animation */ document.getElementById("result").style.backgroundImage = "url('./img/loose.png')"; var pResult = false; /* animation */ document.getElementById("replay").style.display = "block"; }else { /* animation */ document.getElementById("result").style.backgroundImage = "url('./img/win.png')"; var pResult = true; /* animation */ document.getElementById("replay").style.display = "block"; } }else { return "incorrect input"; } switch(pResult) { case true: document.getElementById("gameResult1").style.backgroundImage = "url('./img/win.png')"; break; case "tie": document.getElementById("gameResult1").style.backgroundImage = "url('./img/win.png')"; break; default: document.getElementById("gameResult1").style.backgroundImage = "url('./img/loose.png')"; } }; compare1(userChoice,computerChoice);
Use an array - Each time use something like: 使用数组 - 每次使用类似的东西:
var allResults = []; //declare the array
allResults.push(results);
Then you will have a nice array of all the results. 然后你会得到一个很好的所有结果。 You can inspect the contents of the array with console.log(allResults)
. 您可以使用console.log(allResults)
检查数组的内容。 To access the individual results, use an index number, for example allResults[0]
will return the first value in the array. 要访问单个结果,请使用索引号,例如allResults[0]
将返回数组中的第一个值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.