如何重复摇滚,纸张,剪刀游戏?

时间:2015-10-27 09:08:53

标签: javascript html

目前正在进行类作业,编写了我的html和js文件。我的主要问题是我无法让计算机获取一个新的随机数,因此它只能保留一个选择(摇滚,纸张或剪刀)。我还试图确保游戏的持续时间不超过5场,但是在尝试游戏时遇到了问题。

我的HTML :(仅包括必要的内容,仍然是正在进行的课程项目)

  

4个按钮,每个选项一个,一个用于比较答案

<button onClick='choose("rock")'>
    Rock
    <img src="images/rock.jpg" width="100" height="100" alt="rock">
</button>
<button onClick='choose("paper")'>
    Paper
    <img src="images/paper.jpg" width="100" height="100" alt="paper">
</button>
<button onClick='choose("scissors")'>
    Scissors
    <img src="images/scissors.jpg" width="100" height="100" alt="scissprs">
</button>
<button onClick='compare(user, computerChoice)'>
    Go!
</button>

<p id="result">Winner: </p>
<p id="playerscore">Player Score:</p>
<p id="computerscore">Computer Score: </p>

我的JS :(故意除了一个以外的所有条件,一些用“......”代替)

    var user;
var choose = function(choice) {
    user = choice;
}
var computerChoice = Math.random();
if(computerChoice < 0.34) {
    computerChoice = "rock";
} 
else if(computerChoice < 0.67) {
    computerChoice = "paper";
} 
else{
    computerChoice = "scissors";
}


var playerscore = 0;
var computerscore = 0;
var game = 0;
var compare = function(choice1, choice2) {


else if(choice1 == "paper") {
    if(choice2 == "rock") {
        ...
        playerscore++;
        game++;
        document.getElementById("playerscore").innerHTML = playerscore;
    } else {
        document.getElementById("result").innerHTML = "Computer Wins on Scissors";
        computerscore++;
        game++;
        document.getElementById("computerscore").innerHTML = computerscore;
    }
}

}
};

所以从这里开始我可以做些什么让我的网页重复这个脚本,直到玩了五场比赛?我尝试使用do-while循环,但仍然提出:比较未声明的问题,并且当我试图将它全部放在一个名为rockpaperscissors的函数中时,用户没有声明。

2 个答案:

答案 0 :(得分:0)

你可以设置一个隐藏的div / input来设置变量的值&#34; game&#34;。通过这种方式,您可以在游戏完成后证明游戏数量。如果数字为5,则将html从4个按钮更改为&#34; congratz&#34;或者其他什么。

答案 1 :(得分:0)

这是你的游戏(完全正常工作)

&#13;
&#13;
var playerscore = 0;
var computerscore = 0;
var userChoice;
var computerChoice;

function choose(choice) {
  userChoice = choice;
}

function compMakeAchoice() {
  computerChoice = Math.floor((Math.random() * 3) + 1);
  alert(computerChoice);
  if (computerChoice == 1) {
    computerChoice = "rock";
  } else if (computerChoice == 2) {
    computerChoice = "paper";
  } else if (computerChoice == 3) {
    computerChoice = "scissors";
  }
}

function compare() {
  compMakeAchoice();
  if ((computerChoice == "rock" && userChoice == "rock") || (computerChoice == "paper" && userChoice == "paper") || (computerChoice == "scissors" && userChoice == "scissors")) {
    document.getElementById("result").innerHTML = "Winner: " + "No one won. Both chose " + userChoice;
  } else if ((computerChoice == "rock" && userChoice == "paper") || (computerChoice == "paper" && userChoice == "scissors") || (computerChoice == "scissors" && userChoice == "rock")) {
    playerscore++;
    document.getElementById("playerscore").innerHTML = "Player Score: " + playerscore;
    document.getElementById("result").innerHTML = "Winner: " + "You won (Your Choice:" + userChoice + " and Computer's choice:" + computerChoice + ")";
  } else {
    computerscore++;
    document.getElementById("computerscore").innerHTML = "Computer Score: " + computerscore;
    document.getElementById("result").innerHTML = "Winner: " + "Computer won (Your Choice:" + userChoice + " and Computer's choice:" + computerChoice + ")";
  }
}
&#13;
<button onClick='choose("rock")'>Rock</button>
<button onClick='choose("paper")'>Paper</button>
<button onClick='choose("scissors")'>Scissors</button>
<button onClick='compare()'>Go!</button>

<p id="result">Winner:</p>
<p id="playerscore">Player Score:</p>
<p id="computerscore">Computer Score:</p>
&#13;
&#13;
&#13;