微信小程序五子棋游戏的悔棋实现方法【附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 浮动层菜单收藏
Jan 16 Javascript
JavaScript去掉空格的方法集合
Dec 28 Javascript
常见效果实现之返回顶部(结合淡入、淡出、减速滚动)
Jan 04 Javascript
javascript获取url上某个参数的方法
Nov 08 Javascript
当鼠标滑过文本框自动选中输入框内容的JS代码分享
Nov 26 Javascript
用js控制组织结构图可以任意拖拽到指定位置
Jan 17 Javascript
如何调试异步加载页面里包含的js文件
Oct 30 Javascript
js使用post 方式打开新窗口
Feb 26 Javascript
JavaScript中setTimeout的那些事儿
Nov 14 Javascript
基于Vue 服务端Cookies删除的问题
Sep 21 Javascript
JS拖动选择table里的单元格完整实例【基于jQuery】
May 28 jQuery
js实现小星星游戏
Mar 23 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支持分块与断点续传文件下载功能代码
2014/05/09 PHP
php中chdir()函数用法实例
2014/11/13 PHP
function, new function, new Function之间的区别
2007/03/08 Javascript
JavaScript 不只是脚本
2007/05/30 Javascript
JQuery 表格操作(交替显示、拖动表格行、选择行等)
2009/07/29 Javascript
javascript实现yield的方法
2013/11/06 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
JavaScript实现拖拽网页内元素的方法
2015/04/15 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
2015/12/17 Javascript
盘点javascript 正则表达式中 中括号的【坑】
2016/03/16 Javascript
JavaScript评论点赞功能的实现方法
2017/03/13 Javascript
详解用node-images 打造简易图片服务器
2017/05/08 Javascript
原生JS获取元素的位置与尺寸实现方法
2017/10/18 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
微信小程序实现团购或秒杀批量倒计时
2020/11/01 Javascript
基于Vue+element-ui 的Table二次封装的实现
2018/07/20 Javascript
Vue cli3 库模式搭建组件库并发布到 npm的流程
2018/10/12 Javascript
jQuery Migrate 插件用法实例详解
2019/05/22 jQuery
使用pkg打包ThinkJS项目的方法步骤
2019/12/30 Javascript
js 将多个对象合并成一个对象 assign方法的实现
2020/09/24 Javascript
React 条件渲染最佳实践小结(7种)
2020/09/27 Javascript
CentOS 8.2服务器上安装最新版Node.js的方法
2020/12/16 Javascript
django+echart绘制曲线图的方法示例
2018/11/26 Python
python 获取页面表格数据存放到csv中的方法
2018/12/26 Python
Python GUI编程 文本弹窗的实例
2019/06/11 Python
django-rest-swagger对API接口注释的方法
2019/08/29 Python
pytorch查看模型weight与grad方式
2020/06/24 Python
浅析Python的命名空间与作用域
2020/11/25 Python
PAUL HEWITT手表美国站:德国北部时尚生活配饰品牌,船锚元素
2017/11/18 全球购物
eBay爱尔兰站:eBay.ie
2019/08/09 全球购物
公共汽车、火车和飞机票的通用在线预订和销售平台:INFOBUS
2019/11/30 全球购物
总经理秘书工作职责
2013/12/26 职场文书
麦当劳辞职信范文
2014/01/18 职场文书
在校生自我鉴定
2014/01/23 职场文书
社区服务活动总结
2014/05/07 职场文书
大学生预备党员自我评价
2015/03/04 职场文书