console
var row = 8;
var col = 8;
var clickCount = 0;
var grid = init_grid();
var time = document.getElementById('time');
var timer = setInterval(function () {
let seconds = (parseFloat(time.innerHTML) + 0.1).toFixed(1);
time.innerHTML = seconds;
}, 100)
function init_grid() {
let gridHtml = '';
for (let i = 0; i < row; i++) {
gridHtml += '<tr>'
for (let j = 0; j < col; j++) {
gridHtml += '<td><span class="blocks" onmousedown="block_click(' + i + ',' + j + ',event)"></span></td>';
}
gridHtml += '<tr>'
}
document.getElementById('grid').innerHTML = gridHtml;
let blocks = document.getElementsByClassName('blocks');
let grid = new Array();
for (let i = 0; i < blocks.length; i++) {
if (i % col === 0) {
grid.push(new Array());
}
blocks[i].count = 0;
grid[parseInt(i / col)].push(blocks[i]);
}
return grid;
}
function block_click(_i, _j, e) {
if (grid[_i][_j].isOpen) {
return;
}
if (e.button === 0&&clickCount < 1) {
let block = grid[_i][_j];
clickCount++;
if (block.innerHTML !== 'I') {
block.innerHTML = 'I';
} else {
block.innerHTML = '';
}
}
else if (e.button === 0&&clickCount < 2) {
let block = grid[_i][_j];
clickCount++;
if (block.innerHTML !== '♥') {
block.innerHTML = '♥';
} else {
block.innerHTML = '';
}
}
else if (e.button === 0&&clickCount < 3) {
let block = grid[_i][_j];
clickCount++;
if (block.innerHTML !== 'U') {
block.innerHTML = 'U';
} else {
block.innerHTML = '';
}
clearInterval(timer);
setTimeout("alert('郭宝!郭宝!情人节快乐!一定要早点开学,就可以早日见面(一个多月,快馋死我了吸溜)——超爱你的海海制作❤')",600);
}
block_open(_i, _j);
function block_open(_i, _j) {
let block = grid[_i][_j];
op(block);
}
function op(block) {
block.isOpen = true;
block.style.background = '#FFECF5';
block.style.cursor = 'default';
}
}
let playState= true
function testAutoPlay () {
return new Promise(resolve => {
if(playState){
let audio = document.createElement('audio');
audio.src = "https://oss.hqgq.com/mp3/piano/2018/0710/1531200652119.mp3"
audio.loop="loop"
document.body.appendChild(audio);
let autoplay = true;
audio.play().then(() => {
autoplay = true;
console.log("正常播放")
}).catch(err => {
console.log("不支持播放")
autoplay = false;
}).finally((e) => {
resolve(autoplay);
});
playState=false
}else{
resolve(false)
}
});
}
let audioInfo = {
autoplay: false,
testAutoPlay () {
return testAutoPlay()
},
setAutoPlayWhenClick () {
function setAutoPlay () {
audioInfo.autoplay = true;
document.removeEventListener('click', setAutoPlay);
document.removeEventListener('touchend', setAutoPlay);
}
document.addEventListener('click', setAutoPlay);
document.addEventListener('touchend', setAutoPlay);
},
init () {
audioInfo.testAutoPlay().then(autoplay => {
if (!audioInfo.autoplay) {
audioInfo.autoplay = autoplay;
}
});
audioInfo.setAutoPlayWhenClick();
}
};
document.addEventListener('click', ()=>{
audioInfo.init();
});
document.addEventListener('touchend', ()=>{
audioInfo.init();
});
<title>
220214❤
</title>
<body ondragstart='return false' oncontextmenu='self.event.returnValue=false'>
<div id='bar'>
<span class='bar'>
剩余雷数:
<label id='count'>
99
</label>
</span>
<span class='bar'>
计时:
<label id='time'>
0
</label>
s
</span>
</div>
<table id='grid'>
</table>
</body>
#bar {
text-align: center;
margin-bottom:20px;
}
.bar {
height: 25px;
width: 125px;
line-height: 25px;
display: inline-block;
border: solid 1px #000;
margin-left: 20px;
margin-right: 20px;
}
#grid {
margin: auto;
}
.blocks {
width: 30px;
height: 30px;
line-height: 30px;
display: block;
text-align: center;
border: solid 1px #000;
user-select: none;
cursor: pointer;
}
.blocks:hover {
background:#ffaad5;
}