抽奖软件源码
A. 用html5+js 做一个转盘抽奖怎么做,求源码!
5分给你个程序。。。
自己参考改吧
<input type="button" value="开始旋转" onclick="spin();" style="float: left;" />
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<canvas id="wheelcanvas" width="500" height="500"></canvas>
<script type="application/javascript">
var colors = ["#B8D430", "#3AB745", "#029990", "#3501CB",
"#2E2C75", "#673A7E", "#CC0071", "#F80120",
"#F35B20", "#FB9A00", "#FFCC00", "#FEF200"];
var restaraunts = ["北京", "上海", "天津", "南京",
"杭州", "深圳", "武汉", "济南",
"重庆", "大连", "合肥", "郑洲"];
var startAngle = 0;
var arc = Math.PI / 6;
var spinTimeout = null;
var spinArcStart = 10;
var spinTime = 0;
var spinTimeTotal = 0;
var ctx;
function draw() {
drawRouletteWheel();
}
function drawRouletteWheel() {
var canvas = document.getElementById("wheelcanvas");
if (canvas.getContext) {
var outsideRadius = 200;
var textRadius = 160;
var insideRadius = 125;
ctx = canvas.getContext("2d");
ctx.clearRect(0,0,500,500);
ctx.strokeStyle = "black";
ctx.lineWidth = 2;
ctx.font = 'bold 12px sans-serif';
for(var i = 0; i < 12; i++) {
var angle = startAngle + i * arc;
ctx.fillStyle = colors[i];
ctx.beginPath();
ctx.arc(250, 250, outsideRadius, angle, angle + arc, false);
ctx.arc(250, 250, insideRadius, angle + arc, angle, true);
ctx.stroke();
ctx.fill();
ctx.save();
ctx.shadowOffsetX = -1;
ctx.shadowOffsetY = -1;
ctx.shadowBlur = 0;
ctx.shadowColor = "rgb(220,220,220)";
ctx.fillStyle = "black";
ctx.translate(250 + Math.cos(angle + arc / 2) * textRadius, 250 + Math.sin(angle + arc / 2) * textRadius);
ctx.rotate(angle + arc / 2 + Math.PI / 2);
var text = restaraunts[i];
ctx.fillText(text, -ctx.measureText(text).width / 2, 0);
ctx.restore();
}
//Arrow
ctx.fillStyle = "black";
ctx.beginPath();
ctx.moveTo(250 - 4, 250 - (outsideRadius + 5));
ctx.lineTo(250 + 4, 250 - (outsideRadius + 5));
ctx.lineTo(250 + 4, 250 - (outsideRadius - 5));
ctx.lineTo(250 + 9, 250 - (outsideRadius - 5));
ctx.lineTo(250 + 0, 250 - (outsideRadius - 13));
ctx.lineTo(250 - 9, 250 - (outsideRadius - 5));
ctx.lineTo(250 - 4, 250 - (outsideRadius - 5));
ctx.lineTo(250 - 4, 250 - (outsideRadius + 5));
ctx.fill();
}
}
function spin() {
spinAngleStart = Math.random() * 10 + 10;
spinTime = 0;
spinTimeTotal = Math.random() * 3 + 4 * 1000;
rotateWheel();
}
function rotateWheel() {
spinTime += 30;
if(spinTime >= spinTimeTotal) {
stopRotateWheel();
return;
}
var spinAngle = spinAngleStart - easeOut(spinTime, 0, spinAngleStart, spinTimeTotal);
startAngle += (spinAngle * Math.PI / 180);
drawRouletteWheel();
spinTimeout = setTimeout('rotateWheel()', 30);
}
function stopRotateWheel() {
clearTimeout(spinTimeout);
var degrees = startAngle * 180 / Math.PI + 90;
var arcd = arc * 180 / Math.PI;
var index = Math.floor((360 - degrees % 360) / arcd);
ctx.save();
ctx.font = 'bold 30px sans-serif';
var text = restaraunts[index]
ctx.fillText(text, 250 - ctx.measureText(text).width / 2, 250 + 10);
ctx.restore();
}
function easeOut(t, b, c, d) {
var ts = (t/=d)*t;
var tc = ts*t;
return b+c*(tc + -3*ts + 3*t);
}
draw();
</script>
B. 易语言抽奖源码
置随机数种子()
.局部变量 结果
赋值(结果,取随机数(1,100))
.局部变量 msg
.如果真(小于(结果,50))'三等奖50
赋值(msg,3)
.如果真结束
.如果真(大于(结果,50) 且 小于(结果,75))'2等奖25
赋值(msg,2)
.如果真结束
.如果真(大于(结果,75) 且 小于(结果,85))'2等奖10
赋值(msg,1)
.如果真结束
信息框(msg)
C. 谁有 九宫格抽奖的源码 注意:是可以设置抽奖概率的
你是什么用途?
a.如果抽奖内容价值比较大,得考虑到算法的安全性,保证绝对的概率,也就是能彩票一样,如果是100W的大奖,不能重复出现好几次。计算机的随机概率是不稳定的,所以需要一套完整的算法来保持概率,进行矫正和干预。上面说道的是随机概率。
b.如果是奖池形的,就需要用维护奖池的算法来实现,比如1等奖10个二等奖100个三等奖1000个,10W的不中奖,这就形成了你的奖池,你每次抽奖是从这个池中取到一个号码,为了维护中奖率,你需要再拿走一个号码以后再给奖池补充一个新的号码。
c.总之这是一个非常复杂的过程,建议你使用国家的开奖中心的数据来维护你自己的抽奖内容,抽奖中心给的内容算法是完整的,你取到她们算出的结果当作你们计算的依据。
如果是简单实现,不考虑后果的话,你可以去前端源码下载站就能轻松找到源码
以上是我个人观点,如果错误,敬请原谅。
这个拍版好难用
D. 你好,我想自己用易语言做一个抽奖软件
没有现成的!要的话,可以教你怎么写!
晚上闲着没事,给你写了个简单的!还有一个版本,要的话HI我!
.版本 2
.程序集 窗口程序集1
.程序集变量 位数, 整数型
.子程序 _按钮1_被单击
编辑框2.内容 = “”
.如果 (编辑框1.内容 = “”)
位数 = 取随机数 (1, 10)
.否则
位数 = 到整数 (编辑框1.内容)
.如果结束
.计次循环首 (位数, )
编辑框2.加入文本 (到文本 (取随机数 (0, 9)))
延时 (100)
.计次循环尾 ()
E. 怎么用易语言做一个超级简单的抽奖软件
需要的材料:主窗口,标签(可以是一个,也可以是多个),按钮(开始、停止、关闭),时钟1个,声音(可有可无),皮肤插件(可有可无)。
===================================================================
下面这个是0-199数字随机,可以自己改改,不难~!
===================================================================
.
.版本 2
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
加载皮肤 (26) ' 皮肤的东西,可以删掉
加载Aero特效 () ' 皮肤特效,可以删掉
.子程序 _时钟1_周期事件
标签1.标题 = 到文本 (取随机数 (0, 1))
标签2.标题 = 到文本 (取随机数 (0, 9))
标签3.标题 = 到文本 (取随机数 (0, 9))
.子程序 _按钮1_被单击
时钟1.时钟周期 = 0
' 播放音乐 (#lala, ) '播放声音文件,可有可无,主要是衬托气氛
信息框 (“恭喜这位” + 到文本 (标签1.标题 + 标签2.标题 + 标签3.标题) + “的朋友中奖~!!!”, 0, “大家鼓掌!”)
.子程序 _按钮2_被单击
时钟1.时钟周期 = 5
.子程序 _按钮3_被单击
信息框 (“感谢您的使用!”, 0, )
结束 ()
F. 求一个用易语言写的抽奖软件(源码)。
.版本 2
.程序集 窗口程序集1
.子程序 _按钮1_被单击
.局部变量 a, 整数型, , "0"
.局部变量 计次变量, 整数型
.局部变量 b, 整数型
编辑框1.内容 = “”
.计次循环首 (35, 计次变量)
加入成员 (a, 计次变量)
.计次循环尾 ()
.计次循环首 (7, )
b = 取随机数 (1, 取数组成员数 (a))
编辑框1.内容 = 编辑框1.内容 + 到文本 (a [b]) + “ ”
删除成员 (a, b, 1)
.计次循环尾 ()
G. 求大神指教如何制作一个易语言抽奖软件
这是我给别人写的一个收费抽签软件,原理和抽奖一样,稍微改下就行了。
H. 谁给个网页抽奖源码,带后台(最好是要转盘类的)
discuz有个转盘抽奖插件,如果不是discuz论坛程序,估计是用不上。
I. vc++身份证抽奖软件源代码 哪位大侠能告诉我如何编译
如果你下到的是整个工程,直接双击.dsw就可以用vc打开,点击编译按钮就可以了,但如果你下到的只是cpp和h文件,直接编译不太可能,你可以自己设计界面将下到代码的功能部分复制到你的工程,就可以编译了