Mast

php抽奖算法(适用于九宫格、大转盘)

拜拜、爱过 提交于 2021-02-19 11:00:09
/* * 不同概率的抽奖原理就是把0到*(比重总数)的区间分块 * 分块的依据是物品占整个的比重,再根据随机数种子来产生0-* 中的某个数 * 判断这个数是落在哪个区间上,区间对应的就是抽到的那个物品。 * 随机数理论上是概率均等的,那么相应的区间所含数的多少就体现了抽奖物品概率的不同。 */ /** * 抽奖方法 * @return [array] [抽奖情况] */ public function doDraw() { // 奖品数组 $proArr = array( // id => 奖品等级, name => 奖品名称, v => 奖品权重 array('id'=>1,'name'=>'超级奖品','v'=>0), array('id'=>2,'name'=>'特等奖','v'=>1), array('id'=>3,'name'=>'一等奖','v'=>5), array('id'=>4,'name'=>'二等奖','v'=>10), array('id'=>5,'name'=>'三等奖','v'=>12), array('id'=>6,'name'=>'四等奖','v'=>22), array('id'=>7,'name'=>'五等奖','v'=>50), array('id'=>8,'name'=>'六等奖','v'=>100), array('id'=>9,'name

android 自定义进度条

痴心易碎 提交于 2020-12-18 19:20:22
自定义view,显示进度标点及进度数值,外进度框和内进度条。 自定义view类 package com.sample.util; import android.annotation.SuppressLint; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Rect; import android.graphics.RectF; import android.util.AttributeSet; import android.util.Log; import android.view.View; import com.gj.gateway.R; public class HProgressBar extends View { private final String TAG = "HProgressBar" ; private int mProgress_outline_color = 0xFFFFFFFF; // 外边框颜色 private int mProgress_color = 0xFFFFFFFF; //

投资者2019年比特币路线图:Schnorr,Dandelion等

不羁的心 提交于 2020-03-02 20:44:15
比特币既是货币也是技术。在货币方面,比特币经过精心设计,一旦经过验证,交易就不可变,永远存在于区块链中。但这并不意味着该技术是静态的。由于充满活力的开发者生态系统,比特币的协议年复一年地稳步提升。 比特币的去中心化性质为改进为协议提供动力的基础技术的过程带来了独特的挑战。为避免无政府状态,比特币的核心开发人员采用了特定的代码修订流程。由于没有中央权限可以说明应该和不应该完成哪些更新,因此更改取决于获得开发人员社区支持的提案。一旦将提案实施到代码中,网络上的节点就必须通过升级其客户端软件来接受新的更改。 投资者应该了解重要的更新提案,因为比特币的重大变化可能会影响BTC的价格。有争议的提案甚至可能导致硬分叉,导致较小的集团拆分并形成区块链的新版本(因为SegWit2提案启发了比特币现金的创建)。 比特币改进建议 比特币改进通常以比特币改进提案(BIP)的形式提交给GitHub存储库。BIP是一个设计文档,它提供了新比特币功能或现有功能修订的想法。只有重大变化才能获得自己的BIP。该文件的作者通常会对比特币社区进行民意调查,以确认在提交正式批准程序的BIP之前是否有很好的接受机会。 如果社区在很大程度上支持,那么BIP作者将把文档提交到比特币开发邮件列表进行审核。BIP通过几个阶段: Draft(草案),BIP已提交。 Proposed(建议),BIP有一个有效的实施方案