给大家介绍一款功能强大但比较难用的抽卡模拟器,或者叫概率计算器,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

这个类型定义了魔女术上级怪,它需要同时满足两个条件:

  1. 是魔女术怪兽(Witches-Monster
  2. 不是下级怪(!a:low

这里的Witches-Monster必须定义在Witches-High-Monster之前才能被引用

然后,在tests中,我有三个关心的主题,分别是展开,场地卡,阻抗

其中展开又分为本家的两种展开和凤凰人展开,场地卡只有魔法族之村,阻抗又分成手坑和坏兽(暂且归为阻抗)

程序的输出中,对于每一个主题,每一个回合,都会显示每个主题成功的概率,以及每个类型单独的概率
(输出样例在下面)

2. 运行程序

假设在当前目录下有

example.yml
ygo-calc.exe

则可以通过如下任意方式运行程序:

  1. 双击ygo-calc.exe,在弹出的窗口中输入example.exe并按回车
  2. 把example.yml的图标拖拽至ygo-calc.exe上直接运行
  3. 打开控制台(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

游戏王抽卡模拟器(概率计算器)相关推荐

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

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

  2. 明日方舟抽卡模拟器wiki_明日方舟抽卡模拟器(可更改数据)

    明日方舟抽卡模拟器pc电脑版是一款由b站up主自己制作的抽卡模拟器,该软件的招募概率和游戏中的概率相差无几,想要试试手气的朋友可以在模拟器上先抽几发,另外模拟器还可以更改概率,欢迎大家下载体验. 软件 ...

  3. JAVA编译一个原神抽卡模拟器

    import java.util.Random;import java.util.Scanner;public class Chouka {final static String[] sanxingw ...

  4. web练手--抽卡模拟器(1)

    抽卡手游玩多了,心血来潮写个抽卡模拟器,卡等级分sss,ss,s,a,b,c六种,sss概率为0.01%,ss概率为0.1%,s概率为1%,a概率为15%,b概率为30%,剩余都为c,为了避免长期呆在 ...

  5. 明日方舟抽卡模拟器wiki_明日方舟抽卡模拟器wiki

    明日方舟抽卡模拟器wikiapp是一款明日方舟抽卡模拟器,明日方舟抽卡模拟器wikiapp完全还原了游戏中的抽卡场景,带给玩家们一个真实的体验感,有十连抽和单抽大家可以根据自己的需求选择,没有任何的消 ...

  6. 火影抽卡模拟器1.0.1

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

  7. 火影抽卡模拟器1.0.3

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

  8. java金铲铲抽卡模拟器

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

  9. 恋与抽卡模拟器网页_《公主连结》抽卡模拟器网站是什么 抽卡模拟器地址介绍...

    导 读 公主连结抽卡模拟器怎么进入?游戏内有一个抽奖的功能能够来抽取不同星级的角色,而有些玩家经济能力并不富裕的玩家就会收到许多方面的印象,而在抽卡模拟器内就可以测试一下自己的欧非程度,这样就有足够的 ...

  10. 明日方舟抽卡模拟器wiki_明日方舟抽卡模拟器

    明日方舟抽卡模拟器是一款非常好玩的抽卡模拟器.有的玩家觉得游戏中的抽卡资源真的太少了,这次就让玩家一次性玩个够,让你尽情体会明日方舟中的最刺激的抽卡玩的内容.明日方舟抽卡模拟器快来下载吧! 提取码:z ...

最新文章

  1. java api 调用 kettle 执行etl任务
  2. java使用原始套接字技术进行数据包截获_Linux零拷贝技术,看完这篇文章就懂了...
  3. 产品生成器---父子产品模型
  4. 9个必知的Python操作文件/文件夹方法
  5. 一个资深老司机告诉你选车的秘密 (完全版)
  6. Java 程序员中位数薪资达 1.45 万,但面试屡屡被拒?
  7. 了解java虚拟机mdash;非堆相关参数设置(4)
  8. [转载] Python——函数练习(包括简单递归)
  9. GO语言学习之路20
  10. hfss和python接口_python 与HFSS联合仿真的教程讲解
  11. 计算机网络重置点命令,重置网络命令
  12. 如何处理 mka 格式的音频文件
  13. GB2312汉字拼音对照表
  14. paint.net ps证件照背景色
  15. excel数据修约(四舍六入五成双)
  16. 02 面向对象设计的七大原则
  17. vue封装qq表情包和符号表情的发送
  18. 从满腹经纶到入行小白:理论学习与实际应用的差距
  19. vuex 的实现原理
  20. 币圈指数哪家强?且看分析OK VS 火币

热门文章

  1. ZK在ZUL页面使用HTML
  2. JavaScript高级程序设计(第2版)pdf
  3. VC9、VC11、VC14、VC15库 最新下载链接
  4. 使用Echarts绘制省份地图源码
  5. FlightGear命令行参数
  6. 全球编程厉害的14位大佬
  7. 暴风影音2009 去广告的方法
  8. NeatUpload的安装使用,可传大文件,显示进度条
  9. CSC公派|小红本及小黄本的办理
  10. java cms文章管理_孔浩java cms完整视频教程_爱分享666