Beispiel #1
0
        /// <summary>
        /// A Gaul can move twice if it crosses a Plain
        /// Cannot cross Water
        /// </summary>
        /// <param name="destination"></param>
        /// <returns></returns>
        public override bool CheckMove(ITile destination)
        {
            if (!destination.IsAdjacent(this.Position) || destination.Type == TileType.Water)
                return false;

            return base.CheckMove(destination); ;
        }
Beispiel #2
0
        /// <summary>
        /// A Dwarf can move from a Mountain to any other Mountain
        /// Cannot cross Water
        /// </summary>
        /// <param name="destination"></param>
        /// <returns></returns>
        public override bool CheckMove(ITile destination)
        {
            bool mountainTravel = destination.Type == TileType.Mountain
                && this.Position.Type == TileType.Mountain;

            if (!destination.IsAdjacent(this.Position) || destination.Type == TileType.Water)
            {
                if (!mountainTravel)
                    return false;
            }

            return base.CheckMove(destination); ;
        }
Beispiel #3
0
        public override bool CheckMove(ITile destination)
        {
            if (!destination.IsAdjacent(this.Position))
                return false;

            return base.CheckMove(destination);
        }