我用原生 js 写了一个简单的打地鼠游戏。周末刚睡醒数据报告数据报告,一个童鞋问我写原生仓鼠游戏难不难?答:“你可以理清打地鼠游戏的逻辑关系,不难,需要半个小时。那我就不信了……所以……我在网上给他写了spot ps:我想,写点东西打地鼠游戏背景,重点在于逻辑。Whack-a-Mole的常用功能包括:1.背景图片和鼠标随机显示和隐藏;2.积分或点击时信息提示;3.在指定时间内自动结束游戏;4.停止、退出、重玩游戏。***基本就这样了?***现在就简单了,写风格,根据功能需求编写逻辑代码;结构和风格
原生js写个简单的周末打地鼠游戏
刚睡觉起来,有个童鞋问我原生写地鼠游戏难不难?
回答:“你理清打地鼠游戏的逻辑关系,就不难,半个钟都要不了。
然后不信。。。于是就。。。现场写了个给他
ps:我觉得,写东西的时候,重点是逻辑。
whack-a-mole 的常见功能包括:
现在就简单了,写样式打地鼠游戏背景,根据功能需求写逻辑代码;
来
结构和风格
<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>
效果如下:
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 += ``
}
// 获取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('游戏已经停止');
}
一个简单的打地鼠游戏就是这样实现的