大转盘的实现

简介: header('content-type: text/html;charset=utf-8');date_default_timezone_set('prc');//如果上面两行不存在对应问题,可以不设置/** * 保存转盘信息及提前设定的中...
header('content-type: text/html;charset=utf-8');
date_default_timezone_set('prc');
//如果上面两行不存在对应问题,可以不设置

/**
 * 保存转盘信息及提前设定的中奖者用户
 */
$prize_arr = array(
    array('min'=>1, 'max'=>89, 'prize'=>'一等奖', 'v'=>25, 'preuser'=>array(51)),
    array('min'=>90, 'max'=>179, 'prize'=>'二等奖', 'v'=>25),
    array('min'=>180, 'max'=>360, 'prize'=>'三等奖', 'v'=>50)
);

/**
 * 根据中奖占比获得对应的项
 * @param $prizeinfo array 转盘信息
 * @param $curruser int 当前玩转盘用户id
 * @return int 返回中奖项
 */
function getRand($prizeinfo, $curruser = 0)
{
     //根据prize_arr信息,对应key和中奖占比
    foreach ($prizeinfo as $key=>$val){
        $proArr[$key] = $val['v'];
    }
    $res = '';
    $proSum = array_sum($proArr);
    foreach ($prizeinfo as $key => $cur) { //预定

        if(!empty($cur['preuser']) && in_array($curruser, $cur['preuser'])){
            return $key;
        }
    }
    foreach ($proArr as $key => $proCur) {//未预定
        $randNum = mt_rand(1, $proSum);
        if($randNum <= $proCur){ //倘若本次随机数落在占比范围内则表示已经中奖
            $res = $key;
        }else{
            $proSum -= $proCur;
        }
    }
    unset($proArr);
    return $res;
}
$res = getRand($prize_arr); //根据转盘信息获得对应奖项
$reward = $prize_arr[$res]; //中奖的对应转盘信息
$return = array(
    'angle' => mt_rand($reward['min'], $reward['max']),
    'prize' => $reward['prize'],
    'time' => date('Y-m-d H:i:s')
);

var_dump($return);
目录
相关文章
|
15天前
|
小程序
大转盘抽奖小程序源码
大转盘抽奖小程序源码,测试依旧可用,无BUG,跑马灯旋转效果,非常酷炫。
16 1
|
7月前
|
开发工具 Android开发 Windows
汪子熙趣味接龙游戏实现的参考资源
本作品未引用或者复制其他 kitten 作品的工程文件或者源代码,只参考了Kitten编程猫源码编辑工具自带的帮助文档。
41 0
|
10月前
盲盒抽奖流程
盲盒抽奖流程
121 0
|
10月前
|
小程序 前端开发 JavaScript
微信小程序实现抽奖大转盘
微信小程序实现抽奖大转盘
593 0
|
10月前
|
人工智能 Serverless 异构计算
【有奖体验】叮!你有一张 3D 卡通头像请查收
立即体验基于函数计算部署【图生图】一键部署 3D 卡通风格模型,秒生成属于自己的 3D 卡通图!
基于盲盒商城的飞机大战游戏
基于盲盒商城的飞机大战游戏
71 0
基于盲盒商城的飞机大战游戏
|
开发工具 Android开发 iOS开发
中秋快乐,快来摇一摇,摇出你的本命月饼吧
中秋节到了,吃月饼必不可少,为了让大家能够更愉快的过中秋,我花了一晚的功夫开发了一个摇一摇的页面,通过页面摇一摇,可以摇出各种各样的月饼,快来试试你的本命月饼是什么吧。
|
前端开发 JavaScript
七夕的朋友圈 —— 炸锅了
七夕的朋友圈 —— 炸锅了
121 0
七夕的朋友圈 —— 炸锅了
|
Android开发
带你开发个转盘抽奖小游戏【附源码】
小时候有没有玩过老虎机抽奖游戏?今天一起来用代码编程实现个简单抽奖的小游戏!首先,先带大家看看实现的效果图是怎么样的:
499 0
带你开发个转盘抽奖小游戏【附源码】