У меня есть игра в кости, которую я должен сделать для школы, я зашел далеко.. игра работает, но моя проблема в том, что я должен сделать систему рекордов и ограничить 6,7,8,9 (если сумма любой из них зависит от того, что выбирает игрок) это провалит игру, и вы начнете сначала.
Я просто хочу поставить рекорд и эту неудачную часть для моего проекта.
Я сделал это до сих пор:
let images = ["dice1.png",
"dice2.png",
"dice3.png",
"dice4.png",
"dice5.png",
"dice6.png"];
let dice = document.querySelectorAll("img");
function roll(){
dice.forEach(function(die){
die.classList.add("shake");
});
setTimeout(function(){
dice.forEach(function(die){
die.classList.remove("shake");
});
let dieOneValue = Math.floor(Math.random()*6)
;
let dieTwoValue = Math.floor(Math.random()*6)
;
console.info(dieOneValue,dieTwoValue);
document.querySelector("#die-1").setAttribute
("src", images[dieOneValue]);
document.querySelector("#die-2").setAttribute
("src", images[dieTwoValue]);
document.querySelector("#total").innerHTML =
"Du rullade " + ( (dieOneValue +1) + (dieTwoValue + 1 ) )
},
1000
);
}
И это та часть, которую они могут выбрать только номер, иначе они получат сообщение об ошибке.
var numb=document.forms['myform']['num'];
var error=document.getElementById('error');
function validation()
{
if (numb.value=='')
{
error.innerHTML = "Bara nummer funkar";
error.style.display = "block";
return false;
}
if (numb.value>9)
{
error.innerHTML = "Bara nummer 6,7,8,9 funkar";
error.style.display = "block";
return false;
}
if (numb.value<6)
{
error.innerHTML = "Bara nummer 6,7,8,9 funkar";
error.style.display = "block";
return false;
}
return true;
}
Итак, вам нужно поле ввода, чтобы запросить у игрока «неудачный» номер.
<input id = "fail-number" type = "number" min = "6" max = "9">
В этот момент вам, вероятно, понадобится кнопка для запуска игры. И кнопка броска кубика не должна быть видна.
Ваш EventListener на кнопке запуска игры должен срабатывать только в том случае, если введенное число имеет значение.
startGame.addEventListener("click", function() {
if (failNumber){
//toggle class on startGame which makes the button invisible
//toggle class on rollDice which makes the button visible
//toggle class on number-input which makes the input invisible
//roll dice or let the user press rollDice button
};
});
Теперь вам нужно только проверять после каждого броска кубиков, соответствуют ли суммированные числа кубиков вашему failNumber.
if (diceSum == failNumber){
//save current score as highscore
//set current score to 0
//toggle class on rollDice which makes button invisible
//toggle class on startGame which makes button visible
//toggle class on number-input which makes input visible
} else {
//add diceSum to current score
}
Плохо, если я сделал это неясным и т. д. Я делаю веб-сайт, а не ту обычную игру в кости, которую вы можете увидеть на проигрывателе Google против компьютера, и вы пишете, сколько раз она должна бросаться, а затем вы видите, кто победит.
Вот так выглядит моя страница. сайт
И я хочу сделать код, который исключает возможность выбора чего-либо, кроме 6, 7, 8 или 9, в качестве «неудачного» числа. Если вы приземлитесь на выбранный номер, вы проиграли игру, подсчитывает ваш рекорд и делает невозможным продолжение, если вы не перезапустите.
Большое спасибо заранее! ps: У меня мозг поджарен на этой части.
Пожалуйста, не отвечайте на свой вопрос дополнительной информацией. Вместо этого вы должны отредактировать исходный вопрос. Я отредактировал свой последний ответ и надеюсь, что вы на правильном пути с этим.
Дополнительная информация по вопросу должна быть добавлена через правки, а не ответ.
Непонятно, в чем ваш вопрос или где вы застряли. Можете ли вы указать, какая часть требует внимания?