package com.jp.random; public class Random {//蜀门武器/坐骑锻造 public static void main(String[] args) { double countMoney=0;//锻造花费 double shibaiLv=0;//失败率 int tmp=10000; for (int i = 0; i < tmp; i++) {//统计若干次 int grade = 1; double jilv = 1; double eJilv = 0; double money = 0; double cishu = 0; double shibaiCishu = 0; while (true) { cishu++; if (grade == 1) {// 如果锻造+1 grade++; money += 1; } else if (grade == 2) {// 如果锻造+2 grade++; money += 2; } else if (grade == 3) {// 如果锻造+3 grade++; money += 3; jilv = 0.6;// 成功率变为60% } else if (grade == 4) {// 如果锻造+4 money += 10;// 失败与否钱还是要加地 if (Math.random() <= jilv + eJilv) { grade++; jilv = 0.4;// 成功率变为40% } else { shibaiCishu++; grade--; eJilv = shibaiCishu * 0.2; jilv = 1;// +4失败变为+2成功率变为100% } } else if (grade == 5) { money += 20; if (Math.random() <= jilv + eJilv) { grade++; jilv = 0.25;// 成功率变为25% } else { shibaiCishu++; grade--; eJilv = shibaiCishu * 0.2; jilv = 0.6;// +5失败变为+3成功率变为60% } } else if (grade == 6) { money += 40; if (Math.random() <= jilv + eJilv) { grade++; jilv = 0.2;// 成功率变为20% } else { shibaiCishu++; grade--; eJilv = shibaiCishu * 0.2; jilv = 0.4;// +6失败变为+4成功率变为40% } } else if (grade == 7) {// 如果要锻造+7 money += 60; if (Math.random() <= jilv + eJilv) { grade++; jilv = 0.1;// 成功率变为10% eJilv = 0; break;// 既已+7无须再加了,退出循环; } else { shibaiCishu++; grade--; eJilv = shibaiCishu * 0.2; jilv = 0.25;// +7失败变为+5成功率变为25% } } } countMoney+=money; shibaiLv+=shibaiCishu/cishu; } System.out.println("锻造所花费用(不包括购买石头的费用)为:"+countMoney/tmp); System.out.println("失败率:"+shibaiLv/tmp*100+"%"); } }
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
QQ咨询|关于我们|Archiver|手机版|小黑屋|( 辽ICP备15012455号-4 ) Powered by 期权论坛 X3.2 © 2001-2016 期权工具网&期权论坛 Inc.
下载期权论坛手机APP