Difference between revisions of "Mailbox"

From Chessprogramming wiki
Jump to: navigation, search
Line 5: Line 5:
 
'''Mailbox''', (Offset board representation <ref>[http://www.craftychess.com/hyatt/boardrep.html Chess board representations] by [[Robert Hyatt]]</ref>)
 
'''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>.
 
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>.
 +
 +
=Pro & Const=
 +
==Pro==
 +
* Easy, straightforward to understand and implement
 +
 +
Newcomers are suggested to implement their first chess engines using Mailbox thus they can get some basic knowledge and skills before starting more complicated chess projects.
 +
 +
==Const==
 +
* Programming must use many loop and branch commands such as for, while, if
 +
* Hard to store patterns and match them
 +
  
 
=Implementations=
 
=Implementations=

Revision as of 02:35, 20 February 2021

Home * Board Representation * Mailbox

A fantastical mailbox [1]

Mailbox, (Offset board representation [2]) a square-centric board representation where the encoding of every square resides in a separately addressable memory element, usually an element of an array for random access. The square number, or its file and 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, but various implementations are all mailbox, independently from elements in the array for padding that can act as a sentinel value [3].

Pro & Const

Pro

  • Easy, straightforward to understand and implement

Newcomers are suggested to implement their first chess engines using Mailbox thus they can get some basic knowledge and skills before starting more complicated chess projects.

Const

  • Programming must use many loop and branch commands such as for, while, if
  • Hard to store patterns and match them


Implementations

0x88

See also

Publications

Forum Posts

External Links

References

Up one Level