温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

利用vue编写一个打地鼠小游戏

发布时间:2020-11-07 17:07:55 来源:亿速云 阅读:201 作者:Leah 栏目:开发技术

这篇文章运用简单易懂的例子给大家介绍利用vue编写一个打地鼠小游戏,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

效果图如下:

利用vue编写一个打地鼠小游戏

代码如下:

<template>
 <div class="game">
 <h3>打地鼠游戏</h3>
 <div class="wraper">
  <div class="item" v-for="n in TOTAL" :key="n">
  <div : @click="clickItem">{{n}}号地鼠</div>
  </div>
 </div>
 <div class="scoped">
  <div class="set">
  <p>设置参数</p>
  <p>
   速度: <input type="number" v-model="setSpeed">
  </p>
  <p>
   总数:<input type="number" v-model="setNum">
  </p>
  <p>
   <button @click="playGame">开始</button>
  </p>
  </div>
  <div class="count set">
  <h4>统计分数面板</h4>
  <h4>总数: {{TOTAL}}</h4>
  <h4>击中: {{clickNum}}</h4>
  <h4>击中率: {{level}}%</h4>
  </div>
 </div>
 </div>
</template>
 
<script>
 
export default {
 name: 'App',
 data () {
 return {
  clickFlag: true, // 单个地鼠只能点击一次
  setNum: 40, // 绑定设置地洞数量
  setSpeed: 1000, // 绑定设置地鼠出现速度
  speed: 2000, // 地鼠出现速度
  random: '', // 随机出现的地鼠位置
  TOTAL: 40, // 地鼠总数
  count: 0, // 统计总共出现了多少次地鼠同于判断不能大于总数
  clickNum: 0, // 点中地鼠统计
  timmerId: null
 };
 },
 computed: {
 // 统计打中的地鼠数量
 level: function () {
  let num = ((this.clickNum / this.TOTAL) * 100).toFixed(2) || 0;
  return num;
 }
 },
 created () {
 },
 mounted () {
 },
 methods: {
 // 开始游戏
 playGame () {
  this.random = '';
  this.speed = parseInt(this.setSpeed);
  this.TOTAL = parseInt(this.setNum);
  clearInterval(this.timmerId);
  this.timmerId = setInterval(() => {
  this.random = Math.floor(Math.random() * this.TOTAL + 1);
  this.clickFlag = true; // 开放点击
  this.count++;
  if (this.count >= this.TOTAL) {
   clearInterval(this.timmerId);
  }
  }, this.speed);
 },
 // 点击地鼠
 clickItem () {
  if (this.clickFlag) {
  (this.count < this.TOTAL) && this.clickNum++;
  this.clickFlag = false;
  }
 }
 }
};
</script>
<style lang="less" scoped>
.game {
 border: 1px solid #ccc;
 width: 1200px;
 padding: 10px;
 user-select: none;
 &::after {
 content: "";
 display: block;
 clear: both;
 }
 h3 {
 font-size: 16px;
 color: #eee;
 padding: 10px 0;
 margin-bottom: 20px;
 border-bottom: 1px solid #ccc;
 }
 .wraper {
 width: 900px;
 float: left;
 }
 .scoped {
 width: 260px;
 height: 540px;
 float: left;
 padding-left: 15px;
 border-left: 1px solid #ccc;
 h4 {
  font-size: 16px;
  color: #fff;
 }
 .set {
  height: 200px;
  width: 100%;
  border: 1px solid #ccc;
  p {
  padding: 10px;
  text-align: center;
  color: #fff;
  font-size: 16px;
  button {
   width: 90%;
  }
  }
 }
 .count {
  .set;
  margin-top: 20px;
  padding-top: 25px;
  text-align: center;
  line-height: 40px;
  h4 {
  font-weight:normal;
  }
 }
 }
 .item {
 display: inline-block;
 height: 100px;
 width: 100px;
 border-radius: 50px;
 margin: 0 10px 10px 0;
 text-align: center;
 line-height: 100px;
 font-size: 20px;
 border: 1px solid #ccc;
 div {
  height: 100%;
  background: #eee;
  border-radius: 50px;
 }
 }
}
</style>

关于利用vue编写一个打地鼠小游戏就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI