Пример #1
0
        private static IEnumerable<Trade> GetValidTrades(Game g, Player p)
        {
            foreach (var rule in g.GetTradeRules(p.Id))
            {
                var tr = CheckOnPlayersCells(g, rule, p.Id);

                if (tr == null && !p.OneDirection)
                {
                    tr = CheckOnPlayersCells(g, ReverseRule(rule), p.Id);
                    if (tr != null) tr.Reversed = true;
                }

                if (tr != null)
                {
                    yield return tr;
                }
            }
        }