微信小程序五子棋游戏的悔棋实现方法【附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 相关文章推荐
srcElement表格样式
Sep 03 Javascript
Mootools 1.2教程(21)——类(二)
Sep 15 Javascript
setTimeout和setInterval的区别你真的了解吗?
Mar 31 Javascript
js动态在form上插入enctype=multipart/form-data的问题
May 24 Javascript
JS中setInterval、setTimeout不能传递带参数的函数的解决方案
Apr 28 Javascript
jquery实现树形二级菜单实例代码
Nov 20 Javascript
jquery实现像栅栏一样左右滑出式二级菜单效果代码
Aug 24 Javascript
浅谈node.js中async异步编程
Oct 22 Javascript
微信小程序链接传参并跳转新页面
Nov 29 Javascript
vue实现点击隐藏与显示实例分享
Feb 13 Javascript
Element-UI中Upload上传文件前端缓存处理示例
Feb 21 Javascript
JS添加或删除HTML dom元素的方法实例分析
Mar 05 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
ThinkPHP模板之变量输出、自定义函数与判断语句用法
2014/11/01 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
2014/12/17 PHP
php实现批量删除挂马文件及批量替换页面内容完整实例
2016/07/08 PHP
微信开发之php表单微信中自动提交两次问题解决办法
2017/01/08 PHP
javascript与CSS复习(《精通javascript》)
2010/06/29 Javascript
js事件(Event)知识整理
2012/10/11 Javascript
js中的replace方法使用介绍
2013/10/28 Javascript
JavaScript排序算法之希尔排序的2个实例
2014/04/04 Javascript
jquery数组过滤筛选方法grep()简介
2014/06/06 Javascript
javascript常用函数归纳整理
2014/10/31 Javascript
jQuery实现图片走马灯效果的原理分析
2016/01/16 Javascript
JS三级可折叠菜单实现方法
2016/02/29 Javascript
ionic3实战教程之随机布局瀑布流的实现方法
2017/12/28 Javascript
vue3.0 CLI - 2.3 - 组件 home.vue 中学习指令和绑定
2018/09/14 Javascript
迅速了解一下ES10中Object.fromEntries的用法使用
2019/03/05 Javascript
详解vue使用插槽分发内容slot的用法
2019/03/28 Javascript
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
2019/04/09 Javascript
环形加载进度条封装(Vue插件版和原生js版)
2019/12/04 Javascript
Vue中keep-alive组件作用详解
2020/02/04 Javascript
python实现多线程抓取知乎用户
2016/12/12 Python
Java编程迭代地删除文件夹及其下的所有文件实例
2018/02/10 Python
python求质数的3种方法
2018/09/28 Python
Python绘制堆叠柱状图的实例
2019/07/09 Python
python DataFrame转dict字典过程详解
2019/12/26 Python
Keras自定义IOU方式
2020/06/10 Python
浅谈CSS3鼠标移入图片动态提示效果(transform)
2017/11/06 HTML / CSS
英国知名衬衫品牌美国网站:Charles Tyrwhitt美国
2016/08/28 全球购物
英国历史最悠久的DJ设备供应商:DJ Finance、DJ Warehouse、The DJ Shop
2019/09/04 全球购物
大学生社会实践评语
2014/04/25 职场文书
市场营销策划方案
2014/06/11 职场文书
2014领导班子四风问题对照检查材料思想汇报
2014/09/21 职场文书
体育运动会广播稿
2014/10/05 职场文书
2015年学校政教工作总结
2015/07/20 职场文书
《窃读记》教学反思
2016/02/18 职场文书
Nginx本地目录映射实现代码实例
2021/03/31 Servers
Redis数据同步之redis shake的实现方法
2022/04/21 Redis