文档章节

悔棋的实现

梦想游戏人
 梦想游戏人
发布于 2016/07/06 16:38
字数 204
阅读 18
收藏 0

通过这个stack来实现,每走一步 push 棋盘,

/**
 * map stack is provide a stack to regret
 */



MAX_STEP = 4;// max step of stack save map
// you can change value to modify the stack capacity

var MapStack = cc.Class.extend({
    stack: null,//inner data structrue
    index: null,// cursor of stack
    ctor: function () {
        this.stack = new Array(MAX_STEP);
        this.index = 0;
        for (var i = 0; i < MAX_STEP; i++) this.stack[i] = 0;

    },
    
    /** clear the stack
     * @warning this will not remove data so,please use pop or 
         * push to operation this stack not use this.stack...
     * */
    clear: function () {
        this.index = 0;
    },
    
    /** push a member into stack
     * @param arg the member
     * @warning please use deep copy to push member
     */
    push: function (arg) {
        if (this.index == MAX_STEP) {// full
            for (var i = 0; i < MAX_STEP - 1; i++) {
                this.stack[i] = this.stack[i + 1];
            }
            this.index = MAX_STEP - 1;
        }
        
        this.stack[this.index] = arg;
        this.index++;
        cc.log("map stack push:" + arg);

    },
    /**pop a member and return the member which is pop
     * @return member which is pop
     */
    pop: function () {
        if (this.index > 0) {
            var ret = this.stack[this.index - 1];
            this.index--;
            return ret;
        }
        return null;
    },
    /**return the stack'stop member
     * @return the top member of the stack's top
     */
    top: function () {
        if (this.index > 0) return this.stack[this.index - 1];
        return null;
    }
});

 

© 著作权归作者所有

共有 人打赏支持
上一篇: JS引入其他文件
下一篇: JavaScript面向对象
梦想游戏人
粉丝 37
博文 444
码字总数 127453
作品 0
成都
私信 提问
小项目—求指点构建多人在线网络游戏

这个学期我们学校课程设计是写一个网络版的 黑白棋, 要实现 基本功能: 1、初始化:建立网络连接,生成棋盘,猜先。 2、行棋过程中,支持回合制行棋,程序判断合法的行棋位置,吃子,统计显...

Pisces
2012/03/26
822
3
前端仔教你一步步实现人人对战五子棋小游戏【canvas详细版】

线上地址--gobang online pc上使用谷歌浏览器比较友好@~@ 代码仓库--gobang tutorial 欢迎对此仓库进行扩展或star啦 @~@ 前置知识点: 阮生的es6教程和MDN的canvas教程 以上,兵马未动,粮草...

call_me_R
2018/12/07
0
0
java swing实现五子棋小游戏项目教程

大家好,今天给大家演示一下由Java swing实现的小游戏五子棋,该小游戏完成了五子棋的所有基本功能,可在Java环境下运行,jdk版本不限,是Java学习的很好的参考资料,下面我们来看看项目的运...

明礼馨德的博客
2017/12/20
0
0
SDL2 自己画按钮

SDL2 没有自带控件,今天尝试自己画个按钮。 用图片按钮是最简单的:找几幅图片,代表不同的按钮状态,根据需要显示即可。 这里实现一个windows标准风格、文字的,可以通用,不用带着不同的图...

四彩
2016/02/14
133
0
测试需求讨论4---pc&安卓&苹果端不同的需求确认

1.pc&安卓&苹果悔棋机制不同 2.pc&安卓&苹果提和不同,pc得到自己下棋才可提和,苹果&安卓则不用 3.安卓&苹果在线教学,安卓教练端走棋有声音,苹果没声音 @王天淼 @张思慧...

婷婷-王
2016/09/26
1
1

没有更多内容

加载失败,请刷新页面

加载更多

基于 DataLakeAnalytics 的数据湖实践

随着软硬件各方面条件的成熟,数据湖(Data Lake)已经越来越受到各大企业的青睐, 与传统的数仓实践不一样的是,数据湖不需要专门的“入仓”的过程,数据在哪里,我们就从哪里读取数据进行分析...

迷你芊宝宝
27分钟前
1
0
ubuntu查看防火墙状态

1.查看防火墙当前状态 sudo ufw status 2.开启防火墙 sudo ufw enable 3.关闭防火墙 sudo ufw disable 4.查看防火墙版本 sudo ufw version 5.默认允许外部访问本机 sudo ufw default all...

Frost729
28分钟前
1
0
Gradle插件使用过程记录

Android中基于Gradle进行编译打包的过程,下面记录一下如何进行Gradle插件开发的过程: 首先在项目中新建的一个名为buildSrc的module,为什么叫这个名字请看官方文档。然后将Java文件夹以及r...

JerryLin123
35分钟前
1
0
RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占优势

美国时间3月4-8日,国际知名信息安全峰会RSA Conference在美国旧金山开幕,云安全及云可以为企业提供更可靠的资产管理方式成为大会热点。 此次峰会共吸引全球700多家机构参展,其中近42%为云...

阿里云云栖社区
36分钟前
2
0
重磅推出TabLayout高级窗口组件

TabLayout是在APICloud现有窗口系统基础上升级而来的高级窗口组件,符合Material Design规范,可通过简单的配置为窗口实现原生的导航栏和TabBar,它将帮助您节省30%以上的重复编码工作量,同...

API_Cloud
41分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部