Я пытаюсь создать простую игру на веб-странице.Создание игры в JQuery
Игра должна быть такой:
- Веб-страница должна отображаться в случайные моменты времени изображений, размещенных в случайных местах на окне браузера.
- Каждое изображение длится в окне браузера в течение короткого периода времени, а затем оно исчезает.
- Если пользователь нажимает изображение до его исчезновения, он/она получает очко.
- Игра заканчивается, когда пользователь выигрывает 10 очков.
До сих пор мне удавалось отображать все элементы на странице в случайных позициях, а затем удалять их и отображать их снова.
Прямо сейчас у меня проблемы со счетом каждого клика.
JavaScript
$(document).ready(function() {
timeOut();
});
function timeOut() {
setInterval(function() {
deleteImages();
createImages();
}, 3000);
}
function createImages() {
var myarray = ["img/Angel.gif", "img/Angry.gif", "img/BigSmile.gif",
"img/Confused.gif", "img/Cool.gif", "img/Crying.gif",
"img/Eyebrow.gif", "img/Goofy.gif", "img/Happy.gif"];
var count = 0;
var div;
for (var i = 0; i < 9; i++) {
var randPos = 0 + Math.floor(Math.random() * 500);
this.img = document.createElement("img");
div = document.createElement("div");
$("div").attr("id", "div" + i);
var randNew = 0 + Math.floor(Math.random() * (5));
var rand = 0 + Math.floor(Math.random() * (9 - count));
this.img.src = myarray[rand];
$('#div' + i).css("left", randPosition());
$('#div' + i).css("right", randPosition());
$('#div' + i).css("top", randPosition());
$('#div' + i).css("bottom", randPosition());
$('#div' + i).css("position", "relative");
$('#div' + i).show();
div.appendChild(this.img);
$("body").prepend(div);
myarray.splice(rand, 1);
count++;
}
//setTimeout(function(){ jQuery("div").hide(); }, 3000);
}
function deleteImages() {
$("div").remove();
}
function randPosition() {
return 0 + Math.floor(Math.random() * 500);
}
$(function() {
$("div").click(function (e) {
var offset = $(this).offset();
var relativeX = (e.pageX - offset.left);
var relativeY = (e.pageY - offset.top);
alert("X: " + relativeX + " Y: " + relativeY);
});
});
CSS
.active-div{
position:relative;
}
.menu-div{
position:absolute;
top:0;
right:0;
display:none;
}
Обновлен мой ответ, чтобы разрешить приращивание t, а также не реагировать на события кликов. –