コード例 #1
0
ファイル: ChessMove.cs プロジェクト: FreddyFlares/Zebra
 public ChessMove(Square fromSq, Square toSq, Piece promotedTo)
 {
     this.fromSq = fromSq;
     this.toSq = toSq;
     this.special = SpecialMoveType.Promotion;
     this.promotedTo = promotedTo;
 }
コード例 #2
0
ファイル: ToMoveData.cs プロジェクト: FreddyFlares/Zebra
 public ToMoveData(PieceColour colour, Piece pawn, Piece knight, Piece bishop, Piece rook, Piece queen, Piece king, int pawnStartRank, int pawnPromRank, int pawnYDir,
     CastleFlags canCastleKS, CastleFlags canCastleQS, Square kingStartSq, Square kingRookSq, Square queenRookSq)
 {
     Colour = colour;
     Pawn = pawn;
     Knight = knight;
     Bishop = bishop;
     Rook = rook;
     Queen = queen;
     King = king;
     PawnStartRank = pawnStartRank;
     PawnPromRank = pawnPromRank;
     PawnYDir = pawnYDir;
     CanCastleKS = canCastleKS;
     CanCastleQS = canCastleQS;
     KingStartSq = kingStartSq;
     KingRookSq = kingRookSq;
     QueenRookSq = queenRookSq;
     KingKCastleSq = new Square(kingStartSq.File + 2, kingStartSq.Rank);
     KingQCastleSq = new Square(kingStartSq.File - 2, kingStartSq.Rank);
     RookKCastleSq = new Square(kingStartSq.File + 1, kingStartSq.Rank);
     RookQCastleSq = new Square(kingStartSq.File - 1, kingStartSq.Rank);
 }
コード例 #3
0
ファイル: SquareInfo.cs プロジェクト: FreddyFlares/Zebra
 public SquareInfo(Piece piece, Square location)
 {
     this.piece = piece;
     this.location = location;
 }
コード例 #4
0
ファイル: ChessPosition.cs プロジェクト: FreddyFlares/Zebra
 bool checkForSlidingAttacksFrom(int file, int rank, int xDir, int yDir, Piece piece1, Piece piece2)
 {
     file += xDir;
     rank += yDir;
     while (file >= 0 && file <= 7 && rank >= 0 && rank <= 7)
     {
         Piece p = Board[file + rank * 8].Piece;
         if (p == piece1 || p == piece2) return true;
         if (p != Pieces.None) return false;
         file += xDir;
         rank += yDir;
     }
     return false;
 }
コード例 #5
0
ファイル: ChessPosition.cs プロジェクト: FreddyFlares/Zebra
 bool checkForEnemyPawnAt(int file, int rank, Piece enemyPawn)
 {
     return (file >= 0 && file <= 7 && rank >= 0 && rank <= 7 && Board[file + rank * 8].Piece == enemyPawn);
 }