简单的抽卡模拟器1.0
记录非洲生活学习
卡牌数据获取(用了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相关推荐
- 简单的抽卡模拟器2.0
登陆界面 package LoginView;import javax.swing.*; import java.awt.*; import java.awt.event.MouseAdapter; ...
- 概率性抽卡模拟器v2.0(GUI实现)
图好玩也是为了检测自己最近所学内容,将以前的程序进行GUI实现 概率模拟部分 package XIangmu;import java.util.Random;public class He_Xin { ...
- 火影抽卡模拟器1.0.5[极速版]
极速版!!! 支持抽卡+统计及返利保底 可修改抽卡次数和计算时间 代码如下: #include<bits/stdc++.h> #include<windows.h> #incl ...
- 火影抽卡模拟器1.0.2
增加高招返利功能 注:初中生制作,如有不好请见谅 #include<bits/stdc++.h> #include<windows.h> #include<stdlib. ...
- 火影抽卡模拟器1.0.1
修复了以下BUG: 1.抽卡概率过高 2.抽卡意外中断 增添以下功能: 1.增添文字颜色 2.增添统计系统 话不多说,上代码! #include<bits/stdc++.h> #inclu ...
- 火影抽卡模拟器1.0.3
1.修改概率 代码如下 #include<bits/stdc++.h> #include<windows.h> #include<stdlib.h> using n ...
- 简单的抽卡模拟器1.2
完善了数据库的使用 数据库的方法类 import java.io.FileReader; import java.io.IOException; import java.sql.*; import j ...
- 简单的抽卡模拟器1.1
连接了数据库 import java.sql.Connection; import java.sql.DriverManager;public class dataBase {private Stri ...
- java金铲铲抽卡模拟器
最近迷上了金铲铲,无心上班,满脑子都是抽卡,阵容,,走路都是dddddd,为了过我的d瘾,自己写了一个抽卡模拟器,功能非常简单,只能d,仅供娱乐. 1. 首先随便创建一个springboot项目,甚至 ...
最新文章
- 期末考试中微积分的证明题的分析:Taylor级数展开
- Spring Session - 使用Spring Session从零到一构建分布式session
- matlab 三维矩阵向量化,Matlab:向量化三维矩阵的工艺
- Webpack构建多页应用心得体会
- SAP UI5 Focus related
- [周赛][Leetcode][第5457题][JAVA][动态规划][和为奇数的子数组数目]
- 设计模式常见面试题汇总
- 该怎么清缓存呢?fflush clear ignore
- macbook配置java环境变量_配置java环境变量
- bootstrap-pagination demo
- Vue之webpack之Babel
- php+mysql实例注入,PHP+MYSQL注入实例与防范措施总结
- Find Backpacker Jobs in Australia
- 傻妞sillyGirl教程
- urule开源版自定义动作库注意事项
- MOOC_Python语言程序设计_习题_《沉默的羔羊》文本分析
- 经济型EtherCAT运动控制器(六):数据储存
- 沉稳:天塌地陷,岿然不动;日月星辰,唯吾独尊
- python实现自动答题详解含代码
- web开发在线培训,前端英文自我介绍
热门文章
- Hypermesh2019使用教程(二 底部状态栏提示:A shape muest be selected)
- Umbral:新型分散式密钥管理系统的代理重加密方案
- RHCE培训学习摘要
- 可以再mac上使用的svn客户端-----试验成功可用
- React Umi SSR SSG 使用TypeScript的最佳实践
- 【云栖大会】阿里巴巴五大平台联合发布创业扶持计划 大生态力量助力创新创业
- [Unity][射线检测]检测两个物体之间是否有其他物体阻挡
- 日本咖啡馆推出AR体验,在三次元邂逅初音未来
- Notifications- 简单应用
- 看过《华为在印度竞标全球最大GSM设备订单受阻》后....