我要一个网页上的java抽奖代码码

您现在的位置: &
PHP中奖概率的抽奖算法程序代码
PHP中奖概率的抽奖算法程序代码
  初期就这些需求,然后根据网上的资料,采用了一种阶段式抽取的方法,大家下面看一下整体的程序: 该程序是在ThinkPHP框架下完成的,使用了一些框架自带的类库和函数,下面我会逐一进行说明,控制器部分
  抽奖算法需要满足的需求如下:
  1.可以控制中奖的概率
  2.具有随机性
  3.最好可以控制奖品的数量
  4.根据用户ID或者ip、手机号、QQ号等条件限制抽奖次数
初期就这些需求,然后根据网上的资料,采用了一种阶段式抽取的方法,大家下面看一下整体的程序:
  该程序是在ThinkPHP框架下完成的,使用了一些框架自带的类库和函数,下面我会逐一进行说明,控制器部分:
&* @lanfengye &zibin_&
class ChoujiangAction&extends Action {
&&&& //抽奖的开始时间
&&& var $begin_time=& 14:00:00&; //开始时间& 0-不限制
&&& //抽奖的结束时间
&&& var $stop_time=&0&;& //结束时间& 0-不限制
&&& //本次抽奖的奖项信息,必须按照从大到小的顺序进行填写,id为奖次,prize为中奖信息,v为中奖概率,num为奖品数量
&&& //需要注意的是,该处也必须包含不中奖的信息,概率从小到大进行排序
&&& var $prize_arr = array(
&&&&&&& '0' =& array('id' =& 1, 'prize' =& '44元购买1G/年空间', 'v' =& 1,'num'=&1),
&&&&&&& '1' =& array('id' =& 2, 'prize' =& '55元购买1G/年空间', 'v' =& 2,'num'=&2),
&&&&&&& '2' =& array('id' =& 3, 'prize' =& '66元购买1G/年空间', 'v' =& 5,'num'=&2),
&&&&&&& '3' =& array('id' =& 4, 'prize' =& '77元购买1G/年空间', 'v' =& 10,'num'=&3),
&&&&&&& '4' =& array('id' =& 5, 'prize' =& '88元购买1G/年空间', 'v' =& 15,'num'=&4),
&&&&&&& '5' =& array('id' =& 6, 'prize' =& '99元购买1G/年空间', 'v' =& 67,'num'=&10),
&&& //首页显示方法&&&&&
&&& public function index(){
&&&&&&& //连接数据库,去获取本次中奖的人员名单
&&&&&&& $Choujiang=M('Choujiang');
&&&&&&& $this-&assign('list', $Choujiang-&where(&rid&0&)-&order('id desc')-&select());
&&&&&&& unset($Choujiang);
&&&&&&&&&&
&&&&&&& //在首页中显示抽奖的开始时间
&&&&&&& $this-&assign('begin_time',$this-&begin_time);
&&&&&&&&&&
&&&&&&& $this-&display();
&&&& * 生成中奖信息,ajax进行请求该方法,需要客户填写QQ号码
&&& public function make() {
&&&&&&& $qq_no=& trim($_POST['qq_no']);
&&&&&&& import('ORG.Util.Input');
&&&&&&& $qq_no=Input::getVar($qq_no);
&&&&&&&&&&
&&&&&&& if(empty($qq_no)){
&&&&&&&&&&& $this-&ajaxReturn(1, '请正确填写QQ号码!');
&&&&&&&&&&&
&&&&&&&&&&
&&&&&&& if(!empty($this-&begin_time) && time()&strtotime($this-&begin_time)){
&&&&&&&&&&& $this-&ajaxReturn(1, '抽奖还没有开始,开始时间为:'.$this-&begin_time);
&&&&&&&&&&&
&&&&&&&&&&
&&&&&&& if(!empty($this-&stop_time) && time()&strtotime($this-&stop_time)){
&&&&&&&&&&& $this-&ajaxReturn(1, '本次抽奖已经结束,结束时间为:'.$this-&stop_time);
&&&&&&&&&&&
&&&&&&&&&&
&&&&&&&& //获取奖项信息数组,来源于私有成员
&&&&&&& $prize_arr=& $this-&prize_
&&&&&&&&&&
&&&&&&&&foreach&($prize_arr as $key =& $val) {
&&&&&&&&&&& $arr[$val['id']] = $val['v'];
&&&&&&& //$rid中奖的序列号码
&&&&&&& $rid = $this-&get_rand($arr); //根据概率获取奖项id
&&&&&&&&&&
&&&&&&& $str = $prize_arr[$rid - 1]['prize']; //中奖项&
&&&&&&&&&&
&&&&&&& $Choujiang=M('Choujiang');
&&&&&&&&&&
&&&&&&&&&&& //从数据库中获取特定QQ号已经参加抽奖的次数,如果大于等于3则提示次数用完
&&&&&&& if($Choujiang-&where(&qq_no='{$qq_no}'&)-&count()&=3){
&&&&&&&&&&& $str='您3次抽奖机会已经用完!';
&&&&&&&&&&& $rid=0;
&&&&&&&&&&& //从数据库中获取特定奖项序号的次数,大于等于设置的最大次数则提示奖品被抽完,如果需要一直中最后一个纪念奖,则修改该处即可
&&&&&&& }elseif ($Choujiang-&where(&rid={$rid}&)-&count()&=$prize_arr[$rid-1]['num']) {
&&&&&&&&&&& $str='很抱歉,您所抽中的奖项已经中完!';
&&&&&&&&&&& $rid=0;
&&&&&&& //生成一个用户抽奖的数据,用来记录到数据库
&&&&&&& $data=array(
&&&&&&&&&&& 'rid'=&$rid,
&&&&&&&&&&& 'pop'=&$str,
&&&&&&&&&&& 'qq_no'=&$qq_no,
&&&&&&&&&&& 'input_time'=&time()
&&&&&&& );
&&&&&&& //将用户抽奖信息数组写入数据库
&&&&&&&&&&
&&&&&&& $Choujiang-&add($data);
&&&&&&& unset($Choujiang);
&&&&&&&&&&
&&&&&&&& //ajax返回信息
&&&&&&& $this-&ajaxReturn(1, $str);
&&&& * 根据概率获取中奖号码
&&& private function get_rand($proArr) {
&&&&&&& $result = '';
&&&&&&& //概率数组的总概率精度&
&&&&&&& $proSum = array_sum($proArr);
&&&&&&& //概率数组循环&
&&&&&&& foreach ($proArr as $key =& $proCur) {
&&&&&&&&&&& $randNum = mt_rand(1, $proSum);
&&&&&&&&&&& if ($randNum &= $proCur) {
&&&&&&&&&&&&&&& $result = $
&&&&&&&&&&&&&&&
&&&&&&&&&&& } else {
&&&&&&&&&&&&&&& $proSum -= $proC
&&&&&&&&&&& }
&&&&&&& unset($proArr);
&&&&&&& return $
  该算法简单使用,并发访问性能非常好,稍加改动就可以用于各种场合,结合用户登录等信息可有效控制每个人的抽奖次数。将开始和结束之间更改为数组,就可以完善成为每天特定时间抽奖的程序。
&&&主编推荐
&&&热门试卷
&&&最新视频
&&&热门阅读
&&&最新问答
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&&&湘教QS2-164&&增值电信业务经营许可证湘B2-未注册过用户可以点击直接登录哦!
使用注册邮箱登录&&源码搜搜[中文],大家一起找最好的开源代码。
&&请提交您认为需要收录的源码网站。
近公司举行15周年司庆晚会,公司首改以往丑旧的抽奖模式。领导要求我开发一套抽奖程序。简单需求如下:1.要求数字随机闪动,当点击抽奖时,抽奖号码一个个停止下来。2.共设置纪念奖100名,每次抽取20,分5次抽取。3.共设置三等奖30名,每次抽取10名,分3次抽取。4.标签:HTML, JS&评论:0条
内容索引:Delphi源码,数据库应用,抽奖程序 公司年终抽奖程序,自己原创的Delphi抽奖程序,基于Delphi+DB2实现,自己公司使用的抽奖程序,目前为繁体版,可以修改为简体版,抽奖程序100%可以使用。标签:DELPHI, 数据库应用&评论:0条
霸猪初步于2002年4月份完成。
该抽奖小程序原来用的是sql数据库,但为了方便演示,...
程序目的:如企业想搞抽奖活动,可让读者在网上自行登记,然后到抽奖日,可由工作人员在后台通过软件进行摇奖。
网上自行登记,使用asp+access2000;标签:Visual Basic&评论:0条
可以随机抽奖,可分为一二三等奖,可设置抽奖人数标签:软件测试, 抽奖&评论:0条
轻松实现,制作的抽奖代码,可以作弊。概率由你定。标签:网页制作, flash抽奖&评论:0条
这是史上最简单、最易用、最精巧的晚会抽奖系统,是企业晚会上最常用的软件。标签:IT资料&评论:0条
内容索引:脚本资源,HTML,抽奖 基于JavaScript的抽奖程序,界面设计的挺漂亮,下边说一下使用说明: 1....允许阻止的内容 ” 2接下来会得到一个全屏窗口 继续选择“允许阻止的内容 ” 就启动了抽奖系统。 3运行过程中 “空格”=[开始/停止] “回车” = [下一个奖项] 4单轮抽奖停止后双击某一数字可对其再次进行单独抽取!标签:HTML/PHP/ASP/ASP.NET/JSP, HTML&评论:0条
纯html+JS完成的抽奖系统,友通数码港实力派团队开发。1、号码抽取等级、数量自由定义 ini....界面美观大方,适合于投影仪投射晚会晚宴豪华场所抽奖系统。3、可自由选择键盘及鼠标双重操作方式。4、只需要IE浏览器即可完成所有。5、未到场人员可以单独重新抽取。6、抽奖完成后可以选择保存结果以便日后统计分析。使用说明:1.标签:HTML&评论:0条
. 纯html+JS完成的抽奖系统,友通数码港实力派团队开发。 1、号码抽取等级、数量自由定义 ini....界面美观大方,适合于投影仪投射晚会晚宴豪华场所抽奖系统。 3、可自由选择键盘及鼠标双重操作方式。 4、只需要IE浏览器即可完成所有。 5、未到场人员可以单独重新抽取。 6、抽奖完成后可以选择保存结果以便**后统计分析。 使用请看压缩包内说明,用过了别忘了给好评……. 标签:HTML源码&评论:0条
抽奖软件标签:解决方案&评论:0条
ZaiXianBaoMing.rar - 为需要网络报名用户设计,用户只需要通过网络进行在线报名,管理员即可一次收效所有报名信息,提高工作效率。-Registration for the needs of network users,标签:网络编程, WinSock-NDIS&评论:0条
说明:通用抽奖程序,一个很不错的通用抽奖程序,对初学DELPHI的很有帮助.标签:DELPHI&评论:0条
摘要:PHP源码,插件模块,抽奖,最土团购 最土团购抽奖插件,用于团购网站抽奖专用,前台采用mysql+php+flash as3编写,后台管理可自行开设或编辑抽奖项目。在最新版CV2.0_23935调试没问题。由于时间仓促,还没有做完整的测试,希望有兴趣的可以大家共同探讨。标签:PHP, mysql&评论:0条
. 霸猪抽奖. 标签:影音娱乐&评论:0条
说明:一个动画抽奖程序,用Delphix控件写标签:DELPHI&评论:0条
内容索引:Delphi源码,字符处理,抽奖 通用的Delphi抽奖系统,开发环境delphi 2005使用了线程,很多地方还比较粗糙。投资之前需将号码按一定顺序保存在TXT文本中,按动“开始抽奖”按钮,每一组字符快速滚动,再次点击本按钮,即可随机抽取出一组号码显示于抽奖结果栏。标签:DELPHI, Windows/Delphi7&评论:0条
ITool在线报名系统是方卡在线独立原创开发的一套自定义表单在线报名系统。报名表单可完全自行定义,适用于解决学校、企事业单位的在线报名问题。默认信息默认管理员登录地址http://系统网址/Admin/默认管理员用户名密码为adminITool在线报名系统是方卡在线独立原创开发的一套自定义表单在线报名系统。报名表单可完全自行定义,适用于解决学校、企事业单位的在线报名问题。标签:ASP, Access&评论:0条
本人设计了一套全国计算机等级考试在线报名系统,已经投入使用,基于asp设计,希望能和大家交流 qq
前台功能: 一 报名须知(动态新闻列表) 二本人设计了一套全国计算机等级考试在线报名系统,已经投入使用,基于asp设计,... 一 报名须知(动态新闻列表) 二 在线报名,增加了班级字段,标签:web&评论:0条
内容索引:C#源码,数据库应用,抽奖 vs2005环境下开发的C# Winform抽奖程序,数据库使用Access,功能超强悍,界面超漂亮,配有动感背景音乐,可以用于电视台或俱乐部进行幸运观众抽奖。本程序允许在抽号前对人员信息进行初始化、信息录入登记、抽奖资格号查询及打英顺序号抽取等。 编译后数据库文件及声音文件如果Bin目录内没有的话,可将项目根目录下的对应文件拷贝入Bin目录就行了。标签:C#, 数据库应用&评论:0条
1,此套会员活动报名管理系统是为金陵传奇的南京大萝卜特意开发,作为传奇活动的会员报名系统,就随便写了下程序,然后交给他美化了,没有仔细检查,不足之处在所难免,欢迎改进!版权没有!&br& 标签:源代码, 源码&评论:0条
CopyRight (&)
All Rights Reserved&登录再评论
这个不错,一下在这找到了好几个想要的效果,谢谢!
我朋友正需要呢。。。谢谢
相关网页特效
热门网页特效

我要回帖

更多关于 js抽奖代码 的文章

 

随机推荐