2015-06-11 2 views
1

У меня появилось предупреждение о том, «хотите ли вы играть», и если ответ верен, он запускает некоторый код. Но после того, как вы нажмете «Да», я хочу, чтобы кнопка была нажата, и мой код продолжает работать, не дожидаясь его нажатия.Ждите нажатия кнопки перед продолжением

Вот что я имею в Javascript:

var start = confirm("Would you like to Play?"); 
 
var plays = 0; 
 
var playerScore = 0; 
 
var computerScore = 0; 
 
var userChoice = "" 
 
function choose(buttonChoice) { 
 
    userChoice = buttonChoice; 
 
} 
 

 
while(start) { 
 

 
    var pScoreDiv = document.getElementById('pScore'); 
 
    pScoreDiv.innerHTML = playerScore; 
 

 
    var cScoreDiv = document.getElementById('cScore'); 
 
    cScoreDiv.innerHTML = computerScore; 
 

 
    console.log(playerScore); 
 
    console.log(computerScore); 
 

 
    var computerChoice = Math.random(); 
 

 
    if (computerChoice < 0.34) { 
 
     computerChoice = "rock"; 
 
    } else if(computerChoice <= 0.67) { 
 
     computerChoice = "paper"; 
 
    } else { 
 
     computerChoice = "scissors"; 
 
    } 
 
}
<button onClick="choose('rock')">Rock</button> 
 
<button onClick="choose('paper')">Paper</button> 
 
<button onClick="choose('scissors')">Scissors</button>

+1

Лучше всего сделать было бы сделать JSFiddle (https://jsfiddle.net/) вашей игры и поделиться ссылкой, чтобы люди на здесь может иметь вид на нем и отлаживать его правильно для вас. – Giuseppe

+0

Хорошо, попробуйте сейчас :) –

+0

https://jsfiddle.net/3cuwnafz/ –

ответ

1

Вы о чтобы прослушивать кнопку подтверждения, а не кнопки, на которые нужно щелкнуть.

В приведенном ниже коде я изменил while на функцию, которая проверяет, установлено ли значение start и вызывается при нажатии кнопки.

var start = confirm("Would you like to Play?"); 
 
var plays = 0; 
 
var playerScore = 0; 
 
var computerScore = 0; 
 
var userChoice = "" 
 

 
function choose(buttonChoice) { 
 
    userChoice = buttonChoice; 
 
    play(); 
 
} 
 

 
function play() { 
 
    if (start) { 
 
    var pScoreDiv = document.getElementById('pScore'); 
 
    pScoreDiv.innerHTML = playerScore; 
 

 
    var cScoreDiv = document.getElementById('cScore'); 
 
    cScoreDiv.innerHTML = computerScore; 
 

 
    console.log(playerScore); 
 
    console.log(computerScore); 
 

 
    var computerChoice = Math.random(); 
 

 
    if (computerChoice < 0.34) { 
 
     computerChoice = "rock"; 
 
    } else if (computerChoice <= 0.67) { 
 
     computerChoice = "paper"; 
 
    } else { 
 
     computerChoice = "scissors"; 
 
    } 
 
    } 
 
}
<button onClick="choose('rock')">Rock</button> 
 
<button onClick="choose('paper')">Paper</button> 
 
<button onClick="choose('scissors')">Scissors</button>

0

Попробуйте

if (start == true) { 

вместо

while (start) { 
Смежные вопросы