标题:ASP循环获得物品问题!
只看楼主
ldj119041170
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-3-8
结帖率:0
 问题点数:0 回复次数:5 
ASP循环获得物品问题!
我在BBS论坛弄了一个砸蛋获得物品的插件,获得物品的字段内容格式为出现率1|数量1|物品名1,出现率2|数量2|物品名2,依次类推一共12种物品。我是这样写的
rs.open "select * from 砸蛋 where user='" & name &"'",conn,1,1
zlwp=rs("物品")
        data1=split(zlwp,",")
        data2=ubound(data1)
        for kk=0 to data2-1
                data3=split(data1(kk),"|")
                wp_sl=data3(1)
                wp_name=data3(2)
                wp_list=wp_list&"|"&wp_name '获得物品列表
                tempjiasl=wpadd(wp_name,Session("sjjh_myid"),wp_sl) '物品入库
        next
这样写,每砸一次所有的物品都能获得,我想实现的是
每砸一次,都会根据出现率来判断是否可以获得此物品,这个物品字段的出现率是可以在后台随意设置的。
比如我设置出现率为20,那么必须要砸够20次才可以获得此物品,如果出现率设置为1,则是每砸一次就会获得出现率为1的5种随机物品,各位大神这个该怎么修改呢
初学者实在不知道该怎么修改
搜索更多相关主题的帖子: ASP split 循环 出现 获得 
2020-02-18 18:14
mmtvip
Rank: 1
等 级:新手上路
帖 子:10
专家分:7
注 册:2012-11-4
得分:0 
谁给你说出现率是20砸20次就会出现这个物品?你怕是对概率有什么误解。
2021-06-03 19:07
mmtvip
Rank: 1
等 级:新手上路
帖 子:10
专家分:7
注 册:2012-11-4
得分:0 
css代码:
@media screen and (min-width:1000px){

*{
margin:0;
padding:0;
transition:all 0.3s;
}

a{
text-decoration:none;
color:DarkBlue;
}

a:hover{
color:red;
}

.outbox{
position:relative;
width:80%;
margin:0 auto;
display:flex;
display:-webkit-flex;
}

.box{
width:100px;
height:100px;
box-shadow:1px 1px black inset,-1px -1px black inset;
display:flex;
display:-webkit-flex;
justify-content:center;
-webkit-justify-content:center;
align-items:center;
-webkit-align-items:center;
border-radius:50%;
cursor:pointer;
}

.box span{
display:block;
width:80%;
text-align:center;
}

.outbox div:nth-child(odd){
background:orange;
}

}

index.asp代码
<!--#include file="admin/myinclude/myconnect.asp"-->
<%
call conn_open(conn,"mydata/db.mdb")
%>

<!DOCTYPE html>
<html lang="zh-CN">
    <head>
        <title>砸蛋</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <link rel="stylesheet" type="text/css" href="css/pc.css" charset="utf-8">
        <meta name="viewport" content="width=10,initial-scale=1,user-scalable=no">
        <meta name="applicable-device" content="pc,mobile">
    </head>
<body>

<div class="outbox">
<%
'先判断用户是否参与过这个活动,如果参与过则不必参与,下面的代码就没有必要了。判断步骤省略,不然业务逻辑太复杂,写不过来。假设用户没有参与过这个活动。

sql="select id from 奖品"
call rs_open1(rs,sql)
do while not rs.eof
%>
    <div class="box" onclick="choujiang(this)">
        ">
        <span>金蛋</span>
    </div>
<%
    rs.movenext
loop
call rs_close(rs)
%>
</div>
<script>
//用ajax向后台传值,把用户点击的奖品id传值到后台,在后台继续对id进行判断。
function choujiang(obj){
    if(obj.children[0].value != ""){//判断id是否为空,id不为空则表示蛋可以砸,为空则表示蛋已经被砸,不能再砸。
        var xmlhttp;
        if (window.XMLHttpRequest){
            xmlhttp=new XMLHttpRequest();
        }
        else{
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.open("POST","mydata/mypost.asp",true);
        xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
        xmlhttp.send("tj="+obj.children[0].value);
        xmlhttp.onreadystatechange=function(){
            if (xmlhttp.readyState==4 && xmlhttp.status==200){
                var node = xmlhttp.responseText;
                obj.children[0].value == "";//id强行清空,防止二次砸蛋。
                obj.children[1].innerHTML = node;
                obj.style.background = "black";
                obj.children[1].style.color="red";
            }
        }
    }
}
</script>

</body>
<%
call conn_close(conn)
%>
</html>

mypost.asp代码
<%
'此处做用户名验证,防止未登录用户砸蛋。
'此处判断用户是否已经参与砸蛋活动,如果已经参与活动,则跳转或停止。


if request.form("tj") <> "" then
%>
<!--#include file="../admin/myinclude/myconnect.asp"-->
<%
    call conn_open(conn,"db.mdb")
    sql="select id,奖品,概率 from 奖品 where id="&request.form("tj")
    call rs_open1(rs,sql)
    if not rs.eof and not rs.bof then
        Randomize
        if Int((cint(100/rs("概率")) * Rnd) + 1) = 1 then
            response.write "恭喜中大奖了,奖品是"&rs("奖品")
        else
            response.write "运气太差没有中奖"
        end if
    end if
    call rs_close(rs)
    call conn_close(conn)
end if
%>

效果图:
好像不能上传图片,所以就没有效果图了。














2021-06-04 20:10
mmtvip
Rank: 1
等 级:新手上路
帖 子:10
专家分:7
注 册:2012-11-4
得分:0 


效果图如上
2021-06-04 20:12
mmtvip
Rank: 1
等 级:新手上路
帖 子:10
专家分:7
注 册:2012-11-4
得分:0 

一个简单的表结构,根据业务逻辑继续优化。案例很简单。
2021-06-04 20:16
mmtvip
Rank: 1
等 级:新手上路
帖 子:10
专家分:7
注 册:2012-11-4
得分:0 
xxxxxxxxxxxxxxxxxxxxxxxxxxx

[此贴子已经被作者于2021-6-5 20:43编辑过]

2021-06-05 12:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-499286-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.114378 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved