基于vue实现简易打地鼠游戏
程序员文章站
2022-04-19 22:04:58
本文实例为大家分享了vue实现简易打地鼠游戏的具体代码,供大家参考,具体内容如下
本文实例为大家分享了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>
更多有趣的经典小游戏实现专题,分享给大家:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。