主要涉及JAVA面向对象编程

【注:这里只完善了SSR部分】

最近学习Java正好学到了面向对象部分,想着觉得可以用来做个伪随机抽卡模拟功能,于是就做了,本人是萌新,代码结构设计很拉跨,所以花费了近两个小时时间也只完成了部分功能的实现和测试,在这里分享一下。

代码部分1

package cn.itsp.drawcard;/*
已实现功能:保底冲突,保底跟新,抽卡统计
缺省功能:
*/import java.util.Random;public class OriginalGodDrawCards {public int drawCardDegree = 1;
public int degree = 1;//稀有度
String rarity;//武器
String weapon;//武器类型
String weaponTypes;//角色
String role;//元素类别
String roleElementType;//性别
String roleGender;//所属地区
String roleArea;//卡池
String cardSea;public int drawCard() {String[] ssrCardSea = {"胡桃", "魈", "甘雨", "阿贝多", "刻晴", "钟离", "七七", "达达利亚", "迪卢克","可莉", "温迪", "莫娜", "琴", "风鹰剑", "斫峰之刃", "天空之刃", "磐岩结绿", "天空之傲", "无工之剑","狼的末路", "天空之翼", "终末嗟叹之诗", "天空之卷", "尘世之锁", "四风原典", "护摩之杖", "和璞鸢", "天空之脊", "贯虹之槊"};Random random = new Random();System.out.println("开始十连抽卡!卡池单次ssr概率为0.6%,卡池90发保底。");//cnt用于计数for (int i = 1, cnt = 0; i < 11; i++) {//用于%0.6概率随机int ssrRandom = random.nextInt(27888);//统计抽卡次数,保底或者出货后更新drawCardDegree++;System.out.println("距离保底还差" + (92 - drawCardDegree) + "次抽卡");if (ssrRandom % 167 == 0 || drawCardDegree % 90 == 0) {//用于ssr池随机int cardSeaRandom = random.nextInt(ssrCardSea.length);//统计该次十连抽中ssr的次数cnt++;//判断抽中的ssr类型if (drawCardDegree % 90 == 0 && cardSeaRandom < 13) {System.out.println("恭喜你在该次十连中的第" + i + "发获取到五星保底角色 [ " + ssrCardSea[cardSeaRandom] + " ]");drawCardDegree = 1;degree++;} else if (drawCardDegree % 90 == 0 && cardSeaRandom >= 13) {System.out.println("恭喜你在该次十连中的第" + i + "发获取到五星保底武器 [ " + ssrCardSea[cardSeaRandom] + " ]");drawCardDegree = 1;degree++;} else if (ssrRandom % 167 == 0 && cardSeaRandom < 13) {System.out.println("恭喜你在该次十连中的第" + i + "发抽到了五星角色 [ " + ssrCardSea[cardSeaRandom] + " ]");drawCardDegree = 1;degree++;} else {System.out.println("恭喜你在该次十连中的第" + i + "发抽到了五星武器 [ " + ssrCardSea[cardSeaRandom] + " ]");drawCardDegree = 1;degree++;}} else if (i == 10 && cnt == 0 && drawCardDegree % 90 != 0) {System.out.println("抱歉!您在该次十连中未抽中ssr");} else if (i == 10 && cnt != 0) {System.out.println("您在该次十连中获取的ssr总数为: " + cnt);}}//返回抽中的ssr数量累计return degree;
}
}

代码部分2

