Changes

Jump to: navigation, search

Mailbox

395 bytes added, 01:14, 6 March 2021
no edit summary
'''Mailbox''', (Offset board representation <ref>[http://www.craftychess.com/hyatt/boardrep.html Chess board representations] by [[Robert Hyatt]]</ref>)
a square-centric board representation where the [[Pieces#PieceCoding|encoding]] of every [[Squares|square]] resides in a separately addressable [[Memory|memory]] element, usually an element of an [[Array|array]] for random access. The square number, or its [[Files|file]] and [[Ranks|rank]], acts like an address to a post box, which might be empty or may contain one chess piece. As pointed out by [[Harm Geert Muller]], not only the embedded [[10x12 Board|10x12 board]], but various implementations are all mailbox, independently from elements in the array for padding that can act as a [https://en.wikipedia.org/wiki/Sentinel_value sentinel value] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=48164 mailbox & CPW] by [[Harm Geert Muller]], [[CCC]], May 31, 2013</ref>.
 
=Implementations=
* [[8x8 Board]]
* [[10x12 Board]]
* [[Vector Attacks]]
: [[0x88]]
=Pros & cons=
* Not efficient to generate moves in stages since generating all moves, captures only, non-captures may take quite similar periods
=ImplementationsSpeed=* For basic tasks such as generating, making/unmaking moves, a "pure" mailbox maybe slower than [[8x8 BoardBitboards]]* . However, when combining it with other methods such as [[10x12 BoardPiece-Lists]]* and optimize the code it could be as fast as Bitboards<ref>[http://talkchess.com/forum3/viewtopic.php?f=7&t=76773#p885878 The mailbox trials] by [[Vector AttacksPham Hong Nguyen|Nguyen Pham]]: , [[0x88CCC]], Mar 04, 2021</ref>
=See also=

Navigation menu