微信小程序如何实现井字棋游戏

这篇文章主要介绍了微信小程序如何实现井字棋游戏的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序如何实现井字棋游戏文章都会有所收获,下面我们一起来看看吧。

效果图

微信小程序如何实现井字棋游戏  微信小程序 第1张

.wxml

<view class="title">
  <view wx:if="{{currindex < 9 || defeat}}">
  {{defeat?'胜出方:':'轮到了:'}}<span class="span">{{defeat?(outindex?'○':'x'):(outindex?'x':'○')}}</span>
  </view>
  <view wx:else>平局</view>
</view>
<view class="curr_toe">
  <view wx:for="{{detail}}" wx:key="index" class="curr_item" 
  bindtap="{{item.type > 0 || defeat?'':'tactoe'}}" data-index="{{index}}">
    <view wx:if="{{item.type > 0}}">{{item.type == 1?'○':'×'}}</view>
  </view>
</view>
<button wx:if="{{defeat || currindex > 8}}" bindtap="reset">重新开始</button>

.wxss

page{background: #fff;}
.title{width: 100%;display: flex;align-items: center;justify-content: center;margin-top: 20rpx;font-size: 34rpx;}
.span{font-size: 60rpx;}
.curr_toe{width: 510rpx;height: 510rpx;margin: 30rpx calc((100% - 500rpx) / 2);border-top:1px solid #ddd;border-right: 1px solid #ddd;}
.curr_item{border-left: 1px solid #ddd;width: 33.33%;height: 170rpx;display: flex;align-items: center;justify-content: center;color:red;
font-size:170rpx;float: left;border-bottom: 1px solid #ddd;}

.js

Page({
  data: {
    lines:[
      [0, 1, 2],
      [3, 4, 5],
      [6, 7, 8],
      [0, 3, 6],
      [1, 4, 7],
      [2, 5, 8],
      [0, 4, 8],
      [2, 4, 6],
    ]
  },
  onLoad: function (options) {
    this.reset()
  },
  reset(e){
    this.setData({
      detail:[
        {type:0},{type:0},{type:0},{type:0},{type:0},{type:0},{type:0},{type:0},{type:0}
      ],
      defeat:false,
      outindex:false,
      currindex:0
    })
  },
  tactoe(e){
    var index = e.currentTarget.dataset.index,currindex = this.data.currindex,
    detail = this.data.detail,outindex = this.data.outindex;
    currindex++
    detail[index].type = outindex?2:1
    this.setData({
      detail:detail,
      currindex:currindex,
      outindex:!outindex
    })
    if(currindex > 4){
      this.validate()
    }
  },
  validate(e){
    var detail = this.data.detail,lines = this.data.lines;
    for(let i = 0;i < lines.length;i++){
      const [a, b, c] = lines[i];
      if(detail[a].type && detail[a].type == detail[b].type && detail[a].type == detail[c].type){
        wx.showModal({
          title: '提示',
          content: (detail[a].type == 1?'○':'×')+'获得了胜利',
          showCancel:false,
          confirmText:'我知道了'
        })
        this.setData({
          defeat:true
        })
        return false;
      }
    }
  },
})

关于“微信小程序如何实现井字棋游戏”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“微信小程序如何实现井字棋游戏”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注蜗牛博客行业资讯频道。

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

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论电报频道链接