Пример #1
0
 public void RookMoves()
 {
     for (int i = 0; i < 64; ++i)
     {
         IEnumerable <ChessMove> rookMoves = ChessMove.RookMoves(i);
         Assert.AreEqual(14, rookMoves.Count(), $"14 moves from square {ChessBoard.SquareName(i)}");
         int rank = ChessBoard.RankOf(i), file = ChessBoard.FileOf(i);
         foreach (ChessMove cm in rookMoves)
         {
             int destRank = (int)cm.DestinationSquare.Rank, destFile = (int)cm.DestinationSquare.File;
             Assert.IsTrue(rank == destRank || file == destFile, $"correct rank/file @ {cm}");
         }
     }
 }
Пример #2
0
 internal override IEnumerable <ChessMove> GetValidMoves() => ChessMove.RookMoves((int)CurrentSquare);