柿霖不是林 发表于 2017-3-7 14:36:36

微信小程序demo:Math Game;数字游戏

本帖最后由 柿霖不是林 于 2017-3-7 14:38 编辑


undefined好像我小时候玩的七巧板;




//index.js
//获取应用实例
var app = getApp()
var mapNumber = ['1','2','3','4','5','6','7','8','']
var emptyIndex = 8
var moveFirstPoint
var moveLastPoint
Page({
data: {
    time:'00:00\n',
    num: mapNumber
},
//事件处理函数
bindViewTap: function() {
    wx.navigateTo({
      url: '../logs/logs'
    })
},
onLoad: function () {
    console.log('onLoad')
    var that = this
    that.initMap()

},
initMap: function() {
    console.log('initMap')
    var tempNumbers = ['1','2','3','4','5','6','7','8','']
    for(var i = 0; i < 10; i++){
      var indexA = Math.round(Math.random()*7)
      var indexB = Math.round(Math.random()*7)
      console.log('swap:' + indexA + '<->' + indexB)
      var tempNum = tempNumbers
      tempNumbers = tempNumbers
      tempNumbers = tempNum
    }
    mapNumber = tempNumbers
    emptyIndex = 8
    this.setData({
      num:mapNumber
    })
   
},

checkresult: function() {
    var win = true;
    for(var i = 0; i < 8; i++){
      if((i+1).toString() != mapNumber){
      win = false;
      break;
      }
    }
    if(win){
      wx.showToast({
      title: '成功',
      icon: 'success',
      })
      var that = this
      setTimeout(function(){
      that.initMap();
      },2000)
      
    }
   
},

swapMap: function(indexA,indexB){
    var tempNum = mapNumber
    mapNumber = mapNumber
    mapNumber = tempNum
    this.setData({
      num:mapNumber
    })
},

movedirection: function(direction){//1:left, 2:right, 3:up, 4:down
    console.log('move direction' + direction)
    var newIndex = -1
    if(direction == 1 && (emptyIndex%3) != 2){
      newIndex = emptyIndex + 1
    }else if(direction == 2 && (emptyIndex%3 != 0)){
      newIndex = emptyIndex - 1
    }else if(direction == 3 && (emptyIndex/3 < 2)){
      newIndex = emptyIndex + 3
    }else if(direction == 4 && (emptyIndex/3 != 0)){
      newIndex = emptyIndex - 3
    }

    if(newIndex >= 0){
       this.swapMap(newIndex,emptyIndex)
       emptyIndex = newIndex
       this.checkresult()
    }
   
},

handletouchmove: function(e){
    if(!moveFirstPoint){
      moveFirstPoint = e.touches
    }else{
      moveLastPoint = e.touches
    }
},
handletouchend: function(e){
    if(moveFirstPoint && moveLastPoint){
      var moveH = moveFirstPoint.pageX - moveLastPoint.pageX
      var moveV = moveFirstPoint.pageY - moveLastPoint.pageY
      moveFirstPoint = null
      moveLastPoint = null
      if(Math.abs(moveH) < 30 && Math.abs(moveV) < 30){
      console.log('move ignore');
      }
      if(Math.abs(moveH) > Math.abs(moveV)){
      //h swipe
      if(moveH < 0){
          //swipe right
          this.movedirection(2)
      }else{
          this.movedirection(1)
      }
      }else{
      //V swipe
      if(moveV < 0){
          //swipe down
          this.movedirection(4)
      }else{
          this.movedirection(3)
      }
      }
    }
},
handletouchcancel: function(e){
    moveFirstPoint = null
    moveLastPoint = null
},

canvashandletouchmove: function(e) {
}

})



**** Hidden Message *****

wu934364328 发表于 2017-11-6 13:09:17

Very Good!

123123123qwe 发表于 2018-3-1 16:34:21

正需要,支持楼主大人了!

qizhucc 发表于 2018-8-8 22:41:37

看看,好像满给力···

卖柴火的小尼姑 发表于 2018-8-20 14:55:55

:Math Game;数字游戏 [修改]

xiaobaixue 发表于 2018-12-3 13:09:06

玩玩试试哈!

放声大哭发 发表于 2020-2-24 12:47:09

6666666666666666666

jack369 发表于 2020-3-27 15:38:35

专注于与个人游戏开发者合作,有产品的朋友联系微信号jim20180688,详聊
页: [1]
查看完整版本: 微信小程序demo:Math Game;数字游戏