公司年会要抽奖,那些抽奖的小程序是在那里获取的呀?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了公司年会要抽奖,那些抽奖的小程序是在那里获取的呀?相关的知识,希望对你有一定的参考价值。

年底已到,大大小小的公司都已经开始举办年会了,年会年年开,但是一般公司年会都是除了吃饭就是看节目,连最吸引人的抽奖环节也毫无新意。那么,怎样让年会活动变得有新意呢?用箱子抽奖,全看台上的人表演了,太没意思。那也可以来个好玩的,弄个转盘进行抽奖活动。发一下自己写的公司抽奖程序。需求:公司年会要一个抽奖程序,转盘上的每一个人名是随机中奖的,中奖后的人不可以再次中奖,按住抽奖,就会一直在转,放开后,要再转一两圈才停。呵,刚好自己在学python cocos2d, 就用这个刚学的东东,虽然只学了点皮毛.首先我们看需求:我们想弄一个抽奖系统,在抽奖的时候我们希望针对不同的奖品有可以设置不同的中奖概率,还有就是我们不想一个时间马上就把所有的奖品就发送出去了,最好能是在每几名中产生一名。同时要兼顾后面的,不要前面的人把奖品全部抽走了后面就没有奖品了。前端时间有个需求是客户端双端APP内嵌入整个转盘抽奖的web子系统,具体是要在后台能够控制大转盘抽奖的奖项数,和用户免费抽奖的次数,并且免费抽奖使用完,用户可以观看广告进行抽奖或使用积分抽奖。正好最近有空,出了这篇教程,解析转盘抽奖的实现过程。 参考技术A 你在微信小程序上搜就有很多那种小程序,不过不是很靠谱,有些小程序会闪退,我就推荐自己用过吧,31轻会的互动软件就还不错,里面有很多的功能,像摇一摇滚动抽奖,赛跑等,做的还算是用心的,最重要是不卡,而且设置很人性化。一个互动活动里面,设置的可以非常细,细到可以指定人抽中奖。本回答被提问者采纳

javascript实现抽奖程序

昨天开年会的时候看到一个段子说唯品会年会抽奖,结果大奖都被写抽奖程序的部门得了,CTO现场review代码。

简单想了一下抽奖程序的实现,花了十几分钟写了一下,主要用到的知识有数组添加删除,以及ES5 数组新增的indexOf,filter方法,

为了刷新页面后仍能保存已中奖记录,用了localStorage存盘。

刚开始是用随机数直接取编号,发现要剔除已中奖的人很麻烦,如果重复要递归调用,如果中奖的人太多到最后随机数取到已中奖的人概率太大,所以换用两个数组实现,一个记录已中奖的号码,一个记录未中奖的号码,已中奖的从另一个数组剔除就行,就不存在递归调用的情况。

 

具体实现如下:

var start=1,end=20,luckyList=[],futureList=[];//luckyList表示已获奖的人,futureList表示尚未抽中的人,start,end表示奖券起止编号

//先初始化一下所有人员编号的数组
for(var i=start;i<=end;i++){
futureList.push(i);
}
//如果刷新了页面,从localStoreage中恢复
if(localStorage.getItem("lucky")){
luckyList=localStorage.getItem("lucky").split(",");
futureList=futureList.filter(function(item){
return luckyList.indexOf(item)==-1;
})
console.log(futureList)
}

//抽奖函数,每运行一次,产生一个幸运号码
function raffle(){
var num= Math.random()*futureList.length;
num=Math.floor(num);
var idx=futureList.indexOf(num);
var result= futureList.splice(idx,1)[0].toString();
luckyList.push(result);
localStorage.setItem("lucky",luckyList);
console.log("抽奖结果:",result);

}
//清除localstorge,如果要复位程序执行此函数
function clear(){
localStorage.setItem("lucky","");

}

raffle();

以上是关于公司年会要抽奖,那些抽奖的小程序是在那里获取的呀?的主要内容,如果未能解决你的问题,请参考以下文章

求怎么在公司年会上做抽奖活动,尽量让每个人都有机会抽奖的方法,谢谢

公司的年会抽奖程序,有重大Bug!

年会抽奖程序的一些总结

如何开发公司年会抽奖系统

十分简单的年会抽奖程序

不确定人数的抽奖方法