微信小程序五子棋游戏的悔棋实现方法【附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 相关文章推荐
如何用javascript去掉字符串里的所有空格
Feb 08 Javascript
javascript 函数式编程
Aug 16 Javascript
jquery.fileEveryWhere.js 一个跨浏览器的file显示插件
Oct 24 Javascript
showModalDialog在谷歌浏览器下会返回Null的解决方法
Nov 27 Javascript
js操作table示例(个人心得)
Nov 29 Javascript
js判断横竖屏及禁止浏览器滑动条示例
Apr 29 Javascript
js判断一个字符串是以某个字符串开头的简单实例
Dec 27 Javascript
基于jQuery实现火焰灯效果导航菜单
Jan 04 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
Jun 22 Javascript
JS实现点击拉拽轮播图pc端移动端适配
Sep 05 Javascript
angular ng-model 无法获取值的处理方法
Oct 02 Javascript
详解ES6数组方法find()、findIndex()的总结
May 12 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
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
PHP性能优化 产生高度优化代码
2011/07/22 PHP
php面向对象 字段的声明与使用
2012/06/14 PHP
php写的AES加密解密类分享
2014/06/20 PHP
Laravel 5框架学习之表单
2015/04/08 PHP
PHP可变函数学习小结
2015/11/29 PHP
tp5修改(实现即点即改)
2019/10/18 PHP
Alliance vs AM BO3 第二场2.13
2021/03/10 DOTA
js实现双向链表互联网机顶盒实战应用实现
2011/10/28 Javascript
jquery文字上下滚动的实现方法
2013/03/22 Javascript
使用jquery实现IE下按backspace相当于返回操作
2014/03/18 Javascript
分享一个自己动手写的jQuery分页插件
2014/08/28 Javascript
Javascript基础知识(三)BOM,DOM总结
2014/09/29 Javascript
node.js中的fs.readlinkSync方法使用说明
2014/12/17 Javascript
JavaScript从数组中删除指定值元素的方法
2015/03/18 Javascript
Vue.js学习示例分享
2017/02/05 Javascript
详解nodejs微信公众号开发——2.自动回复
2017/04/10 NodeJs
JS 组件系列之 bootstrap treegrid 组件封装过程
2017/04/28 Javascript
webpack构建换肤功能的思路详解
2017/11/27 Javascript
基于JS实现html中placeholder属性提示文字效果示例
2018/04/19 Javascript
微信小程序自定义头部导航栏(组件化)
2019/11/15 Javascript
js实现无刷新监听URL的变化示例代码详解
2020/06/03 Javascript
[48:05]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VGJ.T vs VP
2018/03/31 DOTA
利用Python实现Windows定时关机功能
2017/03/21 Python
Python中序列的修改、散列与切片详解
2017/08/27 Python
python内存监控工具memory_profiler和guppy的用法详解
2019/07/29 Python
python爬虫学习笔记之Beautifulsoup模块用法详解
2020/04/09 Python
PyCharm上安装Package的实现(以pandas为例)
2020/09/18 Python
Python 爬取淘宝商品信息栏目的实现
2021/02/06 Python
美国轮胎网站:Priority Tire
2018/11/28 全球购物
个人租房协议书
2014/11/28 职场文书
2014年新农村建设工作总结
2014/12/01 职场文书
如何使JavaScript休眠或等待
2021/04/27 Javascript
Java日常练习题,每天进步一点点(38)
2021/07/26 Java/Android
关于nginx 实现jira反向代理的问题
2021/09/25 Servers
移除Selenium中window.navigator.webdriver值
2022/06/10 Python