博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
挺有意思的,队列,先进先出,排队进行!
阅读量:6339 次
发布时间:2019-06-22

本文共 1276 字,大约阅读时间需要 4 分钟。

/** * [Queue] * @param {[Int]} size [队列大小] */function Queue(size) {    var list = [];    //向队列中添加数据    this.push = function(data) {        if (data==null) {            return false;        }        //如果传递了size参数就设置了队列的大小        if (size != null && !isNaN(size)) {            if (list.length == size) {                this.pop();            }        }        list.unshift(data);        return true;    }    //从队列中取出数据    this.pop = function() {        return list.pop();    }    //返回队列的大小    this.size = function() {        return list.length;    }    //返回队列的内容    this.quere = function() {        return list;    }}

这个类是核心!

项目中有个刷小礼物的功能,如果同时有多个人刷,就会出现乱七八糟的效果,没有秩序!
通过队列,就能很好的解决!

先定义一个全局队列!

var queue = new Queue(100);

当有礼物刷的时候,就将其存入队列当中!刷第一个礼物的时候,锁死!等第一个礼物刷完的时候,解锁!然后查询队列中是否还有未刷完的礼物,继续刷!

刷礼物,锁上!

queue.push(content); // 存入队列if (big_gift_flag) {    big_gift_flag = false;    var pop = queue.pop();    showAnim('big_gift_'+ pop.customer_id +'_'+pop.gift_id,pop.gift_id);}

刷完,解锁!判断队列是否还有未刷的礼物!

big_gift_flag = true;if (queue.quere().length > 0) {    big_gift_flag = false;    var pop = queue.pop();    showAnim('big_gift_' + pop.customer_id + '_' + pop.gift_id, pop.gift_id);}

很有意思,第一次使用了队列的思想!

本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/6710353.html,如需转载请自行联系原作者

你可能感兴趣的文章
nefu20
查看>>
Java IO网络编程经典模板
查看>>
路由分组转发过程
查看>>
android 适配器Adpter的使用总结
查看>>
matlab练习程序(白平衡<灰度世界算法>)
查看>>
去重mongodb LIST
查看>>
理解boost::bind的实参传递方式
查看>>
[ASP.NET MVC 小牛之路]05 - 使用 Ninject
查看>>
Unity3D笔记十一 定制导航菜单栏
查看>>
xampp中的apache启动不了显示busy的解决方案
查看>>
Tomcat中server.xml配置及Context的配置直接引用工程,详解
查看>>
PHP奇趣笔试试题一则
查看>>
hdu 4620 Fruit Ninja Extreme
查看>>
C++小知识之Vector用法
查看>>
[Leetcode] Gray Code
查看>>
C#索引器Indexer
查看>>
python国际化(i18n)和中英文切换
查看>>
Android 禁止转屏的方法
查看>>
38属性的种种,只读只写属性、自动属性、静态属性、抽象属性、接口属性
查看>>
动态加载脚本和样式(转)
查看>>