Home > Web Front-end > JS Tutorial > Minesweeper game implemented using vue (with code)

Minesweeper game implemented using vue (with code)

不言
Release: 2018-11-14 10:05:13
forward
3634 people have browsed it

The content of this article is about the minesweeper game implemented using vue (with code). It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

I have nothing to do when I have free time at work, and I do it on a whim. I want to use the vue I just learned to write a minesweeper game. . Okay, let’s get straight to the point.

The first step is to make a 10x10 grid map. . I won’t talk about this pcss. . Everyone does.

Minesweeper game implemented using vue (with code)

The second step is to create an array to generate random minefields.

let arr = []
for (var i = 0; i <p>The third step is to create a json array and let it loop to generate the grid on the page. </p><pre class="brush:php;toolbar:false">  let arrs = []
  for (var j = 0; j  -1) {
      obj.isLei = true // 是否是地雷
    } else {
      obj.isLei = false // 是否是地雷
    }
    obj.id = j
    obj.isTrue = false // 安全区样式
    obj.isFalse = false // 雷区样式
    arrs.push(obj)
  }
Copy after login

The data looks like this

Minesweeper game implemented using vue (with code)

The fourth step is to click on the grid to trigger the event. Determine whether this is a minefield. It displays green if it is safe, otherwise it displays red.

toclick (e) {
  console.log(e.isTrue)
  if (e.isLei === true) {
    e.isFalse = true
  } else {
    e.isTrue = true
    this.surPlus = this.surPlus - 1
  }
}
Copy after login

The following is all the code:

<script>
export default{
  data () {
    return {
      lattice: null, // 100个格子
      surPlus: 90 // 安全区。。因为是10个雷。所以就是100-10 = 90
    }
  },
  methods: {
    toclick (e) {
      console.log(e.isTrue)
      if (e.isLei === true) {
        e.isFalse = true
      } else {
        e.isTrue = true
        this.surPlus = this.surPlus - 1
      }
    },
    random () {
      let arr = []
      for (var i = 0; i < 10; i++) {
        arr.push(Math.floor(Math.random() * 100))
      }
      let arrs = []
      for (var j = 0; j < 100; j++) {
        let obj = {}
        if (arr.indexOf(j) > -1) {
          obj.isLei = true // 是否是地雷
        } else {
          obj.isLei = false // 是否是地雷
        }
        obj.id = j
        obj.isTrue = false // 安全区样式
        obj.isFalse = false // 雷区样式
        arrs.push(obj)
      }
      this.lattice = arrs
      console.log(arrs)
    }
  },
  mounted () {
    this.random()
  }
}
</script>
<template>
  <div>
      <div>
        <div></div>
      </div>
      <div>剩余{{surPlus}}个安全格子</div>
  </div>
</template>
<style>
.page{
    overflow: hidden;
}
.bg{
    border:1px solid #000;
    width:600px;
    height:600px;
    margin:20px auto;
}
.lattice{
    border: 1px solid #ccc;
    box-sizing: border-box;
    float:left;
    width:60px;
    height:60px;
}
.surplus{
    line-height: 38px;
    height:38px;
    width:150px;
    margin:0 auto;
}
.security{
    background-color: green;
}
.danger{
    background-color: red;
}
</style>
Copy after login

The final look is probably like this:

Minesweeper game implemented using vue (with code)

The above is the detailed content of Minesweeper game implemented using vue (with code). For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:segmentfault.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template