Я кодирую небольшую игру-змейку на javascript, чтобы я и мои друзья могли играть в нее только один раз и сравнивать наши рекорды. Но когда вы заканчиваете игру, вам нужно перезагрузить сайт, и вы не можете просто нажать кнопку типа «Попробовать снова», и игра перезапускается / перезагружается javascript.
if(snakeX < box || snakeX > 17 * box || snakeY < 3*box || snakeY > 17*box || collision(newHead,snake)){
clearInterval(game);
dead.play();
}
Это интервал "игры" let game = setInterval(draw,100);
0
Narrox YT
22 Окт 2019 в 23:07
3
Сделайте функцию, которая запускает игру и управляется кнопкой, а не загрузкой страницы. Если вы хотите получить более точный ответ, укажите более подходящий код.
– mwilson
22 Окт 2019 в 23:10
2 ответа
Используйте location.reload ()
<button onclick="location.reload();">Try again</button>
0
Ole
22 Окт 2019 в 23:33
<button id="retry" style="display:none">Retry</button>
function Box() {...}
function Snake() {...}
function Game() {
this._box = new Box()
this._snake = new Snake()
this._retry = document.getElementById('retry')
this._retry.addEventListener('click', function () {
this.start()
})
}
Game.prototype.displayRetry = function () {
this._retry.style = 'display:block'
}
Game.prototype.hideRetry = function () {
this._retry.style = 'display:none'
}
Game.prototype.start = function () {
this.hideRetry()
this._snake.alive()
this._interval = setInterval(function () { this.draw() }, 100)
}
Game.prototype.check = function () {
var bounds = this._box.bounds
var position = this._snake.position
return position.x < bounds.xMin || position.x > bounds.xMax || position.y < bounds.yMin || position.y > bounds.yMax || this._snake.hasCollidedWithSelf()
}
Game.prototype.draw = function () {
// ...
if (this.check()) {
this.end()
}
}
Game.prototype.end = function () {
this._snake.dead()
this.displayRetry()
}
0
ArrayKnight
22 Окт 2019 в 23:34
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Обратите внимание, что JavaScript — это НЕ Java. Включите все теги, относящиеся к вашему вопросу: например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [стройный] и т. д.