Author: Adriano Bedeschi de Souza
Date: 21:39:41 06/17/02
Go up one level in this thread
BitBoard bishopMoves(ChessPosition position, int orig) {
int diagonalState;
BitBoard diagonal_A8H1_moves;
BitBoard diagonal_A1H8_moves;
BitBoard pos;
pos = position.rotated45L;
pos = pos >> rotated45Left_shift_map[orig];
diagonalState = pos & (int)(pow(2,diagonal_A8H1_length[orig]) - 1);
diagonal_A8H1_moves = diagonal_A8H1_attacks[orig][diagonalState];
pos = position.rotated45R;
pos = pos >> rotated45Right_shift_map[orig];
diagonalState = pos & (int)(pow(2,diagonal_A1H8_length[orig]) - 1);
diagonal_A1H8_moves = diagonal_A1H8_attacks[orig][diagonalState];
return diagonal_A8H1_moves | diagonal_A1H8_moves;
}
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.