落地无头规则引擎与局内内容,便于命令行复现对战。
规则、卡包与测试放在同一套核心里,避免表现层自行结算。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
using CardGame.Core;
|
||||
|
||||
namespace Game.Core.Tests;
|
||||
|
||||
internal static class Cards
|
||||
{
|
||||
private static readonly Dictionary<string, CardDefinition> ById = CardJson
|
||||
.LoadCatalog(Path.Combine(AppContext.BaseDirectory, "content", "cards"));
|
||||
|
||||
public static IReadOnlyDictionary<string, CardDefinition> Catalog => ById;
|
||||
|
||||
public static CardDefinition Get(string id) => ById[id];
|
||||
|
||||
public static CardDefinition Spark => ById["card.example.spark"];
|
||||
public static CardDefinition Wisp => ById["card.example.wisp"];
|
||||
public static CardDefinition Salve => ById["card.example.salve"];
|
||||
public static CardDefinition Ward => ById["card.example.ward"];
|
||||
public static CardDefinition Lantern => ById["card.example.lantern"];
|
||||
public static CardDefinition Fuse => ById["card.example.fuse"];
|
||||
public static CardDefinition BaseField => ById["card.system.base_field"];
|
||||
public static CardDefinition Patrol => ById["card.guard.patrol"];
|
||||
public static CardDefinition Captain => ById["card.guard.captain"];
|
||||
public static CardDefinition Believer => ById["card.cult.believer"];
|
||||
public static CardDefinition Camp => ById["card.cult.camp"];
|
||||
public static CardDefinition Crossbow => ById["card.guard.crossbow"];
|
||||
public static CardDefinition Conscript => ById["card.guard.conscript"];
|
||||
|
||||
public static List<CardDefinition> Repeat(CardDefinition card, int count) =>
|
||||
Enumerable.Repeat(card, count).ToList();
|
||||
}
|
||||
Reference in New Issue
Block a user