游戏王抽卡模拟器(概率计算器)
给大家介绍一款功能强大但比较难用的抽卡模拟器,或者叫概率计算器,dl, md, 实卡都适用。
使用方法
1. 创建一个yaml文件,里面格式如下
deck:配置牌组size: 牌组卡牌总数cards:定义卡片卡牌名: 每张卡名字任意count: 重复次数(默认一张),-1代表根据牌组卡牌总数自动计算(只能有一个-1),attribute: 一个列表,定义赋予该卡的属性(标签)属性内容自定义,例如怪兽卡、魔法卡,本家卡、泛用卡、手坑等等,均用字符串表示注意卡牌总数不要超过之前定义的sizeclasses: 定义卡片的类型,每个class是一个类型,格式为类型名: 条件1 条件2 条件3 ...每个条件之间是逻辑与(&&)关系每个条件的格式必须是以下一种:1. 牌组(deck)中定义的卡牌名2. 定义在当前class之前的类型名 (例如class1已经定义,当前在定义class2,则定义class2时可以引用class1)3. a:属性 -> 要求该类型包含某种特定的属性4. A:属性(模糊匹配) -> 要求该类型包含某种特定的属性,后面的表达式可以带*(匹配任意个任意字符)或?(匹配一个任意字符)5. !条件 -> 逻辑取反(要求后面跟的条件为假)
simulate: 模拟器配置count:模拟次数start_card: 初始手牌为多少张卡(默认5)turns: 模拟多少回合 (默认5)tests:列举想要关注的主题(例:展开、阻抗),每个主题之间互不相干主题名: 列举当前主题希望得到的手牌组合,每个组合之间是逻辑与(||)关系组合名: 定义一种希望满足的条件,列举需要的手牌- 手牌类型1 (引用deck定义的卡牌名或classes定义的类型名)... (注:当一张卡牌匹配了一种手牌类型之后,这张卡牌不会被用于匹配其他手牌类型,列举在前的手牌类型具有更高的优先级)
注:文档里请只写半角字符(不要写中文不然可能出错)
例
deck:size: 40cards:w-red:count: 3attribute: ['M', 'low', 'witches', 'start'] w-yellow:count: 2attribute: ['M', 'low', 'witches', 'start']w-grey:count: 2attribute: ['M', 'low', 'witches', 'start']w-green:attribute: ['M', 'low', 'witches', 'start']w-blue:count: 2attribute: ['M', 'witches']w-black:count: 2attribute: ['M', 'witches']w-white:attribute: ['M', 'witches']w-creation:count: 3attribute: ['H1', 'witches', 'start']w-sabo:count: 2attribute: ['H1', 'witches']w-colab:attribute: ['H1', 'witches']w-demo:count: 2attribute: ['H2', 'witches']w-wind:attribute: ['H2', 'witches']w-street:attribute: ['H0', 'witches']w-scroll:attribute: ['H0', 'witches']sato:count: 4attribute: ['Hf']dhero-fusion:count: 2attribute: ['H1', 'dhero']w-patoro:attribute: ['W', 'witches']urara:count: 2attribute: ['M', 'handtrap']huai-shou:count: 1attribute: ['M', 'huai-shou']others:count: -1classes:Witches: A:w*ch?sWitches-Monster: Witches a:MWitches-Low-Monster: Witches a:M a:lowWitches-High-Monster: Witches-Monster !a:lowWitches-Magic: Witches A:H?Witches-Search: w-creationWitches-Start: a:startField: satoDHERO-Fusion: dhero-fusionHand-Trap: a:handtrap
simulate:count: 50000start_card: 5turns: 6tests:Expand:witches1:- Witches-Start- Witches-Magicwitches2:- Witches-High-Monster- w-demo- Witches-Magicdhero:- DHERO-FusionField:field:- FieldResist:hand-trap:- Hand-Traphuai-shou:- huai-shou
在deck
中,我定义了一个40卡魔女术牌组,从上至下依次是魔女术本家的7种怪,7种本家魔法卡,魔法族之村(sato),融合命运,灰流,坏兽,其他卡
我把所有怪兽都赋予M
标签,所有魔法卡按照类型分别赋予H1
H2
H0
Hf
(通常,速攻,永继,场地)
魔女术本家卡片赋予witches
标签
有初动能力的本家卡赋予start
标签,魔女术下级怪赋予low
标签
在classes
之中,我定义了一些类型,这里举两个例子:
Witches: A:w*ch?s
w*ch?s
模糊匹配任意以w开头,之后跟任意字符串,然后跟ch,然后跟一个任意字符,结尾是s的属性
在这个牌组中,能被匹配到的属性只有witches
,所以这条这里也可以写a:witches
,只不过我为了演示模糊匹配特意这么写
Witches-High-Monster: Witches-Monster !a:low
这个类型定义了魔女术上级怪,它需要同时满足两个条件:
- 是魔女术怪兽(
Witches-Monster
) - 不是下级怪(
!a:low
)
这里的Witches-Monster必须定义在Witches-High-Monster之前才能被引用
然后,在tests
中,我有三个关心的主题,分别是展开,场地卡,阻抗
其中展开又分为本家的两种展开和凤凰人展开,场地卡只有魔法族之村,阻抗又分成手坑和坏兽(暂且归为阻抗)
程序的输出中,对于每一个主题,每一个回合,都会显示每个主题成功的概率,以及每个类型单独的概率
(输出样例在下面)
2. 运行程序
假设在当前目录下有
example.yml
ygo-calc.exe
则可以通过如下任意方式运行程序:
- 双击ygo-calc.exe,在弹出的窗口中输入example.exe并按回车
- 把example.yml的图标拖拽至ygo-calc.exe上直接运行
- 打开控制台(cmd或powershell),cd至当前目录,输入
./ygo-calc.exe example.yml
程序输出样例
$ ./ygo-calc.exe example.yml
...Simulate 50000 times...
Time used: 2329ms
Topic: Expand
Turn 1 total: 74.25% witches1: 60.59% witches2: 6.49% dhero: 23.54%
Turn 2 total: 83.54% witches1: 71.60% witches2: 10.81% dhero: 27.88%
Turn 3 total: 90.04% witches1: 80.17% witches2: 15.69% dhero: 32.15%
Turn 4 total: 93.95% witches1: 86.49% witches2: 20.84% dhero: 36.16%
Turn 5 total: 96.51% witches1: 91.03% witches2: 26.15% dhero: 40.15%
Turn 6 total: 98.03% witches1: 94.10% witches2: 31.48% dhero: 44.03%Topic: Field
Turn 1 total: 42.98% field: 42.98%
Turn 2 total: 49.54% field: 49.54%
Turn 3 total: 55.28% field: 55.28%
Turn 4 total: 60.84% field: 60.84%
Turn 5 total: 65.68% field: 65.68%
Turn 6 total: 70.06% field: 70.06%Topic: Resist
Turn 1 total: 33.83% hand-trap: 23.63% huai-shou: 12.56%
Turn 2 total: 39.47% hand-trap: 27.99% huai-shou: 15.06%
Turn 3 total: 44.80% hand-trap: 32.22% huai-shou: 17.52%
Turn 4 total: 49.58% hand-trap: 36.13% huai-shou: 19.94%
Turn 5 total: 54.30% hand-trap: 40.11% huai-shou: 22.43%
Turn 6 total: 58.76% hand-trap: 44.03% huai-shou: 24.94%
源代码以及下载地址
github
下载地址见release
如果想参与开发欢迎提交PR
游戏王抽卡模拟器(概率计算器)相关推荐
- 概率性抽卡模拟器v2.0(GUI实现)
图好玩也是为了检测自己最近所学内容,将以前的程序进行GUI实现 概率模拟部分 package XIangmu;import java.util.Random;public class He_Xin { ...
- 明日方舟抽卡模拟器wiki_明日方舟抽卡模拟器(可更改数据)
明日方舟抽卡模拟器pc电脑版是一款由b站up主自己制作的抽卡模拟器,该软件的招募概率和游戏中的概率相差无几,想要试试手气的朋友可以在模拟器上先抽几发,另外模拟器还可以更改概率,欢迎大家下载体验. 软件 ...
- JAVA编译一个原神抽卡模拟器
import java.util.Random;import java.util.Scanner;public class Chouka {final static String[] sanxingw ...
- web练手--抽卡模拟器(1)
抽卡手游玩多了,心血来潮写个抽卡模拟器,卡等级分sss,ss,s,a,b,c六种,sss概率为0.01%,ss概率为0.1%,s概率为1%,a概率为15%,b概率为30%,剩余都为c,为了避免长期呆在 ...
- 明日方舟抽卡模拟器wiki_明日方舟抽卡模拟器wiki
明日方舟抽卡模拟器wikiapp是一款明日方舟抽卡模拟器,明日方舟抽卡模拟器wikiapp完全还原了游戏中的抽卡场景,带给玩家们一个真实的体验感,有十连抽和单抽大家可以根据自己的需求选择,没有任何的消 ...
- 火影抽卡模拟器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 ...
- java金铲铲抽卡模拟器
最近迷上了金铲铲,无心上班,满脑子都是抽卡,阵容,,走路都是dddddd,为了过我的d瘾,自己写了一个抽卡模拟器,功能非常简单,只能d,仅供娱乐. 1. 首先随便创建一个springboot项目,甚至 ...
- 恋与抽卡模拟器网页_《公主连结》抽卡模拟器网站是什么 抽卡模拟器地址介绍...
导 读 公主连结抽卡模拟器怎么进入?游戏内有一个抽奖的功能能够来抽取不同星级的角色,而有些玩家经济能力并不富裕的玩家就会收到许多方面的印象,而在抽卡模拟器内就可以测试一下自己的欧非程度,这样就有足够的 ...
- 明日方舟抽卡模拟器wiki_明日方舟抽卡模拟器
明日方舟抽卡模拟器是一款非常好玩的抽卡模拟器.有的玩家觉得游戏中的抽卡资源真的太少了,这次就让玩家一次性玩个够,让你尽情体会明日方舟中的最刺激的抽卡玩的内容.明日方舟抽卡模拟器快来下载吧! 提取码:z ...
最新文章
- java api 调用 kettle 执行etl任务
- java使用原始套接字技术进行数据包截获_Linux零拷贝技术,看完这篇文章就懂了...
- 产品生成器---父子产品模型
- 9个必知的Python操作文件/文件夹方法
- 一个资深老司机告诉你选车的秘密 (完全版)
- Java 程序员中位数薪资达 1.45 万,但面试屡屡被拒?
- 了解java虚拟机mdash;非堆相关参数设置(4)
- [转载] Python——函数练习(包括简单递归)
- GO语言学习之路20
- hfss和python接口_python 与HFSS联合仿真的教程讲解
- 计算机网络重置点命令,重置网络命令
- 如何处理 mka 格式的音频文件
- GB2312汉字拼音对照表
- paint.net ps证件照背景色
- excel数据修约(四舍六入五成双)
- 02 面向对象设计的七大原则
- vue封装qq表情包和符号表情的发送
- 从满腹经纶到入行小白:理论学习与实际应用的差距
- vuex 的实现原理
- 币圈指数哪家强?且看分析OK VS 火币