微信小程序五子棋游戏的悔棋实现方法【附demo源码下载】


Posted in Javascript onFebruary 20, 2019

本文实例讲述了微信小程序五子棋游戏的悔棋实现方法。分享给大家供大家参考,具体如下:

DEMO下载

效果图

微信小程序五子棋游戏的悔棋实现方法【附demo源码下载】

分析

悔棋功能需要的操作:

1. 判断当前持棋人;
2. 清空棋盘;
3. 将当前持棋人的棋子数组的最后一个棋子还原到全局坐标数组的位置;
4. 删除当前持棋人的棋子数组的该坐标。

js

this.page.changeUndo = function(e){
   if (self.START_GAME){
    var lastM = self.myPoint.length - 1;
    var LastA = self.AIPoint.length - 1;
    self.drawChessboard();
    if (self.boolAI && !self.boolMy && lastM >= 0){
     self.ABSCISSA_ARRAY[self.myPoint[lastM].pointY].push(self.myPoint[lastM]);
     self.myPoint.splice(lastM, 1);
    } else if (!self.boolAI && self.boolMy && LastA >= 0){
     self.ABSCISSA_ARRAY[self.AIPoint[LastA].pointY].push(self.AIPoint[LastA]);
     self.AIPoint.splice(LastA, 1);
    }
    self.drawAll();
   }
  }

注意

1. 判断游戏是否开始,如果没开始,就还没落子,不能悔棋;
2. 判断持棋人,对其数组操作;
3. 同时判断持棋人数组坐标个数,如果没有,则未落子;
4. 重点是重绘棋盘,导致棋盘有一点闪动,未找到原因,哪位大神知道,帮忙解决一下

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
js Form.elements[i]的使用实例
Nov 13 Javascript
javascript中不提供sleep功能如何实现这个功能
May 27 Javascript
JS实现仿苹果底部任务栏菜单效果代码
Aug 28 Javascript
jQuery Easyui datagrid/treegrid 清空数据
Jul 09 Javascript
原生JS实现首页进度加载动画
Sep 14 Javascript
AngularJS入门教程一:路由用法初探
May 27 Javascript
详细介绍RxJS在Angular中的应用
Sep 23 Javascript
原生JavaScript实现remove()和recover()功能示例
Jul 24 Javascript
三步实现ionic3点击退出app程序
Sep 17 Javascript
p5.js绘制创意自画像
Nov 04 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
Nov 26 Javascript
openlayers4实现点动态扩散
Aug 17 Javascript
Vue.js特性Scoped Slots的浅析
Feb 20 #Javascript
微信小程序五子棋游戏的棋盘,重置,对弈实现方法【附demo源码下载】
Feb 20 #Javascript
详解关于element级联选择器数据回显问题
Feb 20 #Javascript
JavaScript ES2019中的8个新特性详解
Feb 20 #Javascript
echarts实现词云自定义形状的示例代码
Feb 20 #Javascript
JS拖拽排序插件Sortable.js用法实例分析
Feb 20 #Javascript
详解webpack 最简打包结果分析
Feb 20 #Javascript
You might like
php设计模式 Adapter(适配器模式)
2011/06/26 PHP
PHP错误提示的关闭方法详解
2013/06/23 PHP
php 实现一个字符串加密解密的函数实例代码
2016/11/01 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
javascript使用中为什么10..toString()正常而10.toString()出错呢
2013/01/11 Javascript
在jQuery中 关于json空对象筛选替换
2013/04/15 Javascript
关于Javascript与iframe的那些事儿
2013/07/04 Javascript
JavaScript通过正则表达式实现表单验证电话号码
2014/03/07 Javascript
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
js实现分享到随页面滚动而滑动效果的方法
2015/04/10 Javascript
JavaScript+html5 canvas绘制的小人效果
2016/01/27 Javascript
jQuery如何解决IE输入框不能输入的问题
2016/10/08 Javascript
vue自定义指令实现v-tap插件
2016/11/03 Javascript
vue2中filter()的实现代码
2017/07/09 Javascript
详解nodejs的express如何自动生成项目框架
2017/07/12 NodeJs
Es6 Generator函数详细解析
2018/02/24 Javascript
vue :src 文件路径错误问题的解决方法
2018/05/15 Javascript
vue-router二级导航切换路由及高亮显示的实现方法
2019/07/10 Javascript
在layui中layer弹出层点击事件无效的解决方法
2019/09/05 Javascript
Javascript实现关闭广告效果
2021/01/29 Javascript
[58:57]2018DOTA2亚洲邀请赛3月29日小组赛B组 Effect VS VGJ.T
2018/03/30 DOTA
python中遍历文件的3个方法
2014/09/02 Python
python+numpy+matplotalib实现梯度下降法
2018/08/31 Python
python 求定积分和不定积分示例
2019/11/20 Python
Python进程间通信multiprocess代码实例
2020/03/18 Python
基于Jquery和Css3代码制作可以缩放的搜索框
2015/11/19 HTML / CSS
澳大利亚儿童和婴儿产品在线商店:Lime Tree Kids
2017/10/05 全球购物
PHP面试题及答案二
2015/05/23 面试题
初中班级口号
2014/06/09 职场文书
红领巾心向党演讲稿
2014/09/10 职场文书
2015年团支部年度工作总结
2015/05/27 职场文书
高中升旗仪式主持词
2015/07/03 职场文书
2016年入党心得体会范文
2016/01/23 职场文书
Redis 中使用 list,streams,pub/sub 几种方式实现消息队列的问题
2022/03/16 Redis