微信小程序大转盘抽奖概率算法实现
前端时间做了个小程序,用到了抽奖功能,主要在算概率这块卡了一会。
需求:设置奖项等级,并且按照数量的比例进行抽奖。
数据字段: prizename 奖项名字 renumber 奖项数量(这个数量可根据每次抽取的数量,后台做逐次递减,因而每次获得的数量是有变化的)。
步骤:一、首先计算每次的抽奖概率的数组为 。
二、取一个随机数 index=Math.random() *a 这个乘以的数据,看奖项的数量设置。
三、按照每个数值的概率,判断每个数值属于[0~a]的哪个区间,属于则判定属于改个奖项值。
给出代码
//prize为奖项信息
//prob[]为每个奖项的概率
var prob=[];var prizeprob=0;for (var j = 0; j < this.data.prize.length; j++) {prizeprob = this.data.prize[j].renumber + prizeprob}
if (prizeprob == 0) {wx.showToast({content: 'Sorry 该轮抽奖已结束',duration: 3000,success: () => { },});return;}for (var j = 0; j < this.data.prize.length; j++) {prob.push(this.data.prize[j].renumber/prizeprob);}var Index1 = Math.random() *100000//随机产生数var Index2=0var rotat= 0// 计算权值var i = 0for (var j = 0; j < prob.length; j++) {if (i==0){rotat = rotat+ prob[j] * 100000if (Index1 <= rotat){Index2=ji=i+1}}}
微信小程序大转盘抽奖概率算法实现相关推荐
- 微信小程序,转盘抽奖
微信小程序大转盘 代码源码:https://github.com/yewook/Lottery-turntable 转载于:https://www.cnblogs.com/yewook/p/97171 ...
- 微信小程序大转盘完整代码
微信小程序大转盘完整代码 效果图 wxml片段 <!--index.wxml--> <view class="container"><image sr ...
- 微信小程序实现转盘抽奖
<!--pages/component/lottery/lottery.wxml--> <view class="canvas-container">< ...
- 微信小程序实现转盘抽奖(有效果图)
效果图如下所示 .wxml <view class="index"><view class="xian"></view>&l ...
- 如何实现消息功能_如何实现微信小程序的轮盘抽奖功能
为了吸引用户,商家会做一些活动,利用赠送或充值的积分来进行抽奖,现在来讲下微信小程序如果实现轮盘抽奖的功能,先看下图: 上面展示的就是轮盘抽奖,一共有六个奖项,其中一个是"不中奖" ...
- 入门微信小程序[第六篇]微信小程序 -- 大樱桃的安排
经过一番努力,我的直接上司"大樱桃"终于满意了并且交给了我第一个小程序项目. 小乖猴助手 老沙很高兴,终于可以实际的编码了,对于一个100%的码农来说,这是何等的愉悦. 这是一个家 ...
- 微信小程序仿唯聚时代,微信小程序商城,微信小程序大作业源码,小程序源码下载
1.首页 轮播图 大菜单 广告 公告 本周上新 商品分类 广告 商品列表 2.分类 左右分类布局 3.我的 头像 购物订单/置换服务 经销服务 用户服务 源码下载 以上就是功能点分析,下面看效果图: ...
- 在微信小程序上实现抽奖功能
前言 本教程是基于 "apifm-wxapi" 模块,教你快速实现小程序开发,所以你可能需要先了解以下知识点: <创建 HelloWorld 项目> <使用 &q ...
- 微信小程序——走马灯式抽奖
目录 前言 一.效果展示 二.实现代码 1.wxml代码 2.wxss代码 3.js代码 4.app.js代码 三.实现思路 说明 前言 (1)利用定时器setInterval每隔固定时间改变下一个格 ...
最新文章
- java怎么求两组整数的或集,确定整数是否在具有已知值集的两个整数(包括)之间的最快方法...
- 科大星云诗社动态20210306
- Altium Designer 09 使用要点:电气连接工具
- Python元组,列表,解构和循环
- Android单元测试(七):Robolectric,在JVM上调用安卓的类
- 数据库 设计中的英文术语
- pandas 保存csv 不要序号
- jquery常用遍历方法
- 【cluvfy】集群验证工具cluvfy使用方法——stage
- 《Python简明教程》一
- termios 详解
- java 求梯形面积
- 【org.mybatis.spring.MyBatisSystemException】There is no getter for property named ‘array‘‘
- Verilog语言语句介绍
- 数学故事(统计学的妙用)
- mysql怎么输出列表的次序_MySQL metalock的一些技巧(写大于读的案例,以及获得锁的顺序)...
- python3中生成图片验证码和短信验证码的程序
- 计算机窗口的大小是什么单位,电脑软件窗口大小调整
- 大气简洁手绘风商务计划书PPT模板
- 你有什么道理后悔没早点知道