无名草🎄 无名草happy
呵呵
关注数: 35 粉丝数: 522 发帖数: 9,205 关注贴吧数: 143
都说我算得有问题,我现在把源码文件放上来 看看是狗卡概率有问题,还是我算得有问题 import java.util.*; public class LotteryTest { private static List<Integer> printScores = new ArrayList<>(); private static int ticketInit = 1000000; private static int ticketRemain = ticketInit; private static Map<String,Integer> commonGet = new HashMap<>(); private static Map<String,Integer> wujiangGet = new HashMap<>(); private static int recentScore = 0; private static int costYuanBao = 0; static { printScores.add(1000); printScores.add(1200); printScores.add(1300); printScores.add(1600); printScores.add(2000); printScores.add(7800); printScores.add(8500); commonGet.put("史诗将印宝箱",0); commonGet.put("豪华武将包",0); commonGet.put("豪华皮肤包",0); commonGet.put("宝箱",0); wujiangGet.put("蒲元",0); wujiangGet.put("鲍三娘",0); wujiangGet.put("徐荣",0); wujiangGet.put("张琪瑛",0); wujiangGet.put("杨仪",0); wujiangGet.put("吾彦",0); wujiangGet.put("田豫",0); wujiangGet.put("邓芝",0); wujiangGet.put("朱灵",0); } public static void main(String[] args) { while (true) { ticketRemain -= 20; doLotteryTool(); doLotteryScore(); if(recentScore>printScores.get(0)) { printMsg(); printScores.remove(0); } if(printScores.isEmpty()) { break; } } } public static void printMsg() { int costTicket = ticketInit - ticketRemain; System.out.println("获得积分:" + recentScore); System.out.println("花费券" + costTicket + "张,"+ "总价值" + (costTicket*95) + "元宝"); System.out.println("获得物品:" + commonGet.toString()); System.out.println("获得武将:" + wujiangGet.toString()); System.out.println(); } public static void doLotteryTool() { for(int i=0;i<5;i++){ int random = new Random().nextInt(10000); if(random<9) { doLotteryWujiang(); } else if(random < 9+65) { commonGet.put("史诗将印宝箱",commonGet.get("史诗将印宝箱")+1); } else if(random < 9+65+126) { commonGet.put("豪华武将包",commonGet.get("豪华武将包")+1); } else if(random < 9+65+126+320) { commonGet.put("豪华皮肤包",commonGet.get("豪华皮肤包")+1); } else if(random < 9+65+126+320+1240) { ticketRemain+=2; } else if(random < 9+65+126+320+1240+3220) { ticketRemain+=1; } else { commonGet.put("宝箱",commonGet.get("宝箱")+1); } } } public static void doLotteryScore() { ShaShanTao shaShanTao = null; int random = new Random().nextInt(10000); if(random<400) { shaShanTao = new ShaShanTao(5,0,0); } else if(random<400+580) { shaShanTao = new ShaShanTao(4,1,0); } else if(random<400+580+580) { shaShanTao = new ShaShanTao(4,0,1); } else if(random<400+580+580+400) { shaShanTao = new ShaShanTao(3,2,0); } else if(random<400+580+580+400+400) { shaShanTao = new ShaShanTao(3,1,1); } else if(random<400+580+580+400+400+400) { shaShanTao = new ShaShanTao(3,0,2); } else if(random<400+580+580+400+400+400+400) { shaShanTao = new ShaShanTao(2,3,0); } else if(random<400+580+580+400+400+400+400+980) { shaShanTao = new ShaShanTao(2,2,1); } else if(random<400+580+580+400+400+400+400+980+400) { shaShanTao = new ShaShanTao(2,1,2); } else if(random<400+580+580+400+400+400+400+980+400+400) { shaShanTao = new ShaShanTao(2,0,3); } else if(random<400+580+580+400+400+400+400+980+400+400+400) { shaShanTao = new ShaShanTao(1,4,0); } else if(random<400+580+580+400+400+400+400+980+400+400+400+400) { shaShanTao = new ShaShanTao(1,3,1); } else if(random<400+580+580+400+400+400+400+980+400+400+400+400+980) { shaShanTao = new ShaShanTao(1,2,2); } else if(random<400+580+580+400+400+400+400+980+400+400+400+400+980+400) { shaShanTao = new ShaShanTao(1,1,3); } else if(random<400+580+580+400+400+400+400+980+400+400+400+400+980+400+400) { shaShanTao = new ShaShanTao(1,0,4); } else if(random<400+580+580+400+400+400+400+980+400+400+400+400+980+400+400+400) { shaShanTao = new ShaShanTao(0,5,0); } else if(random<400+580+580+400+400+400+400+980+400+400+400+400+980+400+400+400+400) { shaShanTao = new ShaShanTao(0,4,1); } else if(random<400+580+580+400+400+400+400+980+400+400+400+400+980+400+400+400+400+400) { shaShanTao = new ShaShanTao(0,3,2); } else if(random<400+580+580+400+400+400+400+980+400+400+400+400+980+400+400+400+400+400+300) { shaShanTao = new ShaShanTao(0,0,5); } else if(random<400+580+580+400+400+400+400+980+400+400+400+400+980+400+400+400+400+400+300+580) { shaShanTao = new ShaShanTao(0,1,4); } else { shaShanTao = new ShaShanTao(0,2,3); } recentScore += shaShanTao.getScore(); } public static void doLotteryWujiang() { int random = new Random().nextInt(10000); if(random<385) { wujiangGet.put("蒲元",wujiangGet.get("蒲元")+1); } else if(random < 385+769) { wujiangGet.put("鲍三娘",wujiangGet.get("鲍三娘")+1); } else if(random < 385+769+769) { wujiangGet.put("徐荣",wujiangGet.get("徐荣")+1); } else if(random < 385+769+769+769) { wujiangGet.put("张琪瑛",wujiangGet.get("张琪瑛")+1); } else if(random < 385+769+769+769+1154) { wujiangGet.put("杨仪",wujiangGet.get("杨仪")+1); } else if(random < 385+769+769+769+1154+1154) { wujiangGet.put("吾彦",wujiangGet.get("吾彦")+1); } else if(random < 385+769+769+769+1154+1154+1154) { wujiangGet.put("田豫",wujiangGet.get("田豫")+1); } else if(random < 385+769+769+769+1154+1154+1154+1923) { wujiangGet.put("邓芝",wujiangGet.get("邓芝")+1); } else { wujiangGet.put("朱灵",wujiangGet.get("朱灵")+1); } } public static class ShaShanTao { public int sha; public int shan; public int tao; public ShaShanTao(int sha, int shan, int tao) { this.sha = sha; this.shan = shan; this.tao = tao; } public int getScore() { return getExtScore() + sha*3+ shan*2+ tao*1; } public int getExtScore() { if(sha==5) { return 120; } if(shan==5) { return 80; } if(tao==5) { return 60; } if(sha==4) { return 15; } if(shan==4) { return 10; } if(tao==4) { return 5; } if(sha==3) { return 3; } if(shan==3) { return 2; } if(tao==3) { return 1; } return 0; } } }
首页 1 2 3 4 下一页