记录非洲生活学习

卡牌数据获取(用了jxl)

 public void setBlueCard() {//创建workbookWorkbook workbook= null;try {workbook = Workbook.getWorkbook(new File("G:/JavaStudy2/cardData/blueCard.xls"));} catch (IOException e) {e.printStackTrace();} catch (BiffException e) {e.printStackTrace();}//获取第一个工作表sheetSheet sheet=workbook.getSheet(0);//获取数据for (int i=0;i<sheet.getRows();i++){for (int j=0;j<sheet.getColumns();j++){Cell cell=sheet.getCell(j,i);blueCard.add(cell.getContents()+"");}}workbook.close();}public List<String> getBlueCard() {return blueCard;}

保底设置和抽卡结果判断(太粗糙了

public class Raffle {private int count;private int countPurple;private int countGold;private double purplePercent;private double goldPercent;Raffle(){count = 1;countGold = 1;countPurple = 1;purplePercent = 0.1;goldPercent = 0.06;}private double getRandom(){return Math.random();}//抽卡结果判断private String getAnswer(){double chance = getRandom();boolean isGold = getGold(chance);boolean isPurple = getPurple(chance);if(isGold){countGold = 1;goldPercent = 0.06;count++;countPurple = countPurple < 10?(countPurple+1):10;return "gold";}else if(isPurple){countGold++;count++;countPurple = 1;return "purple";}else{countPurple++;countGold++;count++;return "blue";}}private boolean getGold(double chance){//保底机制if(countGold >= 76) goldPercent += 0.08;return chance <= goldPercent;}private boolean getPurple(double chance){//保底机制if(countPurple == 10)return true;return chance <= purplePercent;}

抽卡流程

 private List<String> blue;private List<String> purple;private List<String> gold;private int blueLength;private int purpleLength;private int goldLength;PickCard(){blue = new Card().getBlueCard();blueLength = blue.size();purple = new Card().getPurpleCard();purpleLength = purple.size();gold = new Card().getGoldCard();goldLength = gold.size();}private double getRandom(){return Math.random();}public String getCard(String ans){if(ans.equals("gold")){int a = (int)(getRandom()*goldLength);return gold.get(a);}else if(ans.equals("purple")){int a = (int)(getRandom()*purpleLength);return purple.get(a);}else{int a = (int)(getRandom()*blueLength);return blue.get(a);}}

最后调用

public class TEST {Raffle raffle = new Raffle();PickCard pick = new PickCard();private void tenTimesPick(){int count = 10;while (count-- > 0){String color = raffle.pickCard();System.out.println("[" + color + "]" + pick.getCard(color));}}private void singlePick(){String color = raffle.pickCard();System.out.println("[" + color + "]" + pick.getCard(color));}}

效果(咋还是非酋艹

加油优化

简单的抽卡模拟器1.0相关推荐

  1. 简单的抽卡模拟器2.0

    登陆界面 package LoginView;import javax.swing.*; import java.awt.*; import java.awt.event.MouseAdapter; ...

  2. 概率性抽卡模拟器v2.0(GUI实现)

    图好玩也是为了检测自己最近所学内容,将以前的程序进行GUI实现 概率模拟部分 package XIangmu;import java.util.Random;public class He_Xin { ...

  3. 火影抽卡模拟器1.0.5[极速版]

    极速版!!! 支持抽卡+统计及返利保底 可修改抽卡次数和计算时间 代码如下: #include<bits/stdc++.h> #include<windows.h> #incl ...

  4. 火影抽卡模拟器1.0.2

    增加高招返利功能 注:初中生制作,如有不好请见谅 #include<bits/stdc++.h> #include<windows.h> #include<stdlib. ...

  5. 火影抽卡模拟器1.0.1

    修复了以下BUG: 1.抽卡概率过高 2.抽卡意外中断 增添以下功能: 1.增添文字颜色 2.增添统计系统 话不多说,上代码! #include<bits/stdc++.h> #inclu ...

  6. 火影抽卡模拟器1.0.3

    1.修改概率 代码如下 #include<bits/stdc++.h> #include<windows.h> #include<stdlib.h> using n ...

  7. 简单的抽卡模拟器1.2

    完善了数据库的使用 数据库的方法类 import java.io.FileReader; import java.io.IOException; import java.sql.*; import j ...

  8. 简单的抽卡模拟器1.1

    连接了数据库 import java.sql.Connection; import java.sql.DriverManager;public class dataBase {private Stri ...

  9. java金铲铲抽卡模拟器

    最近迷上了金铲铲,无心上班,满脑子都是抽卡,阵容,,走路都是dddddd,为了过我的d瘾,自己写了一个抽卡模拟器,功能非常简单,只能d,仅供娱乐. 1. 首先随便创建一个springboot项目,甚至 ...

最新文章

  1. 期末考试中微积分的证明题的分析:Taylor级数展开
  2. Spring Session - 使用Spring Session从零到一构建分布式session
  3. matlab 三维矩阵向量化,Matlab:向量化三维矩阵的工艺
  4. Webpack构建多页应用心得体会
  5. SAP UI5 Focus related
  6. [周赛][Leetcode][第5457题][JAVA][动态规划][和为奇数的子数组数目]
  7. 设计模式常见面试题汇总
  8. 该怎么清缓存呢?fflush clear ignore
  9. macbook配置java环境变量_配置java环境变量
  10. bootstrap-pagination demo
  11. Vue之webpack之Babel
  12. php+mysql实例注入,PHP+MYSQL注入实例与防范措施总结
  13. Find Backpacker Jobs in Australia
  14. 傻妞sillyGirl教程
  15. urule开源版自定义动作库注意事项
  16. MOOC_Python语言程序设计_习题_《沉默的羔羊》文本分析
  17. 经济型EtherCAT运动控制器(六):数据储存
  18. 沉稳:天塌地陷,岿然不动;日月星辰,唯吾独尊
  19. python实现自动答题详解含代码
  20. web开发在线培训,前端英文自我介绍

热门文章

  1. Hypermesh2019使用教程(二 底部状态栏提示:A shape muest be selected)
  2. Umbral:新型分散式密钥管理系统的代理重加密方案
  3. RHCE培训学习摘要
  4. 可以再mac上使用的svn客户端-----试验成功可用
  5. React Umi SSR SSG 使用TypeScript的最佳实践
  6. 【云栖大会】阿里巴巴五大平台联合发布创业扶持计划 大生态力量助力创新创业
  7. [Unity][射线检测]检测两个物体之间是否有其他物体阻挡
  8. 日本咖啡馆推出AR体验,在三次元邂逅初音未来
  9. Notifications- 简单应用
  10. 看过《华为在印度竞标全球最大GSM设备订单受阻》后....