用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
  • TA的每日心情
    慵懒
    2017-1-6 10:46
  • 签到天数: 2 天

    [LV.1]初来乍到

    173

    主题

    182

    帖子

    945

    金钱

    咫尺尊享

    Rank: 5Rank: 5

    积分
    0
    2017-3-7 14:36:36 柿霖不是林 咫尺尊享 楼主 4766
    本帖最后由 柿霖不是林 于 2017-3-7 14:38 编辑

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




    [HTML] 纯文本查看 复制代码
    //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[indexA]
          tempNumbers[indexA] = tempNumbers[indexB]
          tempNumbers[indexB] = 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[i]){
            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[indexA]
        mapNumber[indexA] = mapNumber[indexB]
        mapNumber[indexB] = 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[0]
        }else{
          moveLastPoint = e.touches[0]
        }
      },
      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) {
      }
     
    })




    游客,如果您要查看本帖隐藏内容请回复

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    使用道具 举报 回复
    Very Good!
    使用道具 举报 回复
    正需要,支持楼主大人了!
    看看,好像满给力···
    :Math Game;数字游戏 [修改]
    发新帖
    *滑动验证:
    您需要登录后才可以回帖 登录 | 立即注册
    咫尺论坛|小程序开发社区
    X