2016-08-15 39 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分鐘 –