Вы можете взглянуть на RQ .
Также посмотрите удивительный учебник Мигеля Гринберга на фоновые задания , используя RQ и Flask.
Переменная rnd не определена.
var clicks = 0;
function random()
{
if (clicks > 21) {
alert("You Got To 22! You Lose! Please Try Again!");
location.reload();
}
clicks += Math.floor(Math.random() * 6) + 1;
// document.getElementById('clicks').value = rnd; You have not define this rnd and using this which throws error.
document.getElementById("clicks").innerHTML = clicks;
};
</div>
<div>
<p id="game"></p>
</div>
<input type="image" value="clicks" onclick="random()" src="http://pluspng.com/img-png/black-and-white-dice-png-black-white-dice-bunco-clip-art-dice-images-free-900.jpg" alt="Dice2" width="450" height="280">
Total Count: <a id="clicks">0</a>
</body>
</html>
Кости имеют числа от 1 до 6, поэтому ранд должен +1!
Правильно определите свои элементы. И кешировать их.
Создайте логику gameOver
(для проверки выигрыша или проигрыша)
Не используйте встроенный JS.
Не перезагружайте страницу. Вместо этого сбросьте score
.
var score = 0;
var el_game = document.getElementById('game');
var el_dice = document.getElementById('dice');
function roll() {
score += Math.floor(Math.random() * 6) + 1;
game.textContent = score;
checkGameOver();
};
function checkGameOver() {
var message = '';
if (score === 21) {
message = '21! You won!';
} else if (score > 21) {
message = 'Over 22! Try Again!';
}
if(message) { // Game is over (we have a message)
alert(message); // Notify
score = 0; // And reset clicks
}
}
el_dice.addEventListener('click', roll);
<button id="dice">ROLL DICE!</button>
<p id="game"></p>
Вы можете добавить идентификатор к изображению и затем использовать .on ('click'), чтобы изменить innerHTML.
var clicks = 0;
$('#dice').on('click', function () {
clicks++;
$('#clicks').html(clicks);
});