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

Tia ·
更新时间:2024-11-01
· 745 次阅读

本文实例为大家分享了微信小程序实现井字棋游戏的具体代码,供大家参考,具体内容如下

效果图

.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;       }     }   }, })



微信 小程序 井字棋 程序 微信小程序

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章