如何用java写一个抽奖程序 web类型的

如何用java写一个抽奖程序 web类型的,第1张

思路是对的,按照你前面的思路,后面只需要在页面上用JS来控制随机显示,和抽取了。

但是一般不这么做,因为你这么做不方便控制作弊,和中奖概率。还有JS控制抽奖很容易就能作弊。

我之前做过的一个抽奖项目是这样的:抽奖程序(抽奖界面)用flash来写,这样既方便作弊也能控制中奖概率,同时更安全,JAVA后台提供抽奖名单,中奖概率等数据,抽奖程序调用java的API获得抽奖数据,这里需要在后台对抽奖信息进行加密,我们使用的是base64加密(方便反向解密),然后由用户点击flash抽奖界面抽奖,中奖后,同样使用base64加密中奖信息,发送到java后台,然后保存在DB,同时后台程序发送中奖信息给用户。

制作其实并不是很难,现在可以自助做,简单方便。

首先凡科互动挑选好自己的抽奖模板;

然后再修改游戏的背景和文字;

最后就是补充完整资料,发布就好了!

参考下面写的小程序,是一个跑马灯效果。

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

<title>抽奖</title>

<style>

*{margin:0padding:0}

#box{width:400pxheight:400pxborder:2px #C6C solidmargin:20px autobackground:#99F}

#box>div{position:absolutewidth:60pxheight:40pxcolor:#F03font-size:20pxborder:2px #F63 solidopacity:0.4line-height:40pxbackground:#F96}

#butt{position:absolutebackground:#F6Ccolor:#36Ffont-size:16pxmargin-top:200pxmargin-left:150px}

#span{width:300pxheight:40pxmargin-left:160pxdisplay:blockborder:2px #F63 solidfloat:leftline-height:40px}

#span i{font-style:normal}

</style>

</head>

<body>

<span id="span">离抽奖结束还有:<i></i><i></i><i></i><i></i></span>

<div id="box" class="box">

<div>一等奖</div>

<div style="margin-left:336px">二等奖</div>

<div style="margin-left:336pxmargin-top:356px">三等奖</div>

<div style="margin-top:356px">安慰奖</div>

<button id="butt" onclick="butt()">点击抽奖</button>

</div>

<script type="text/javascript">

var opa=document.getElementById("box").getElementsByTagName("div")

var ii=document.getElementById("span").getElementsByTagName("i")

for(var i=0i<opa.lengthi++){

opa[i].style.opacity=0.4

}

//var span=document.getElementById("span").style

var i=0,

t,tt,r,

count1=1,//限制一等奖只中一次,当一等奖抽完后顺延到二等奖

count2=3,//限制二等奖只中3次,当二等奖抽完后顺延到三等奖

count3=10,//限制等奖只中10次

prize=1,//抽奖是否结束

time=200,

curr=0//每次抽奖完成才能再次点击

var toDate = new Date(2016,7,29,19,55,0)

var dt,currDate

function obtain(){//倒计时

currDate=new Date()

dt=Math.ceil((toDate.getTime()-currDate.getTime())/1000)<!--转换成s-->

ii[0].innerHTML=parseInt(dt/(24*60*60))+'天'

ii[1].innerHTML=Math.floor(dt%(24*60*60)/(60*60))+'时'

ii[2].innerHTML=Math.floor(dt%(24*60*60)%(60*60)/60)+'分'

ii[3].innerHTML=Math.floor(dt%60)+'秒'

if(dt<=0){

prize=0

ii[0].innerHTML=0+'天'ii[1].innerHTML=0+'时'ii[2].innerHTML=0+'分'ii[3].innerHTML=0+'秒'

if(prize==0&&s==0){alert("抽奖已结束")clearInterval(tt)}

}

}

tt=setInterval(obtain,1000)

function butt(){

curr++

if(count1==0&&count2==0&&count3==0){

prize=0

}

if(curr==1&&prize==1){

if(i!=0){

opa[i].style.opacity=0.4

}

i=0

clearInterval(t)

r=parseInt(Math.random()*10000)+1//产生1-10000的随机数

//r=1

opa[i].style.opacity=1

t=setInterval(move,time)

}else if(curr!=1&&prize==1){alert("请等待本次抽奖完成再抽奖")alert("请点击确定继续")}

else if(prize==0){alert("抽奖已结束")}

}

/*function move(r){

switch(r){

case 1:

}

}*/

function move(){

opa[i].style.opacity=0.4

if(i<opa.length-1){

i++

}else{i=0}

opa[i].style.opacity=1

time+=50

console.log("r="+r+","+"time="+time)

if(r==1&&count1>0){//中一等奖

clearInterval(t)

t=setInterval(move,time)

if(time==800){

clearInterval(t)

time=200

count1--

curr=0

console.log("中一等奖的次数还有:"+count1+"次")

}

}else if((r%2999==0||r==1&&count1==0)&&count2>0){//中二等奖

clearInterval(t)

t=setInterval(move,time)

if(time==850){

count2--

clearInterval(t)

time=200

curr=0

console.log("中二等奖的次数还有:"+count2+"次")

}

}else if((r%1000==0||r%2999==0&&count2==0||r==1&&count1==0)&&count3>0){//中三等奖

clearInterval(t)

t=setInterval(move,time)

if(time==900){

time=200

count3--

clearInterval(t)

curr=0

console.log("中三等奖的次数还有:"+count3+"次")

}

}else{//安慰奖

clearInterval(t)

t=setInterval(move,time)

if(time==950){

clearInterval(t)

curr=0

time=200

}

}

}

</script>

</body>

</html>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7888605.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存