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


Posted in Javascript onAugust 21, 2020

本文实例为大家分享了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>

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

基于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;}
  .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>

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

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

Javascript 相关文章推荐
JS JavaScript获取Url参数,src属性参数
Mar 09 Javascript
jQuery入门介绍之基础知识
Jan 13 Javascript
JavaScript实现数组在指定位置插入若干元素的方法
Apr 06 Javascript
js带缩略图的图片轮播效果代码分享
Sep 14 Javascript
基于jQuery实现仿搜狐辩论投票动画代码(附源码下载)
Feb 18 Javascript
javascript设计模式之module(模块)模式
Aug 19 Javascript
get  post jsonp三种数据交互形式实例详解
Aug 25 Javascript
vue动画效果实现方法示例
Mar 18 Javascript
Vue事件修饰符native、self示例详解
Jul 09 Javascript
vue 实现通过vuex 存储值 在不同界面使用
Nov 11 Javascript
原生JS实现九宫格抽奖
Sep 13 Javascript
JavaScript手写数组的常用函数总结
Nov 22 Javascript
vue实现打地鼠小游戏
Aug 21 #Javascript
js实现滑动进度条效果
Aug 21 #Javascript
探索浏览器页面关闭window.close()的使用详解
Aug 21 #Javascript
vue组件开发之tab切换组件使用详解
Aug 21 #Javascript
vue组件开发之slider组件使用详解
Aug 21 #Javascript
Vue左滑组件slider使用详解
Aug 21 #Javascript
vue实现移动端触屏拖拽功能
Aug 21 #Javascript
You might like
php快速url重写 更新版[需php 5.30以上]
2010/04/20 PHP
php下用cookie统计用户访问网页次数的代码
2010/05/09 PHP
解决php接收shell返回的结果中文乱码问题
2014/01/23 PHP
php数组编码转换示例详解
2014/03/11 PHP
分享一则PHP定义函数代码
2015/02/26 PHP
WordPress中调试缩略图的相关PHP函数使用解析
2016/01/07 PHP
ThinkPHP实现附件上传功能
2017/04/27 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
2019/10/09 PHP
csdn 批量接受好友邀请
2009/02/19 Javascript
DWR Ext 加载数据
2009/03/22 Javascript
JavaScript 面向对象编程(2) 定义类
2010/05/18 Javascript
通过jquery还原含有rowspan、colspan的table的实现方法
2012/02/10 Javascript
js setTimeout 参数传递使用介绍
2013/08/13 Javascript
jquery实现简单的遮罩层
2016/01/08 Javascript
AngularJs Injecting Services Into Controllers详解
2016/09/02 Javascript
需要牢记的JavaScript基础知识
2016/09/25 Javascript
JS调用某段SQL语句的方法
2016/10/20 Javascript
js 打开新页面在屏幕中间的实现方法
2016/11/02 Javascript
js 定位到某个锚点的方法
2016/11/19 Javascript
JS多文件上传的实例代码
2017/01/11 Javascript
jsonp跨域获取数据的基础教程
2018/07/01 Javascript
vue-cli3 项目从搭建优化到docker部署的方法
2019/01/28 Javascript
vue eslint简要配置教程详解
2019/07/26 Javascript
p5.js绘制旋转的正方形
2019/10/23 Javascript
JavaScript JSON使用原理及注意事项
2020/07/30 Javascript
Python中pygame安装方法图文详解
2015/11/11 Python
Python实现Sqlite将字段当做索引进行查询的方法
2016/07/21 Python
Linux上使用Python统计每天的键盘输入次数
2019/04/17 Python
Python调用.NET库的方法步骤
2019/12/27 Python
Python colormap库的安装和使用详情
2020/10/06 Python
Python用SSH连接到网络设备
2021/02/18 Python
详解CSS3弹性伸缩盒
2020/09/21 HTML / CSS
护理职业生涯规划书
2014/01/24 职场文书
物流毕业生个人的自我评价
2014/02/13 职场文书
“学党章、守党纪、讲党规”学习心得体会
2016/01/14 职场文书
Spring Security动态权限的实现方法详解
2022/06/16 Java/Android