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.