前端转盘抽奖代码(css3转盘抽奖)

http://www.itjxue.com  2023-02-24 20:36  来源:未知  点击次数: 

微信小程序,通过摇一摇实现大转盘抽奖的效果代码怎么写?

建议你还是不要自己写,可以通过直接用插件实现。

自己写会存在很多问题,会出现bug的

php大转盘的获奖概率是怎么算的

php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法。用法很简单,代码里有详细注释说明,一看就懂

$proCur) {

$randNum = mt_rand(1, $proSum);

if ($randNum = $proCur) {

$result = $key;

break;

} else {

$proSum -= $proCur;

}

}

unset ($proArr);

return $result;

}

/*

* 奖项数组

* 是一个二维数组,记录了所有本次抽奖的奖项信息,

* 其中id表示中奖等级,prize表示奖品,v表示中奖概率。

* 注意其中的v必须为整数,你可以将对应的 奖项的v设置成0,即意味着该奖项抽中的几率是0,

* 数组中v的总和(基数),基数越大越能体现概率的准确性。

* 本例中v的总和为100,那么平板电脑对应的 中奖概率就是1%,

* 如果v的总和是10000,那中奖概率就是万分之一了。

*

*/

$prize_arr = array(

'0' = array('id'=1,'prize'='平板电脑','v'=1),

'1' = array('id'=2,'prize'='数码相机','v'=5),

'2' = array('id'=3,'prize'='音箱设备','v'=10),

'3' = array('id'=4,'prize'='4G优盘','v'=12),

'4' = array('id'=5,'prize'='10Q币','v'=22),

'5' = array('id'=6,'prize'='下次没准就能中哦','v'=50),

);

/*

* 每次前端页面的请求,PHP循环奖项设置数组,

* 通过概率计算函数get_rand获取抽中的奖项id。

* 将中奖奖品保存在数组$res['yes']中,

* 而剩下的未中奖的信息保存在$res['no']中,

* 最后输出json个数数据给前端页面。

*/

foreach ($prize_arr as $key = $val) {

$arr[$val['id']] = $val['v'];

}

$rid = get_rand($arr); //根据概率获取奖项id

$res['yes'] = $prize_arr[$rid-1]['prize']; //中奖项

unset($prize_arr[$rid-1]); //将中奖项从数组中剔除,剩下未中奖项

shuffle($prize_arr); //打乱数组顺序

