基于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 相关文章推荐
Jquery操作Select 简单方便 一个js插件搞定
Nov 12 Javascript
JavaScript中数组对象的那些自带方法介绍
Mar 12 Javascript
JS 添加千分位与去掉千分位的示例
Jul 11 Javascript
JQuery 图片滚动轮播示例代码
Mar 24 Javascript
javascript中href和replace的比较(详解)
Nov 25 Javascript
underscore之Chaining_动力节点Java学院整理
Jul 10 Javascript
element ui table 增加筛选的方法示例
Nov 02 Javascript
微信小程序左滑删除功能开发案例详解
Nov 12 Javascript
element-ui如何防止重复提交的方法步骤
Dec 09 Javascript
JavaScript数组类型Array相关的属性与方法详解
Sep 08 Javascript
动态实现element ui的el-table某列数据不同样式的示例
Jan 22 Javascript
Element-ui 自带的两种远程搜索(模糊查询)用法讲解
Jan 29 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
ThinkPHP模板范围判断输出In标签与Range标签用法详解
2014/06/30 PHP
PHP类的反射用法实例
2014/11/03 PHP
Yii列表定义与使用分页方法小结(3种方法)
2016/07/15 PHP
PHP判断函数是否被定义的方法
2019/06/21 PHP
PHP实现简单的协程任务调度demo示例
2020/02/01 PHP
求得div 下 img的src地址的js代码
2007/02/28 Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
2013/04/02 Javascript
JS去除iframe滚动条的方法
2015/04/01 Javascript
基于jQuery实现简单的折叠菜单效果
2015/11/23 Javascript
php基于redis处理session的方法
2016/03/14 Javascript
Bootstrap3多级下拉菜单
2017/02/24 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
2017/12/26 Javascript
微信小程序版本自动更新的方法
2019/06/14 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
2020/02/01 Javascript
python中的sort方法使用详解
2014/07/25 Python
windows上安装Anaconda和python的教程详解
2017/03/28 Python
Python实现抓取网页生成Excel文件的方法示例
2017/08/05 Python
Python控制键盘鼠标pynput的详细用法
2019/01/28 Python
Python实现获取系统临时目录及临时文件的方法示例
2019/06/26 Python
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
opencv导入头文件时报错#include的解决方法
2019/07/31 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
2020/02/07 Python
python 按钮点击关闭窗口的实现
2020/03/04 Python
python 获取字典键值对的实现
2020/11/12 Python
爱尔兰旅游网站:ebookers.ie
2020/01/24 全球购物
Linux不知道文件后缀名怎么判断文件类型
2012/04/26 面试题
清洁工表扬信
2014/01/08 职场文书
创业计划书如何吸引他人眼球
2014/01/10 职场文书
消防先进事迹材料
2014/02/10 职场文书
乡文化站暑期培训方案
2014/08/28 职场文书
今日说法观后感
2015/06/08 职场文书
高一军训口号
2015/12/25 职场文书
七年级英语教学反思
2016/02/15 职场文书
百善孝为先:关于孝道的经典语录
2019/10/18 职场文书
python生成可执行exe控制Microsip自动填写号码并拨打功能
2021/06/21 Python
改造DE1103三步曲
2022/04/07 无线电