Native js pour écrire un simple jeu de taupe
Week-end de congé
Quand je viens de me réveiller, une chaussure d'enfant m'a demandé s'il était difficile d'écrire un jeu de taupes à l'origine?
Réponse: "Il n'est pas difficile de trier la relation logique du jeu de whack-a-mole, cela ne prendra pas plus d'une demi-heure."
Alors je n'y croyais pas. . . .
Tellement juste. . . . . . .
Je lui ai écrit sur place. . . . . .
ps : Je pense que lors de l'écriture des choses, l'accent est mis sur la logique.
Les fonctions communes de Hamster sont:
- 1. L'image d'arrière-plan et la souris sont affichées et cachées au hasard;
- 2. Accumulez des points ou des informations lorsque vous cliquez dessus;
- 3. Le jeu se terminera automatiquement dans le délai spécifié;
- 4. Arrêtez, quittez et rejouez le jeu.
*** C'est fondamentalement ça? ***
C'est facile maintenant, écrire des styles et écrire des codes logiques en fonction des exigences fonctionnelles;
Venir
Structure et style
<style>
* {
padding: 0;
}
html,
body {
width: 90%;
height: 80%;
background-color: grey;
}
h1 {
text-align: center;
}
#box {
width: 90%;
height: 93%;
}
.contbox {
width: 100%;
height: 100%;
margin: auto;
margin-top: 6%;
border: 1px solid greenyellow;
display: flex;
flex-wrap: wrap;
position: relative;
}
.minbox {
width: 32%;
height: 32%;
border: 1px solid hotpink;
margin-left: 1%;
}
.minbox img {
width: 100%;
height: 100%;
}
.textbox {
position: absolute;
top: 55px;
font-size: 26px;
color: #f4f4f4;
}
</style>
<body>
<h1>打地鼠游戏V01版</h1>
<div id="box">
<div class="contbox"></div>
<div class="textbox">
<span class="stops">停止游戏</span>||
<span>信息提示处:</span>
<span class="textboxs"></span>
</div>
</div>
</body>
L'effet est le suivant:
comportement js
var contBox = document.querySelector('.contbox');
var textBoxs = document.querySelector('.textboxs');
var stops = document.querySelector('.stops');
let mouseArr = [];
let jsNum1 = 0, jsNum2 = 0;//计数器
mouseArr.length = 9;//定义盒子个数
for (let i = 0; i < mouseArr.length; i++) {
contBox.innerHTML += `<div class="minbox"><img src='./img/greenbelt.jpg'alt></div>`
}
// 获取img标签
var minBox = document.querySelectorAll('img');
// 封装老鼠随机出现
function showMouse() {
var num = Math.floor((Math.random() * minBox.length));
minBox[num].src = './img/mouse.gif';
setTimeout(`minBox[${
num}].src = './img/greenbelt.jpg'`, 900);
}
// 启动游戏
var mouseStart = setInterval(showMouse, 1500);
// 敲打老鼠
for (let i = 0; i < mouseArr.length; i++) {
minBox[i].onclick = function () {
let str = 'mouse';
if (minBox[i].src.indexOf(str) < 0) {
jsNum1++;
textBoxs.innerText = '菜鸡,你第' + jsNum1 + '次没打到他了';
} else {
jsNum2++;
textBoxs.innerText = '秀儿,你第' + jsNum2 + '次打到他了';
}
}
}
// 停止游戏
stops.onclick = function () {
clearInterval(mouseStart);
alert('游戏已经停止');
}