for($i=0;$i

如何用PHP制作有奖品(数量)的转盘抽奖?

这个不是有key值么,抽到后把这个key值的给unset()

unset() 方法

注意如果你使用 unset() 方法,它是不会改变其他的键(key),如果你想对其他的键(key)重新整理排序,可以使用 array_values()。

?php

$array = array(0 = "a", 1 = "b", 2 = "c");unset($array[1]);

//↑ 你要删除的数组元素值的键print_r($array);?

输出结果:

Array (

[0] = a [2] = c)

flash脚本高手进,关于flash转盘抽奖的设计

第一帧:

stop (); //画面停止在第一帧

btnmessage._visible = false;// 名为btnmessage的元素不隐藏

isbool = 0; //设置变量isbool为0

q = 1.565217E+001; //设置变量Q

t = random(100) + 100; //设置变量t为随机在100-200之间

v = 0; //设置变量为0

vMax = 10; //设置变量10

a = 8.000000E-001; //设置变量

b = 0; //设置变量0

retcode = 0; //设置变量0

randomkey = 0; //设置变量0

var my_lv = new LoadVars();//声明变量my_lv为LoadVars类型并初始化

my_lv.onLoad = function (success)//当my_lv加载信息的时候执行内容

{

retcode = int(my_lv.retCode); //设置变量为my_lv的retCode变量,并将值转化为整型数字

randomkey = int(my_lv.randomkey);//同上道理一样

b = int(my_lv.randomvalue); //同上道理一样

if (retcode == 1) //如果retcode值是1执行内容

{

isbool = 1; //变量赋值为1

} // end if

if (retcode == 2) //如果retcode值是2执行内容

{ //变量的等于下面的这几个字符串

outPut = "您抽奖的次数已用完,谢谢您的参与!";

btnmessage._visible = true; //btnmessage元素显示

} // end if

if (retcode == 3) //如果retcode值是3执行内容

{ //变量的等于下面的这几个字符串

outPut = "请您先登录然后玩转盘游戏!";

btnmessage._visible = true; //btnmessage元素显示

} // end if

};

第二帧:

p.onEnterFrame = function () //p元素按照帧频率每秒不段的执行内容

{

if (isbool == 1) //如果isbool的值为1执行内容

{

btnmessage._visible = false; //btnmessage元素隐藏

if (b != 0) //如果变量b的值不为0执行内容

{

rotation = this._rotation = this._rotation + v; //rotation和p的旋转角度等于p的原本旋转角度+上v的值

if (t 0) //如果t的值大于0执行内容

{

--t; t的值现在马上递减1

if (v vMax) //如果v的值大于vMax的值执行内容

{

v = v + a; //v的值递增a的值。或者说是v的值在原本的基础上加上a的值

} // end if

}

else if (v 1)//如果v不大于vMax的话,判断v是否大于1,如果是执行内容

{

v = v - a;//V的值在原本的基础上减掉a的值

}

else if (parseInt(rotation) != parseInt(b)) //如果v不大于vMax,v也不大于1的话,将rotation和b转换为数字整型,并判断rotation是不是不和b相等,如果不等的话执行内容

{

}

else //如果以上的判断都不成立的话执行内容

{

v = 0; //变量等于0

var my_lv2 = new LoadVars(); //声明一个新的LoadVars类型为my_lv2

my_lv2.onLoad = function (success) //当my_lv2加载数据的时候执行内容

{

outPut = my_lv2.itemname; //变量的值等于my_lv2的itemname的值

};

my_lv2.load("InsertItem.aspx?dickey=" + randomkey); //my_lv2加载的文件的路径是InsertItem.aspx?dickey="加上randomkey所得到的字符串

this._rotation = int(rotation / q) * q; //p元素的旋转角度等于rotation除q并去掉小数后在乘q

btn._visible = true; //brn元素显示

btnmessage._visible = true; //btnmessage元素显示

delete this.onEnterFrame; //q元素不再以帧频的速度执行onEnterFrame内的脚本

outPut = "Load......."; //变量设置等于这个字符串

} // end else if

} // end else if

}

else if (isbool == 2) //如果上一个判断不成立,判断isbool是否等于2,是的话执行内容

{

delete this.onEnterFrame; //q元素不再以帧频的速度执行onEnterFrame内的脚本

btnmessage._visible = true; //btnmessage元素显示

} // end else if

};

我想用VB制作一个抽奖型的转盘

这是一个转盘 转到的位置是随机的 具体奖品需要你自己定 我就不帮你了..... 这一句 If c 95 Then Timer1.Interval = 0 这个95 改的越小 停的越快,转到的位置重复的几率也就越大 . 代码细看看, 数值都是活的 可以根据自己需要改.

'添加控件 timer1 command1 line1

Dim x1%, y1%

Dim a As String

Private Sub Command1_Click()

a = 0

Timer1.Interval = 50

End Sub

Private Sub form_load()

Me.AutoRedraw = True

x1 = Me.Width \ 2

y1 = (Me.Height - 405) \ 2

Line1.x1 = x1: Line1.y1 = y1

Me.DrawWidth = 5

Me.Circle (x1, y1), 3000

Line1.BorderWidth = 5

Line1.BorderColor = QBColor(14)

End Sub

Private Sub Timer1_Timer()

Randomize

c = Int((100) * Rnd + 1)

a = a + 1

If a 24 Then Timer1.Interval = 100

If a 40 Then Timer1.Interval = 200

If a 48 Then

Timer1.Interval = 300

If c 95 Then Timer1.Interval = 0

End If

b = (3.14 / 8) * a

Line1.X2 = Line1.x1 + (3000 * Sin(b))

Line1.Y2 = Line1.y1 - (3000 * Cos(b))

End Sub

js转盘抽奖求解释里面部分代码的原理

应该是界面效果切换代码

costheta = Math.cos(rad);

sintheta = Math.sin(rad);

是js数学函数

el.style.filter 是IE的滤镜函数,其他浏览器应该无效的

window.navigator.userAgent.indexOf("Chrome")=1)

是判断当前使用的浏览器函数,根据不同浏览器调用不同代码来实现效果

其他的不太清楚了

(责任编辑:IT教学网)

更多

推荐综合特效文章