Exemple #1
0
    static async Task MoveDahanAction(TargetSpaceCtx ctx)
    {
        int count = 2;

        while (0 < count)
        {
            var costalCtxs      = ctx.AllSpaces.Select(ctx.Target).Where(x => x.IsCoastal).ToArray();
            var costalWithDahan = costalCtxs.Where(x => x.Dahan.Any).ToArray();
            var costal          = costalCtxs.Select(x => x.Space).ToArray();

            await ctx.SelectActionOption(
                new SpaceAction($"Move Dahan IN TO " + ctx.Space.Label, ctx => ctx.MoveTokenIn(TokenType.Dahan, 100, Target.Coastal)).FilterOption(costalWithDahan.Length > 0),
                new SpaceAction($"Move Dahan OUT OF " + ctx.Space.Label, ctx => ctx.MoveTokensOut(1, TokenType.Dahan, 100, Target.Coastal)).Matches(x => x.Dahan.Any)
                );

            count--;
        }
    }