forked from barryclark/jekyll-now
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgame.js
More file actions
63 lines (56 loc) · 1.53 KB
/
game.js
File metadata and controls
63 lines (56 loc) · 1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
var generateBtn = document.getElementById('generate_btn');
var container = document.getElementById('container');
var LEN = 5;
var endTime, startTime;
var expect = 1;
var _active;
generateBtn.addEventListener('click', function(){
startTime = 0, endTime = 0;
expect = 1;
container.innerHTML = '';
var arr = [];
for(var i = 0; i < LEN * LEN; i ++) {
arr.push(i + 1);
}
var randomArr = [];
do {
var index = Math.floor(Math.random() * arr.length) + 1;
var num = arr.splice(index-1, 1);
console.log(num);
randomArr.push(num);
} while(arr.length > 0);
for(var i = 0; i < LEN; i ++) {
var ulEle = document.createElement('ul');
for(var j = 0; j < LEN; j ++) {
var ele = document.createElement('li');
ele.innerText = randomArr[i * LEN + j];
ele.style.height = ele.style.width;
ulEle.appendChild(ele);
}
container.appendChild(ulEle);
}
});
var gridClick = function(e){
var target = e.target;
if(target.constructor === HTMLLIElement){
var num = Number(target.innerText);
if(num === expect) {
if(_active){
_active.style.backgroundColor = "#ccc";
}
_active = target;
target.style.backgroundColor = 'green';
if(expect === LEN * LEN){
endTime = new Date().getTime();
alert('共用时:' + ((endTime - startTime) / 1000) + 's');
} else if(expect === 1){
startTime = new Date().getTime();
expect ++;
} else {
expect ++;
}
}
}
};
container.addEventListener('mousedown', gridClick);
container.addEventListener('touchstart', gridClick);