Кости имеют числа от 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>
Что происходит, так это то, что VisualStudio умен и скрывает вас от того факта, что ваш командный файл был сохранен в кодировке символов, отличной от ASCII (например, ваш файл имеет формат UTF-8 или какой-то другой). другая кодировка, отличная от ASCII).
Моя проектная группа несколько раз попадала в ловушку этого (если файлы проверяются в CVS, это превращает файлы в беспорядок).
Я обычно использую Notepad ++, посмотрите на кодировку в правом нижнем углу (там должно быть указано, что это ANSI), если вам нужно изменить ее, перейдите в меню формата и измените тип, затем сохраните.
Visual Студия должна выглядеть идентично, но размер файла должен уменьшиться вдвое!
Рэй прав, когда говорит, что формат текста Visual Studio по умолчанию похож на UTF-8. Хотя Notepad ++ - отличный инструмент, и я использую его сам, есть альтернатива: вы можете указать Visual Studio сохранить текстовый файл в формате ASCII:
В VS2008 выберите файл в проводнике решений и выберите «Файл». .Save myfile.bat As ...
На стрелке вниз на кнопке «Сохранить» выберите «Сохранить с кодировкой».
При сохранении в диалоговом окне «Дополнительные параметры сохранения» выберите US-ASCII в раскрывающемся списке «Кодировка». Установите окончания строк, как требуется, или оставьте текущую настройку.