IceYGO / windbot

A C# bot for ygopro, compatible with the ygosharp server.
MIT License
80 stars 103 forks source link

Add Bot Zefra #166

Closed YSPplayer closed 1 year ago

YSPplayer commented 1 year ago

●投稿日期:2023/6/2

1.人机信息: ●人机卡表:OCG 2021.4 ●人机卡池:上限至OCG 2021.4卡表对应卡包 !神数不神-神数 Name=神数不神 Deck=Zefra Dialog=Zefra.zh-CN 神数卡组。 AI_LV3 SUPPORT_MASTER_RULE_2020

2.代码库增加: 【函数如果不合适入库,我调整单独抽到ai代码里实现】 【英文不大好,函数英文注释多来自百度翻译,如有翻译不妥的地方尸体哥可以修改】 ①:AIUtil库:【再不用操心额外怪兽素材检查和筛选的问题拉~(๑╹ヮ╹๑)】

获取param_pre_materials中满足特殊召唤同调怪兽的所有情况的素材集合 param_pre_materials需要处理的素材集合 level 需要同调的等级 tuner_count 召唤规则的调整数量 n_tuner_coun 召唤规则的非调整数量 tuner_count_above 调整数量是否包含> ? n_tuner_count_above 调整数量是否包含> ? tuner_func 调整怪兽的过滤函数 n_tuner_func 非调整怪兽的过滤函数 返回值:所有满足条件情况的非重复素材集合 ●List<List> GetSynchroMaterials(IList param_pre_materials, int level, int tuner_count, int n_tuner_count, bool tuner_count_above = false, bool n_tuner_count_above = true, Func<ClientCard, bool> tuner_func = null, Func<ClientCard, bool> n_tuner_func = null)

获取param_pre_materials中满足特殊召唤超量怪兽的所有情况的素材集合 param_pre_materials需要处理的素材集合 level 超量怪兽需求的素材等级 material_count 召唤规则的怪兽数量 material_count_above 数量是否包含> ? material_func 怪兽的过滤函数 返回值:所有满足条件情况的非重复素材集合 ●List<List> GetXyzMaterials(IList param_pre_materials, int level, int material_count, bool material_count_above = false, Func<ClientCard, bool> material_func = null)

②:CardContainer库: 连接比较器 ●CompareCardLink(ClientCard cardA, ClientCard cardB)

③:CardExtension库: 检查card是否可以作为素材 +NotBeSynchroMaterialMonster.cs +NotBeXyzMaterialMonster ●bool IsMonsterNotBeSynchroMaterial(this ClientCard card) ●bool IsMonsterNotBeXyzMaterial(this ClientCard card)