package cn.itsp.drawcard;import cn.itsp.drawcard.OriginalGodDrawCards;import java.util.Scanner;public class TestDrawCards {
public static void main(String[] args) {OriginalGodDrawCards d1 = new OriginalGodDrawCards();Scanner scanner = new Scanner(System.in);System.out.println("请输入您需要进行的十连抽卡次数[int类型]: ");int times = scanner.nextInt();for (int i = 1; i <= times; i++) {System.out.println("这是您的第" + i + "次十连抽卡: ");int degree = d1.drawCard();//换行System.out.println();if (i == times) {System.out.println("抽卡结束!本次抽卡累计获取ssr" + degree + "只");}}
}
}

运行效果展示


面向对象实现原神抽卡模拟功能相关推荐

  1. java 做的原神抽卡模拟小程序

    java做的原神抽卡模拟小程序 难度不大,适合学完面向对象后做着玩. import java.util.ArrayList; import java.util.Calendar; import jav ...

  2. 原神抽卡模拟简单代码(概率还原)

    代码如下: import java.util.Scanner; import java.util.Random;public class Main {public static void main(S ...

  3. python原神抽卡模拟

    #怎么说,我感觉我这里有很多错误,不过最后还是有点达成了目的,请各位大佬帮我改善一下,最后就是我的代码大部分参考了另一位大佬的博客,我这只是做一个纪念和笔记,不要太在意. ps.该代码只能抽90发以内 ...

  4. 原神抽卡模拟器(java简易版)

    原神抽卡机制 单抽概率: 5★物品:0.6% 4★物品:5.1% 保底机制: 5★保底:如果连续89发没出5星,第90抽必定5星,然后重新计数 4★保底:如果连续9发没出4星,第10抽触发4星保底:0 ...

  5. 我用java分析了原神抽卡记录

    起因 我们都知道原神抽卡是有保底机制的,但是游戏里面只能按页查看抽卡记录,并没有各种数据统计,为了能够优化大家的游戏体验,本文就带大家用java爬虫来获取抽卡信息. 抽卡信息api解析 由于我用的是安 ...

  6. java原神抽卡器(可查询版本)

    原神官方给的概率: 5星基础:0.6%,5星保底:1.6%,90抽5星保底:         4星基础:5.1%,4星保底:13%,10抽4星保底. 一开始我也想着直接用官方给的概率设置直接写入,但发 ...

  7. 原神抽卡模拟器,unity制作(由于没有获得作者的视频授权,不会发布软件,只展示算法与开发等,效果图在个人主页类有资源下载,不会上传视频)

    五星效果图 以上为展示,没做优化 using System.Collections; using System.Collections.Generic; using UnityEngine; usin ...

  8. Python实现原神抽卡,生成桌面程序,tkinter

    这里写自定义目录标题 话不多说,直接贴所有代码 运行效果 需要用到的两张图片 话不多说,直接贴所有代码 import random import sys import tkinter as tk # ...

  9. 原神抽卡(题目出自:江西软件职业技术大学)

    描述: 在终于熬过了高中之后,你进入了大学,你听信了大人们的谎言,上了大学就轻松了,实际上你发现大学比高中更卷了.但是!你已经佛系了起来,凭借着高中学过oi,在大学开始了摸鱼,而一直打LOL的你,最近 ...

最新文章

  1. python 中使用celery
  2. APL平台对C++开发者的价值和作用
  3. 购买原装三星内存注意事项
  4. 深度解读最流行的优化算法:梯度下降
  5. @所有人 Flink Forward Asia 2020 议题征集倒计时!
  6. 限流的简单使用及学习
  7. Maple公式推导教程
  8. 再谈“学微积,用手机”
  9. anaconda怎么打开python文件_anaconda 运行.py文件
  10. Centos7查看硬盘容量
  11. centos 如何想windows样快速打五笔
  12. # USACO@2020铜级赛第二题
  13. 情人节买花c语言,情人节买花,拼的是品味!
  14. 保持专注的10个小技巧
  15. 新库上线 | CnOpenDataA股上市公司董监高信息数据
  16. 效率工具 : uTools
  17. 设计html网页时需要遵循的语言规范,CSS设计网页时的一些常用规范
  18. Navicat Premium 15 无法导出excel格式的文件
  19. 【漏洞学习——越权】e家洁某处存在越权漏洞
  20. 芯源立创EDA训练营——无刷电机驱动

热门文章

  1. 将传统的照片在Autodesk® 123D™ Catch中转换成3D模型
  2. (cons '(肆 . 数据类型) 《为自己写本-Guile-书》)
  3. 【Java-zip文件解压】
  4. Vue QuickStart
  5. 互联网女皇玛丽·米克尔发布互联网新趋势报告
  6. win10自带输入法的标点符号切换
  7. 神泣虚拟机 上游戏提示speedhack detected 是什么意?
  8. 开学哪些耳机值得学生党入手?耐用的蓝牙耳机推荐
  9. 第七史诗手游怎么用电脑玩 第七史诗电脑版玩法教程
  10. mount_smbfs无法挂载samba服务器,报错提示“operation time out”