ChessDotNet.Variants.KingOfTheHill.KingOfTheHillChessGame.IsKingInCenter C# (CSharp) Метод

IsKingInCenter() публичный Метод

public IsKingInCenter ( Player player ) : bool
player Player
Результат bool
        public bool IsKingInCenter(Player player)
        {
            Cache<bool> cache = player == Player.White ? kingInCenterCacheWhite : kingInCenterCacheBlack;
            if (cache.CachedAt == Moves.Count)
            {
                return cache.Value;
            }

            foreach (Position pos in center)
            {
                Piece p = GetPieceAt(pos);
                if (p is King && p.Owner == player)
                {
                    return cache.UpdateCache(true, Moves.Count);
                }
            }

            return cache.UpdateCache(false, Moves.Count);
        }