/** * * JAVA 返回随机数,并根据概率、比率 * <p/> * * @author <a href="mailto:durb@etuo.cn">durb</a> * @version Date: 2015年4月15日 下午3:22:22 * @serial 1.0 * @since 2015年4月15日 下午3:22:22 */ public class MathRandom { /** * 1出现的概率为%50 */ public static double rate1 = 0.50; /** * 2出现的概率为%20 */ public static double rate2 = 0.20; /** * 3出现的概率为%15 */ public static double rate3 = 0.15; /** * 4出现的概率为%10 */ public static double rate4 = 0.10; /** * 5出现的概率为%4 */ public static double rate5 = 0.04; /** * 6出现的概率为%1 */ public static double rate6 = 0.01; /** * Math.random()产生一个double型的随机数,判断一下 例如0出现的概率为%50,则介于0到0.50中间的返回0 * * @return int * */ private int PercentageRandom() { double randomNumber; randomNumber = Math.random(); if (randomNumber >= 0 && randomNumber <= rate1) { return 1; } else if (randomNumber >= rate1 && randomNumber <= rate1 + rate2) { return 2; } else if (randomNumber >= rate1 + rate2 && randomNumber <= rate1 + rate2 + rate3) { return 3; } else if (randomNumber >= rate1 + rate2 + rate3 && randomNumber <= rate1 + rate2 + rate3 + rate4) { return 4; } else if (randomNumber >= rate1 + rate2 + rate3 + rate4 && randomNumber <= rate1 + rate2 + rate3 + rate4 + rate5) { return 5; } else if (randomNumber >= rate1 + rate2 + rate3 + rate4 + rate5 && randomNumber <= rate1 + rate2 + rate3 + rate4 + rate5 + rate6) { return 6; } return -1; } /** * 测试主程序 * * @param agrs */ public static void main(String[] agrs) { int i = 0; MathRandom a = new MathRandom(); for (i = 0; i <= 100; i++)// 打印100个测试概率的准确性 { System.out.println(a.PercentageRandom()); } } }
JS 算法概率
function prizeRand(oArr) { var sum = 0; // 总和 var rand = 0; // 每次循环产生的随机数 var result = 0; // 返回的对象的key console.log(oArr); // 计算总和 for (var i in oArr) { sum += oArr[i][0]; } // 思路就是如果设置的数落在随机数内,则返回,否则减去本次的数 for (var i in oArr) { rand = Math.floor(Math.random()*sum + 1); if (oArr[i][0] >= rand) { result = oArr[i][0]; break; } else { sum -= oArr[i][0]; } } return result; } var oArr = {'5':[5, 'Mac'], '3':[15, 'iPhone'], '2':[30, 'iPad'], '1':[50, 'iWatch']}; console.log(prizeRand(oArr));
相关推荐
简单的java实现掷色子游戏,通过比较掷色子数的大小显示获胜方
微信小程序:摇骰子。手机摇一摇实现骰子从屏幕外自上而下抛洒动画效果,可以选择1-9个骰子,每次每个骰子随机一个点数(1至6)
自己进行过2次开发和维护的微信要骰子游戏,完整版的代码,可以跟朋友玩玩
html5小游戏,大话摇骰子,掷骰子,掷色子
Android 仿微信摇骰子游戏 仿微信摇色子动画效果
小型模拟器,用于检查典型骰子概率的棋盘游戏/ wargaming(例如在Vassal pbem游戏期间)。 为GMT Games的棋盘游戏“ Here I Stand”预先配置的标签,但也可轻松用于其他棋盘游戏。 该程序不使用数学方法,而是运行...
老友小聚、亲子游戏、ktv唱歌玩耍都可以用的小游戏,喝酒神器摇骰子小程序源码
java 摇骰子 比大小
摇骰子 点数和
主要是实现摇骰子的小程序
概率计算器源代码,可计算你需要的答案,用彩票OK
摇色子效果.rar
gif骰子,动画打包,下载筛子,gif,png1到6,高清下载,免费下载 gif骰子,动画打包,下载筛子,gif,png1到6,高清下载,免费下载
基于Java实现的摇骰子程序源码.zipJava课程作业-基于Java实现的摇骰子程序源码.zipJava课程作业-基于Java实现的摇骰子程序源码.zipJava课程作业-基于Java实现的摇骰子程序源码.zipJava课程作业-基于Java实现的摇骰子...
摇骰子跳一跳.zip
微信小程序-骰子游戏dice-game-master.zip
Private Sub Command1_Click() Command2.Enabled = False Command3.Enabled = True Command4.Enabled = False End Sub Private Sub Command2_Click() Command1.Enabled = False Command3.Enabled = True Command4....
微信小程序项目实例——摇色子 摇色子是一款简易的游戏类小程序 用户可以投出1-9个色子
马丁用一个特定的骰子不断地将新记录从他的投掷中添加到通道中。 每条记录都是一个线向量,其中包含以数百个为单位的六个可能数字的单个下降次数。 在脚本中,我对这些数据进行了概率分析。 使用中心极限定理,我...
喝酒摇骰子小程序,亲测可用