#javascript #html
#javascript #HTML
Вопрос:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
alert("Welcome to the coin flip game ! Enter either heads or tails..");
var person = prompt("Please enter either heads or tails");
if (person == heads) {
alert()
}
var random = Math.floor(Math.random() * 2) 1;
if (random == 1) {
alert("The computer generated heads!");
} else {
alert("The computer generated tails!");
}
var lost =
alert("You've lost");
var won =
alert("You've won!");
if (person != random) {
document.getElementById("demo").innerHTML =
(lost);
} else {
(won);
}
</script>
</body>
</html>
Мой текущий код ^^
Цель: познакомить с игрой и объяснить, как играть. Получать входные данные от пользователя, в частности, их предположение о том, будет ли монета орлом или решкой. Сгенерируйте случайное число между 1 или 2, а затем сопоставьте его с орлом или решкой. (т.е. 1 = орел, 2 = решка) Проверьте, соответствует ли их предположение случайному числу. Если они угадали правильно, скажите им, что они выиграли. Если предположение неверно, скажите им, что они проиграли.
Кажется, я не могу понять, как назначить поворот 1 и 2 генератора случайных чисел орлу или решке. Это моя большая проблема.
Это html javascript.
Комментарии:
1. Вы никогда не сравниваете предположение пользователя со случайным числом.
2. В чем смысл
if (person == heads)
? Вам нужно сравнить со строкой, у вас нет переменной с именемheads
.
Ответ №1:
В коде есть пара незначительных логических проблем.
- Когда игрок вводит орел или решку, это может быть переведено в 1 или 2 в коде для упрощения сравнения со случайно сгенерированным значением.
- Если игрок вводит ненужное значение, это должно быть обработано.
- Я не уверен, что понял, что делал код для отображения результата, поэтому просто изменил его, чтобы показывать предупреждение с выигрышем или проигрышем.
Вот рабочий фрагмент, показывающий это в действии:
alert("Welcome to the coin flip game ! Enter either heads or tails..");
var person = prompt("Please enter either heads or tails");
var personChoice = 0;
if (person == 'heads') {
personChoice = 1;
} else if (person == 'tails') {
personChoice = 2;
} else {
alert('The player entered rubbish!');
}
if (personChoice > 0) {
var random = Math.floor(Math.random() * 2) 1;
if (random == 1) {
alert("The computer generated heads!");
} else {
alert("The computer generated tails!");
}
var lost = "You've lost";
var won = "You've won";
if (personChoice != random) {
alert(lost); //document.getElementById("demo").innerHTML = (lost);
} else {
alert(won);
//(won);
}
}
Ответ №2:
Попробуйте, как показано ниже, предполагая, что если пользователь ввел ключ, отличный от heads
рассматриваемого как tails
, обратите внимание, что person == heads, необходимо сравнить со значением вместо необъявленной переменной. Также многие опечатки, такие как
document.getElementById("demo").innerHTML =
(lost);
(won);
alert("Welcome to the coin flip game ! Enter either heads or tails..");
var person = prompt("Please enter either heads or tails");
var userChoice = person === "heads" ? 1 : 2
var random = Math.floor(Math.random() * 2) 1;
if (random == 1) {
alert("The computer generated heads!");
} else {
alert("The computer generated tails!");
}
if (userChoice != random) {
alert("You've lost")
} else {
alert("You've won!")
}
<div id="demo" />