You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查找符合特定mana_cost规则的MTG卡牌图顶点?

解决方案:查询符合法术力费用要求的MTG卡牌

要实现你的需求,核心是先解析mana_cost字符串计算法术力转换费用(CMC),再匹配颜色需求,具体步骤和查询语句如下:

核心逻辑

目标费用{2}{G}的核心要求是:

  1. 总CMC ≤ 3(2点任意法术力+1点绿色法术力,总和为3)
  2. 卡牌能提供至少1点绿色法术力(包括混色符号如U/G这种可选择绿色的情况)

具体Cypher查询

MATCH (c:Creature)
WITH c, 
     -- 拆分mana_cost为单个法术力符号(去掉首尾{}并过滤空值)
     [x | x in split(replace(c.mana_cost, '{', ''), '}') WHERE x <> ''] AS symbols
WITH c, symbols,
     -- 计算总CMC:数字符号转数值相加,颜色/混色符号各算1点
     reduce(total_cmc = 0, symbol IN symbols | 
            total_cmc + (CASE WHEN symbol =~ '\\d+' THEN toInteger(symbol) ELSE 1 END)
           ) AS cmc,
     -- 检查是否包含绿色法术力(包括混色符号)
     any(symbol IN symbols WHERE symbol CONTAINS 'G') AS has_green
-- 过滤条件:CMC≤3且能提供绿色法术力
WHERE cmc <= 3 AND has_green
RETURN c.name, c.mana_cost, cmc
ORDER BY cmc, c.name

代码解释

  • 符号拆分:用replace去掉所有{,再用split按}拆分,最后过滤空字符串,得到干净的法术力符号列表。
  • CMC计算:用reduce遍历符号,数字符号转整数累加,颜色/混色符号统一加1,得到总法术力转换费用。
  • 颜色检查:用any函数判断是否有符号包含G,覆盖纯绿{G}、混色{U/G}等所有能提供绿色的情况。
  • 过滤条件:同时满足CMC≤3和能提供绿色,精准匹配你要的≤{2}{G}的卡牌,包括Slippery Bogle这类混色卡牌。

匹配示例

  • 符合条件的卡牌:Slippery Bogle({U/G},CMC=1,含G)、Grizzly Bears({G}{U},CMC=2,含G)、Llanowar Elves({G},CMC=1,含G)
  • 不符合的卡牌:Lightning Bolt({R},不含G)、Craw Wurm({3}{G},CMC=4>3)

内容的提问来源于stack exchange,提问作者Matheus Farias

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 09:53:17