public override bool Equals(object o) { var other = o as GameBoard; return(other != null && Board.SequenceEqual(other.Board) && Owls.Equals(other.Owls)); }
public GameBoard Clone() { return(new GameBoard { Board = new List <BoardPositionType>(Board), Owls = Owls.Clone() }); }
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()); }
public void Move(Play play) { var newPosition = FindDestinationPosition(play); if (newPosition >= NestPosition) { Owls.Nest(play.Position); } else { Owls.Move(play.Position, newPosition); } }
private bool OwlShouldStopHere(int position, BoardPositionType desiredColor) { return(position >= NestPosition || (desiredColor == Board[position] && !Owls.Inhabit(position))); }