Beispiel #1
0
 public void BishopMoves()
 {
     for (int i = 0; i < 64; ++i)
     {
         IEnumerable <ChessMove> bishopMoves = ChessMove.BishopMoves(i);
         int distanceFromEdge = DistanceFromEdge(i);
         int count            = 7 + 2 * distanceFromEdge;
         Assert.AreEqual(count, bishopMoves.Count(), $"# bishop moves from {ChessBoard.SquareName(i)}");
         Hue hue = ChessBoard.HueOf(i);
         Assert.IsTrue(bishopMoves.All(cm => cm.DestinationSquare.Hue == hue), "Bishop stays on same color");
     }
 }
Beispiel #2
0
 internal override IEnumerable <ChessMove> GetValidMoves() => ChessMove.BishopMoves((int)CurrentSquare);