怎样用word做抽奖php大转盘抽奖源码

您所在的位置:
&复用转盘抽奖软件下载
点击查看大图
大小:11.67 MB
语言:简体中文
授权:共享软件
复用转盘抽奖软件是一款可以指定抽中概率,可以设置奖品数量,支持文字或图片,混合模式的软件工具。包含复用转盘抽奖软件(作弊可指定抽中概率)和复用转盘抽奖软件(非作弊版)两个版本,任君选择!复用转盘抽奖软件功能:1.可以指定抽中概率,可以永不被抽中2.可以设置奖品数量,抽完后不再会被产生。3.支持文字或图片,混合模式。4.简单容易配置上手。5.界面大气上档次。6.界面背景,标题文字,抽奖音乐都可以自定义。7.抽奖数据的浏览和导出,还有中奖的数据分析。
需要运行库:
您可能感兴趣的相关软件
抽奖之星(原PLuckyDraw)是一款最好用的随机抽奖软件、抽签软件。抽奖之星(原PLuckyDraw)灵活易用、界面美观、功能完备的电脑抽奖软件。支持文字抽奖、图片抽奖。PLuckyDraw软件特点:适用场合:适用于年会抽奖、晚会抽奖等场合。
幸运星全能抽奖系统是一款随机抽奖软件。幸运星全能抽奖系统融合各家之长,使用简单,功能超强,适合用于单位年终抽奖、晚会抽奖、商场促销抽奖、展销会抽奖、房展抽奖、车展抽奖等。幸运星全能
518抽奖软件――年会抽奖软件,极简设计风格,含照片抽奖、文字抽奖两种方式。 独特优势 -------------- 极简设计风格,简单易用,同时保证了功能完备; 大量精心挑选的背
一款适用于年会、晚会等场合的电脑抽奖软件,支持图片抽奖和文字抽奖,灵活易用、界面美观、功能完备。 适用场合:适用于年会抽奖、晚会抽奖等场合。 抽奖模式:支持文字抽奖模式(如名字、手
全能抽奖软件操作简单(只需三个简单的步骤),简洁易用,稳定可靠,经历多次正式抽奖场合考验,已被地方政府采购并列入政府抽奖指定软件,每年都要根据实际使用情况进行修改。软件适用于政府系
年会抽奖用什么?下载吧提供9星活动年会抽奖软件适用于各类活动庆典,如年会、婚庆、生日宴会、楼盘牌号、政府、学校、传媒单位、老客户回馈等抽奖任何活动。操作简单,简洁易用,稳定可靠,支持由数字、字母、中文汉字混合的姓名、手机号、编号等各种方式;
全能水果机抽奖软件,界面完全自定义,支持鼠标拖拽排版。为绿色软件,免安装,下载后解压到电脑上既可以使用,设置好后直接复制到其他电脑上就可以直接使用。支持:xp、win7、win8、
支持由数字、字母、中文汉字混合的姓名、手机号、身份证号等各种名单;支持图片照片抽奖; 支持隐私保护,可屏蔽部分字符(如手机号,屏蔽部分字符后133****
全能抽奖软件,功能强大、任意设置、无所不能。支持数字、文字、图片抽奖,界面支持拖拽排版,完全自定义。为绿色软件,免安装,下载后解压到电脑上既可以使用,设置好后复制到其他电脑上就可以
远方抽奖软件:最好用的随机幸运抽奖软件。 软件介绍: 适用场合:可广泛应用于单位晚会、商场、超市以及网吧等各种商业抽奖场合。 灵活易用:只需要两步设置即可开始抽奖操作,
支持用户界面完全自定义,任意更改转盘、背景、文字、指针、音乐; 支持语音报奖,可任意生成语音报奖内容; 支持按概率出奖、按实际奖品数量出奖等多种出奖方式; 支持全屏显示
历经考验的万用电脑抽奖软件,曾在东方卫视、重庆卫视、上海国美电器、浦发银行、浙江移动、福建移动、广东电信、中国银行、石家庄三鹿、深圳雅兰家具、深圳TCL、珠海格力、柯达电子、清华紫光、日本东芝(深圳)、中海油、华虹NEC、中国信息报、南方日报、北京建国饭店、中国平安保险、宁夏公证处等近千家企事业单位中广泛采用。 适用于电视台、电信公司、广告攻关公司、晚会、庆典、商场顾客回馈等抽奖场合;万能通用多种抽奖模式,具备无与伦比的灵活性,人性化的向导一步一步指导您的操作,省心更省事;纯绿色软件,而且占用系统资源极少,运行稳定!
一纬超级抽奖软件(smartvote)软件说明:一纬超级抽奖软件(smartvote)是一款功能超强的抽奖软件。它是目前国内唯一一款支持短信实时通知中奖的抽奖软件。它的主要特点为:
魔巴思抽奖软件用途广泛手机号码抽奖、会员号码抽奖、顺序号码抽签、姓名抽签/抽奖、房号抽奖、商品抽奖等等。比如针对手机号码、会员号码、姓名、序号、商品、娱乐场所的房号/台位号等等的抽奖/抽签。绿色软件,解压即可使用。
抽奖之星――支持文字抽奖、图片抽奖的随机抽奖软件。晚会抽奖之星适用场合:可用于晚会抽奖(电脑外接投影仪)。 1.支持白名单,可内定某些人优先中某奖;2.支持黑名单,指定某
闻道高级全能抽奖软件是一款年会、晚会使用的抽奖软件。支持照片、姓名、号码任意组合的新一代抽奖软件。软件具备界面设置、奖项设置、名单设置、音效设置等功能;软件支持20万人抽奖和流畅滚
一、 软件简介24TT多功能抽奖软件,功能全面、设置灵活、操作简单、界面美观。图片、文字、编号全搞定,除抽奖外同时集合会议二维码、照片采集、签名签到、签退,带二维码的入场券打印等参
小作家照片自动抽奖软件可以使用参与抽奖人的照片进行随机选择中奖人员,抽奖过程完全公平公正,欢迎免费使用. 使用方法:只需把同目录中的照片换成参与抽奖人的照片即可。
复用转盘抽奖软件下载地址
4206次下载
2616次下载
50211次下载
2307次下载
2103次下载
1555次下载
2127次下载
2598次下载
1980次下载
1563次下载
309750次下载
294653次下载
151206次下载
50211次下载
48627次下载
48178次下载
46282次下载
45950次下载
45070次下载
44500次下载
热门关键字Ctrl+D收藏包图网全站素材可商用所有:格式:您是不是想找:排序方式: 1
包图网为您找到125个原创可商用抽奖转盘素材,内容包括抽奖转盘图片素材、抽奖转盘设计素材、抽奖转盘模板,抽奖转盘图片下载等,抽奖转盘模板下载、抽奖转盘素材设计 ,下载PSD,PNG,CDR,AI格式抽奖转盘设计模板就到【包图网】1.没找到我想要的内容2.找到的作品素材质量不高3.搜索不准确其他问题:您的联系方式:提交提交成功提交成功作品登记证书登记号:以上事项,由上海包图网络科技有限公司申请,经上海市版权局审核,根据《作品自愿登记试行办法》规定,予以登记。中华人民共和国国家版权局统一监制包图网登录后立即下载原创商用设计作品包图网你将成为包图网第 11,191,327名注册用户
"同意"已有账号? 全站精品免费下载
正版版权海量素材优质服务包图网-Copyright (C) 2016 包图网
微信公众号Ctrl+D收藏包图网全站素材可商用所有:格式:您是不是想找:排序方式: 1
包图网为您找到157个原创可商用转盘素材,内容包括转盘图片素材、转盘设计素材、转盘模板,转盘图片下载等,转盘模板下载、转盘素材设计 ,下载PSD,PNG,CDR,AI格式转盘设计模板就到【包图网】1.没找到我想要的内容2.找到的作品素材质量不高3.搜索不准确其他问题:您的联系方式:提交提交成功提交成功作品登记证书登记号:以上事项,由上海包图网络科技有限公司申请,经上海市版权局审核,根据《作品自愿登记试行办法》规定,予以登记。中华人民共和国国家版权局统一监制包图网登录后立即下载原创商用设计作品包图网你将成为包图网第 11,191,327名注册用户
"同意"已有账号? 全站精品免费下载
正版版权海量素材优质服务包图网-Copyright (C) 2016 包图网
微信公众号微信大转盘制作过程及算法分析 · Ruby China
在开发维斗喜帖的微转盘时候,研究了一下转盘应用,不过各种算法都相对复杂了,当时制作维斗喜帖微转盘只有一个目的:用户只需要设定奖项,填写抽奖人数,获奖人数,整个转盘游戏就搞定,简单轻松傻瓜化非严肃性质的微游戏定位。
本实例的代码适用于以下约定的需求场景:
奖项设置:
转盘为8格,可设置6个奖项,剩余2格为未中奖区域
一等奖至六等奖的中奖比例为:1:2:5:10:12:20,即如果[奖品总数]设置为:50个,预计抽奖人数100人,则一等奖有1个,六等奖有20个。
若要扩大抽奖范围,则可以将[奖品总数]增加。
需要准备的素材:
第一张为转盘图,大小为:px。下载转盘模版(PSD格式,PNG格式)。
第二张为指针图,大小为:256x357px。请点击这里下载指针模版。
制作好后的预览效果:(扫描二维码体验)
前端JS代码:
&script src="/assets/jquery.js"&&/script&
&script src="/assets/bootstrap.js"&&/script&
&script type="text/javascript"&
var extendUrl = 'http://localhost:3000';
var getPrizeUrl = 'http://localhost:3000/zhuanpan/23/h';
var commentUrl = 'http://www.example.com'
var running = false,
count = 0;
//随机生成数字3或者7: 未中奖情况
function rand() {
var text = "";
var possible = "37";
text += possible.charAt(Math.floor(Math.random() * possible.length));
return text;
//转盘css3动画
function setDegree($obj, deg) {
$obj.css({
'transform': 'rotate(' + deg + 'deg)',
'-moz-transform': 'rotate(' + deg + 'deg)',
'-o-transform': 'rotate(' + deg + 'deg)'
//转盘转动开始
//params: offset 0-7,代表需要停到的奖项,由后端传入
function rotate(offset) {
console.log(offset);
var $tar = $('#outer'),
cnt = 100,
//用做ratio的索引(10-29)
total = 0,
//记录上一次的变化结果
ratio = [],
//存放角度的变化比例,制造快慢过渡效果
amount = 18 - (0.45 * offset); //每次每多出45/200=0.225度,200次就多偏转45度
ratio[1] = [0.2, 0.4, 0.6, 0.8, 1, 1, 1.2, 1.4, 1.6, 1.8];
ratio[2] = [1.8, 1.6, 1.4, 1.2, 1, 1, 0.8, 0.6, 0.4, 0.2];
for (i = 0; i & 100; i++) { //100次50ms的间隔
setTimeout(function() {
//计算每次偏转增量,对应阶段的增减比例最终造成快慢变化
var deg = amount * (ratio[String(cnt).substr(0, 1)][String(cnt).substr(1, 1)]);
setDegree($tar, deg + total); //改变偏转
total += deg; //记录
cnt++; //依据次数用作ratio的索引,这里用到了闭包不能使用i
setTimeout(function() {
if (offset == 3 || offset == 7) {
window.sessionStorage.setItem('prizename', '没中奖');
$('#myModal').modal('show');
$('#word').html("&p&加油哦,亲!&/p&");
$('#goShop').text('点击这里');
$('#goShop').click(function() {
location.href = extendUrl;
100 * 25 + 250);
//绑定事件,点击指针开始
function actRotate() {
if (running)
if (count &= 1) {
$('#myModal').modal('show');
$('#word p').text('亲,每人只能参加一次哦!');
$('#goShop').text('点击这里');
$('#goShop').click(function() {
location.href = extendUrl;
count = 1;
if (window.sessionStorage.getItem('prizename') != null)
$('#myModal').modal('show');
$('#word p').text('亲,你不能再参加本次活动了喔!下次再来吧^_^');
$('#goShop').text('点击这里');
$('#goShop').click(function() {
location.href = extendUrl;
type: "GET",
url: getPrizeUrl,
function(data) {
console.log(data);
if (data.status == 0) { //活动还未开始
console.log('活动还未开始');
$('#myModal').modal('show');
$('#word p').text('亲,活动还未开始啦!');
$('#goShop').text('点击这里');
$('#goShop').click(function() {
location.href = extendUrl;
} else if (data.status == 1) { //活动进行中: 抽奖并中奖
console.log('活动进行中:中奖');
window.sessionStorage.setItem('goods_id', data.goods_id);
rotate(data.Coupon.grade);
setTimeout(function() {
window.sessionStorage.setItem('prizename', data.message + '');
$('#myModal1').modal('show');
$('#word1').html("&p&恭喜你,获得了" + data.message + "&/p&");
$('#goNext').click(function() {
location.href = commentUrl;
100 * 25 + 250);
} else if (data.status == 2) { //活动进行中:抽奖未中奖
console.log('活动进行中:抽奖未中奖');
var text = rand();
text = text.toString();
rotate(text);
} else if (data.status == 3) { //奖品已经领完
console.log('奖品已经领完');
$('#myModal').modal('show');
$('#word p').text('今日奖品已经领完,明天继续哦!');
$('#goShop').click(function() {
location.href = extendUrl;
} else if (data.status == 4) { //活动结束
console.log('活动结束');
$('#myModal').modal('show');
$('#word p').text('亲,活动已经结束啦!');
$('#goShop').text('点击这里');
$('#goShop').click(function() {
location.href = extendUrl;
function() {
$('#myModal').modal('show');
$('#word').html("&img src='aa.png' class='fail' id='tsImg'&");
$('#goShop').text('获得帮助');
$('#goShop').click(function() {
location.href = extendUrl;
prize = null;
running = false;
count = 0;
在这JS代码中,我们看到,需要Ajax调用服务器返回JSON数据:
服务器端的代码如下:
#大转盘需要调用的action: 返回json数据,给js调用
#params: site_page_id, key
def zhuanpan_json
# status 值:
# 0 -& 亲,活动还未开始啦!
# 1 -& 活动进行中: 抽奖并中奖
# 2 -& 活动进行中:抽奖未中奖
# 3 -& 今日奖品已经领完,明天继续哦!
# 4 -& 亲,活动已经结束啦!
@site_page = SitePage.find(params[:id])
status = case SitePageKeystore.value_for(@site_page, 'open_toggle')
when '活动进行中'
when '活动未开始'
when '活动已结束'
#获取用户设定的奖品总数
prize_obj = SitePageKeystore.get(@site_page.id, 'prize_count')
prize_count = prize_obj.value.to_i || 50
#获取预计抽奖人数
person_obj = SitePageKeystore.get(@site_page.id, 'person_count')
person_count = person_obj.value.to_i || 100
#计算中奖概率
rate = prize_count/(person_count + 0.1)
#获取已抽奖次数
zhuan_obj = SitePageKeystore.get(@site_page.id, 'zhuan_count')
if zhuan_obj.nil?
key = CommonKey.get('zhuan_count')
CommonKey.put('zhuan_count', 0) if key.nil?
SitePageKeystore.put(@site_page.id, 'zhuan_count', 0)
zhuan_obj = SitePageKeystore.get(@site_page.id, 'zhuan_count')
zhuan_count = zhuan_obj.value.to_i
SitePageKeystore.put(@site_page.id, 'zhuan_count', zhuan_count + 1)
status = 4 if zhuan_count &= person_count #次数已经抽完
#获取中奖次数
coupon_obj = SitePageKeystore.get(@site_page.id, 'coupon_count')
if coupon_obj.nil?
key = CommonKey.get('coupon_count')
CommonKey.put('coupon_count', 0) if key.nil?
SitePageKeystore.put(@site_page.id, 'coupon_count', 0)
coupon_obj = SitePageKeystore.get(@site_page.id, 'coupon_count')
coupon_count = coupon_obj.value.to_i
= 3 if coupon_count &= prize_count && status != 4 #奖品已完
# 奖项数组
# 是一个二维数组,记录了所有本次抽奖的奖项信息,
# 其中id表示中奖等级,prize表示奖品,v表示中奖概率。
# 注意其中的v必须为整数,你可以将对应的 奖项的v设置成0,即意味着该奖项抽中的几率是0,
# 数组中v的总和(基数),基数越大越能体现概率的准确性。
# 本例中v的总和为100,那么平板电脑对应的 中奖概率就是1%,
# 如果v的总和是10000,那中奖概率就是万分之一了。
# goods_id:
# 8个值分别对应8格转盘的8个格子,其中3,7格为默认未中奖格,其他格为有奖格
# 1 -& 奖品1
# 2 -& 奖品2
# 3 -& 未中奖
# 4 -& 奖品3
# 5 -& 奖品4
# 6 -& 奖品5
# 7 -& 未中奖
# 8 -& 奖品6
failed_count = (50/rate).to_i - 50 #预设中奖个数为50, 则根据中奖概率计算出未中奖个数
prize_hash = {
0 =& {'id'=&1,'prize'=& SitePageKeystore.value_for(@site_page, 'good1'),'v'=&1},
1 =& {'id'=&2,'prize'=& SitePageKeystore.value_for(@site_page, 'good2'),'v'=&2},
2 =& {'id'=&8,'prize'=& SitePageKeystore.value_for(@site_page, 'good3'),'v'=&5},
3 =& {'id'=&4,'prize'=& SitePageKeystore.value_for(@site_page, 'good4'),'v'=&10},
4 =& {'id'=&5,'prize'=& SitePageKeystore.value_for(@site_page, 'good5'),'v'=&12},
5 =& {'id'=&6,'prize'=& SitePageKeystore.value_for(@site_page, 'good6'),'v'=&20},
6 =& {'id'=&3,'prize'=& '没有抽中,感谢参与','v'=& failed_count/3},
7 =& {'id'=&7,'prize'=& '没有抽中,没准下次能抽到哦','v'=& failed_count/3*2},
# 每次前端页面的请求,PHP循环奖项设置数组,
# 通过概率计算函数get_rand获取抽中的奖项id。
# 将中奖奖品保存在数组$res['yes']中,
# 而剩下的未中奖的信息保存在$res['no']中,
# 最后输出json个数数据给前端页面。
prize_hash.each_pair do |key, val|
arr[val['id']] = val['v']
rid = get_rand(arr) #根据概率获取奖项id
coupon = prize_hash[rid - 1] #抽中的奖项
if status == 2 && ![3, 7].include?(coupon['id']) #中奖了
SitePageKeystore.put(@site_page.id, 'coupon_count', coupon_count + 1)
status = 1
if status == 1 #中奖了
render json: {status: status, goods_id: coupon['id'], message: coupon['prize'], Coupon: {grade: coupon['id']}}
else #没中奖
render json: {status: status}
经典的概率算法,
$proArr是一个预先设置的数组,
假设数组为:array(100,200,300,400),
开始是从1,1000 这个概率范围内筛选第一个数是否在他的出现概率范围之内,
如果不在,则将概率空间,也就是k的值减去刚刚的那个数字的概率空间,
在本例当中就是减去100,也就是说第二个数是在1,900这个范围内筛选的。
这样 筛选到最终,总会有一个数满足要求。
就相当于去一个箱子里摸东西,
第一个不是,第二个不是,第三个还不是,那最后一个一定是。
pro_hash = {id =& v, 1 =& 1, 2 =& 30}
def get_rand(pro_hash)
result = nil
#概率数组的总概率精度
pro_sum = pro_hash.values.inject{|sum,x| sum + x }
#概率数组循环
pro_hash.each_pair do |key, pro_cur|
rand_num = 1 + rand(pro_sum)
if rand_num &= pro_cur
result = key
pro_sum -= pro_cur
中奖提示:
更多案例,可以参考这里:
来控制图片旋转,然后抽奖用的最笨的办法
prizes = {"一等奖" =& 5, "二等奖" =& 10, "三等奖" =& 20}
array = []
prizes.each do |k, v|
v.times { array && k }
prize = array[rand(0..array.length-1)]
这里的标题栏是怎么做得? 上下滑动就会跟着变化
非常值得参考和学习的一段程序,感谢分享。
以后可能用得到。
何不在github上分享成一个项目呢?还能积累点精气。
后方可回复, 如果你还没有账号请点击这里 。
共收到 3 条回复转盘游戏Microsoft Word 文档_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
转盘游戏Microsoft Word 文档
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩4页未读,
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 幸运大转盘抽奖活动 的文章

 

随机推荐