Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Napoleon - pawn.h

pawn.h

Caricato da: Crybot
Scarica il programma completo

  1. #ifndef PAWN_H
  2. #define PAWN_H
  3. #include "defines.h"
  4. #include "board.h"
  5.  
  6. namespace Napoleon
  7. {
  8.     class Pawn
  9.     {
  10.     public:
  11.  
  12.         static BitBoard GetAllTargets(BitBoard pawns, Board& board);
  13.         INLINE static BitBoard GetAnyAttack(BitBoard pawns, Board& board);
  14.  
  15.     private:
  16.         INLINE static BitBoard GetQuietTargets(Color color, BitBoard pawns, BitBoard empty);
  17.         INLINE static BitBoard GetSinglePushTargets(Color color, BitBoard pawns, BitBoard empty);
  18.         INLINE static BitBoard GetDoublePushTargets(Color color, BitBoard pawns, BitBoard empty);
  19.         INLINE static BitBoard GetPawnsAbleToSinglePush(Color color, BitBoard pawns, BitBoard empty);
  20.         INLINE static BitBoard GetPawnsAbleToDoublePush(Color color, BitBoard pawns, BitBoard empty);
  21.         INLINE static BitBoard GetEastAttacks(Color color, BitBoard pawns);
  22.         INLINE static BitBoard GetWestAttacks(Color color, BitBoard pawns);
  23.  
  24.     };
  25. }
  26.  
  27. #endif // PAWN_H