2016-08-15 28 views
0

我正在使用JavaScript编写一个rock-paper-scissors游戏。我无法从用户那里获取单选按钮的输入。如果机器人赢得了一轮比赛,那么它也应该为他的得分加1,而现在每次都是这样。这里是我试过的代码:我试图与for循环,这是既没有工作做检索无法正常工作的收音机输入

function playBot(){ 
var num = Math.floor((Math.random() * 4) + 1); // generate number between 1 and 3 which represents the item bot has chosen 
console.log(num); 
var rock = document.getElementById("rock").value; 
var paper = document.getElementById("paper").value; 
var scissors = document.getElementById("scissors").value; 
var result = document.getElementById("result"); 
    // 1 = rock, 2 = paper, 3 = scissors 
if (rock.checked == true && num != 2){ 
    pl1 = pl1 + 1; 
    document.getElementById("pl1").innerHTML = pl1; 
} else if (paper.checked == true && num != 3){ 
    pl1 = pl1 + 1; 
    document.getElementById("pl1").innerHTML = pl1; 
} else if (scissors.checked == true && num != 1){ 
    pl1 = pl1 + 1; 
    document.getElementById("pl1").innerHTML = pl1; 
} else { 
    pl2 = pl2 + 1; 
    document.getElementById("pl2").innerHTML = pl2; 
} 
} 

HTML:

<h2 id="score"><span id="pl1">0</span>-<span id="pl2">0</span></h2> 
<div id="left"> 
      <label for="rock">Rock</label><br> 
      <input type="radio" name="q" class="q" id="rock"></input><br> 
      <label for="paper">Paper</label><br> 
      <input type="radio" name="q" class="q" id="paper"></input><br> 
      <label for="scissors">Scissors</label><br> 
      <input type="radio" name="q" class="q" id="scissors"></input><br> 
      <button id="confirm" class="button" onClick="playBot()" style="margin-bottom: 10px;">Confirm</button> 
     </div><p id="result"></p> 

和JavaScript 。来源我已经试过:How to get value of selected radio button?

Get Radio Button Value with Javascript

http://www.w3schools.com/jsref/prop_radio_checked.asp

在此先感谢

回答

0

分配到摇滚,纸,当你取严格的价值,和剪刀在这些行:

var rock = document.getElementById("rock").value; 
var paper = document.getElementById("paper").value; 
var scissors = document.getElementById("scissors").value; 

但是,您的if语句试图通过查看t来获取属性他“检查”属性。无论是与

var rock = document.getElementById("rock") 

取整元素,并使用“选中”属性或仅与

if (rock) 
{ 
    // Do something 
} 
+0

哇检查值,感谢您的回答。不知道这是简单的,它现在效果很好!再次感谢:) –

+0

很高兴我能帮忙!如果您点击答案上的投票按钮下方的复选标记,您可以将其列为“已接受”;这将非常感激。 –

+0

是的,我还没有点击它,不得不等待3分钟 –