Computer Chess Club Archives


Search

Terms

Messages

Subject: "Piece List" - Administration?

Author: Axel Grüttner

Date: 08:29:25 03/03/03


To avoid in my move generator searching the whole board (10x12) for pieces, i
implemented two piece lists, one for each color. i have an idea of updating
these lists while making/unmake a move but i dont now if it is a very fast one.


1.)build an array of piece_lists for each color with the MAX_SEARCH_DEPTH as the
array size.
piece_lists_arr[MAX_DEPTH][];

so starting position for white will be
piece_lists_arr[0][]={a1, b1, c1, ..., e2, ..., h8}

making one move (e2e4) will take change to the next piece_list :
piece_lists_arr[1][]={a1, b1, c1, ..., e4, ..., h8}
...and so on, until MAX_Search depth is reached.
to "unmake" a move in DEPTH=N you will only take the piece_lists_arr[N-1][] and
you get the actual piece_list.
so i think "unmake" a move will be very fast and comfortable. but what about the
creating of the new piece_lists in the array while make_move().
make_move in DEPTH=N demands to write a new piece list to
piece_lists_arr[N+1][]. this wants at least 16 copy instructions (or not???
other ideas are welcome) and i don´t know if the advantage of unmake() will be
repay(?!?) at all.

i hope my english was good enough to explain my idea, and i would be very
pleased for any comment or other idea to this theme.

axel



This page took 0.01 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.