Beispiel #1
0
        public override bool Equals(object o)
        {
            var other = o as GameBoard;

            return(other != null &&
                   Board.SequenceEqual(other.Board) &&
                   Owls.Equals(other.Owls));
        }
Beispiel #2
0
 public GameBoard Clone()
 {
     return(new GameBoard
     {
         Board = new List <BoardPositionType>(Board),
         Owls = Owls.Clone()
     });
 }
Beispiel #3
0
        public static void Main(string[] args)
        {
            Dog  doggie  = new Dog();
            Cat  cattie  = new Cat();
            Bird birddie = new Bird();
            Owls owlssie = new Owls();

            Console.WriteLine(doggie.TalkToOwner());
            Console.WriteLine(cattie.TalkToOwner());
            Console.WriteLine(birddie.TalkToOwner());
            Console.WriteLine(owlssie.TalkToOwner());
        }
Beispiel #4
0
        public void Move(Play play)
        {
            var newPosition = FindDestinationPosition(play);

            if (newPosition >= NestPosition)
            {
                Owls.Nest(play.Position);
            }
            else
            {
                Owls.Move(play.Position, newPosition);
            }
        }
Beispiel #5
0
 private bool OwlShouldStopHere(int position, BoardPositionType desiredColor)
 {
     return(position >= NestPosition ||
            (desiredColor == Board[position] && !Owls.Inhabit(position)));
 }