Changes

Jump to: navigation, search

Sliding Pieces

2,704 bytes added, 16:54, 7 May 2018
Created page with "'''Home * Chess * Pieces * Sliding Pieces''' '''Sliding Pieces''' can move an indefinite number of squares along a horizontal, F..."
'''[[Main Page|Home]] * [[Chess]] * [[Pieces]] * Sliding Pieces'''

'''Sliding Pieces''' can move an indefinite number of [[Squares|squares]] along a [[Ranks|horizontal]], [[Files|vertical]], or [[Diagonals|diagonal]] line until the edge of the board or another piece obstructs the [[Rays|ray]] of a line. This applies for [[Bishop|bishops]], [[Rook|rooks]] and [[Queen|queen]]. Sliding piece [[Move Generation|move generation]] is more extensive than generation of none sliding [[Knight|knight]], [[Pawn|pawn]] or [[King|king]] moves. With board arrays it requires a loop along the ray, scanning each square for emptiness to continue, or [[Occupancy|occupancy]] by own or opponent piece to break, combined with an off the board test to terminate the ray loop as well. However, such a loop may be designed in an efficient way generalized for all pieces as broached in [[Table-driven Move Generation]] and in [[Bruce Moreland|Bruce Moreland's]] ''Programming Topics'' <ref>[http://web.archive.org/web/20070715002634/www.brucemo.com/compchess/programming/movetable.htm Move Table move generation] from [[Bruce Moreland|Bruce Moreland's]] [http://web.archive.org/web/20070607231311/www.brucemo.com/compchess/programming/index.htm Programming Topics]</ref>. With [[Bitboards|bitboards]] one relies on the various techniques to [[Sliding Piece Attacks|generate attack sets]], which further requires [[Bitboard Serialization|serialization]] to finally [[Encoding Moves|encode moves]] in move generation.

The advantage of the bitboard method seems the cheaper generation of moves to certain subsets of squares, for instance [[Captures|captures]] in [[Quiescence Search|quiescence search]]. Despite [[Fritz Reul]] demonstrated dense and efficient [[Vector Attacks#NewArchitecture|blocking loops]] in [[Mailbox|mailbox]] based [[Board Representation|board representations]], and in conjunction with [[Pieces#DisjointPieceFlags|disjoint piece flags]] and [[Piece-Lists|piece-lists]] <ref>[[Fritz Reul|Fritz M.H. Reul]] ('''2009'''). ''New Architectures in Computer Chess'', Ph.D. Thesis, ''Chapter 2 Non-Bitboard Architectures'', [https://pure.uvt.nl/ws/files/1098572/Proefschrift_Fritz_Reul_170609.pdf pdf]</ref>.

=See also=
* [[Bishop]]
* [[Vector Attacks#NewArchitecture|Blocking Loop]]
* [[Discovered Attack]]
* [[Discovered Check]]
* [[Move Generation]]
* [[Pin]]
* [[Rook]]
* [[Queen]]
* [[Sliding Piece Attacks]] with [[Bitboards]]
* [[Table-driven Move Generation]]
* [[Vector Attacks]]
* [[King Pattern#VulnerableOnDistantChecks|Vulnerable on Distant Checks]] from [[King Pattern]] in [[Bitboards]]
* [[X-ray]]
* [[X-ray Attacks (Bitboards)]]

=References=
<references />

'''[[Pieces|Up one Level]]'''

Navigation menu