基于vue实现简易打地鼠游戏

时间:2021-05-18

本文实例为大家分享了vue实现简易打地鼠游戏的具体代码,供大家参考,具体内容如下

<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>打地鼠简易版</title> <script src="js/vue.js"></script> <style type="text/css"> *{margin: 0;padding: 0;} #main{border: 1px solid #000;} .ds{ float: left;border: 1px solid #000;box-sizing: border-box;} .dd{background-color: #3E8F3E;} </style> </head> <body> <div id="app"> <div>倒计时{{t}}</div> <div>分数{{fs}}</div> <div v-if="t<=0">游戏结束</div> <div id="main" v-bind:style="{width:x*w+'px',height:y*h+'px'}"> <div class="ds" v-bind:class="{dd:v==s}" v-on:click="da(v)" v-for="v in x*y" v-bind:style="{width:w+'px',height:h+'px'}"></div> </div> </div> <script type="text/javascript"> var vm=new Vue({ el:'#app', data:{ x:5,//地鼠格列数 y:5,//地鼠格行数 w:100,//地鼠格宽度 h:100,//地鼠格高度 t:10,//时间 dsq:null, dsq2:null, s:0,//地鼠位置 fs:0, ys:true,//用于解决游戏结束点击继续得分问题 ty:false//用于解决连击得分问题 }, methods:{ da(i){ if(this.s==i && this.ys && this.ty){ this.ty=false; this.fs++; } } }, created(){ this.dsq=setInterval(()=>{ this.t--; if(this.t<=0){ clearInterval(this.dsq); clearInterval(this.dsq2); this.ys=false; } },1000); this.dsq2=setInterval(()=>{ this.ty=true this.s=parseInt(Math.random()*this.x*this.y); },2000); } }) </script> </body></html>

简易升级版,多个地鼠,打对得分,打错扣分

<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>打地鼠简易版升级版</title> <script src="js/vue.js"></script> <style type="text/css"> *{margin: 0;padding: 0;} #main{border: 1px solid #000;} .ds{ float: left;border: 1px solid #000;box-sizing: border-box;} .dd{background-color: #3E8F3E;} .dc{background-color: #AC2925;} </style> </head> <body> <div id="app"> <div>倒计时{{t}}</div> <div>分数{{fs}}</div> <div v-if="t<=0">游戏结束</div> <div id="main" v-bind:style="{width:x*w+'px',height:y*h+'px'}"> <div class="ds" v-bind:class="[arr2[arr1.indexOf(v-1)]==1?'dd':'',arr2[arr1.indexOf(v-1)]==0?'dc':'']" v-on:click="da(v-1)" v-for="v in x*y" v-bind:style="{width:w+'px',height:h+'px'}">{{arr2[arr1.indexOf(v-1)]}}</div> </div> </div> <script type="text/javascript"> var vm=new Vue({ el:'#app', data:{ x:5, y:5, w:100, h:100, t:30, dsq:null, dsq2:null, s:4, fs:0, ys:true, arr1:[], arr2:[], arr3:[] }, methods:{ da(i){ if(this.arr1.includes(i)&& this.ys && !this.arr3.includes(i)){ this.arr3.push(i); if(this.arr2[this.arr1.indexOf(i)]==1){ this.fs++; }else{ this.fs--; } } }, sjs(){ var cc=parseInt(Math.random()*this.x*this.y); if(this.arr1.includes(cc)){ this.sjs(); }else{ this.arr1.push(cc); this.arr2.push(parseInt(Math.random()*2)); } } }, created(){ this.dsq=setInterval(()=>{ this.t--; if(this.t<=0){ clearInterval(this.dsq); clearInterval(this.dsq2); this.ys=false; } },1000); this.dsq2=setInterval(()=>{ this.arr1=[]; this.arr2=[]; this.arr3=[]; for(var i=0;i<this.s;i++){ this.sjs(); } },2000); } }) </script> </body></html>

更多有趣的经典小游戏实现专题,分享给大家:

C++经典小游戏汇总

python经典小游戏汇总

python俄罗斯方块游戏集合

JavaScript经典游戏 玩不停

java经典小游戏汇总

javascript经典小游戏汇总

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章