Home >php教程 >PHP源码 >Lucky Wheel - Lottery program implemented in jQuery PHP - under improvement

Lucky Wheel - Lottery program implemented in jQuery PHP - under improvement

WBOY
WBOYOriginal
2016-07-06 13:28:291511browse
Jump to [1] [Full screen preview]
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>小雨在线网站自营销研究</title>
    <link rel="stylesheet" type="text/css" href="css/style.css"/>
    <!--<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>-->
    <script src="//cdn.bootcss.com/jquery/3.0.0/jquery.min.js"></script>
    <script type="text/javascript" src="js/jQueryRotate.2.2.js"></script>
    <script type="text/javascript" src="js/jquery.easing.min.js"></script>


    <script type="text/javascript">


        $(function () {
            $("#startbtn").click(function () {
                lottery();
            });
        });
        function lottery() {
            $.ajax({
                type: 'POST',
                url: 'data.php',
                dataType: 'json',
                cache: false,
                error: function () {
                    alert('出错了!');
                    return false;
                },
                success: function (json) {
                    $("#startbtn").unbind('click').css("cursor", "default");
                    var a = json.angle; //角度
                    var p = json.prize; //奖项
                    $("#startbtn").rotate({
                        duration: 3000, //转动时间
                        angle: 0,
                        animateTo: 1800 + a, //转动角度
                        easing: $.easing.easeOutSine,
                        callback: function () {
                            var con = confirm('恭喜你,中得' + p + '\n还要再来一次吗?');
                            if (con) {
                                lottery();
                            } else {
                                return false;
                            }
                        }
                    });
                }
            });
        }


    </script>


</head>
<body class="keBody">
<h1 class="keTitle">小雨在线网站自营销研究</h1>

<div class="kePublic">
    <!--效果html开始-->
    <div class="demo">
        <div id="disk"></div>
        <div id="start"><img src="images/start.png" id="startbtn"></div>
    </div>
    <!--效果html结束-->
</div>


</body>
</html>

-----------data.php----------------------------------
<?php
/**
 * Created by 小雨在线
 * User: 飛天
 * Date: 2016/6/22 0022
 * Time: 下午 4:27
 */

$prize_arr = array(
    '0' => array('id' => 1, 'min' => 1, 'max' => 29, 'prize' => '一等奖', 'v' => 1),
    '1' => array('id' => 2, 'min' => 302, 'max' => 328, 'prize' => '二等奖', 'v' => 2),
    '2' => array('id' => 3, 'min' => 242, 'max' => 268, 'prize' => '三等奖', 'v' => 5),
    '3' => array('id' => 4, 'min' => 182, 'max' => 208, 'prize' => '四等奖', 'v' => 7),
    '4' => array('id' => 5, 'min' => 122, 'max' => 148, 'prize' => '五等奖', 'v' => 10),
    '5' => array('id' => 6, 'min' => 62, 'max' => 88, 'prize' => '六等奖', 'v' => 25),
    '6' => array('id' => 7, 'min' => array(32, 92, 152, 212, 272, 332), 'max' => array(58, 118, 178, 238, 298, 358), 'prize' => '七等奖', 'v' => 50)
);



function getRand($proArr)
{
    $result = '';

    //概率数组的总概率精度

    $proSum = array_sum($proArr);

    //概率数组循环
    foreach ($proArr as $key => $proCur) {
        $randNum = mt_rand(1, $proSum);
        if ($randNum <= $proCur) {
            $result = $key;
            break;
        } else {
            $proSum -= $proCur;
        }
    }
    unset ($proArr);

    return $result;
}


foreach ($prize_arr as $key => $val) {
    $arr[$val['id']] = $val['v'];
}

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

$res = $prize_arr[$rid - 1]; //中奖项
$min = $res['min'];
$max = $res['max'];
if ($res['id'] == 7) { //七等奖
    $i = mt_rand(0, 5);
    $result['angle'] = mt_rand($min[$i], $max[$i]);
} else {
    $result['angle'] = mt_rand($min, $max); //随机生成一个角度
}
$result['prize'] = $res['prize'];

echo json_encode($result);



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:Encrypted cookie classNext article:Encrypted cookie class