Computer Chess Club Archives




Subject: Why have a UnMakeMove or UndoMove function (not as stupid as it sounds)?

Author: Albert Bertilsson

Date: 08:41:03 02/24/03


I've done some testing and thinking and I ask the following question:
Why have an UnMakeMove or UndoMove function?

When testing with Sharper I found that actually copying the board and then
calling DoMove on the new board was faster than using DoMove() / UndoMove() on
the same board.

My Board size is 376 bytes, and I figure that will cause a copy function to
require some 94 copy instruction (on a 32 bit machine), this will of course also
require some sort of condition of when to stop copying and so, but I figure this
must be a much easier task than doing branches and testing if it was a capture
etc. and updating piece lists.

Is this a unique case for me? Have anybody else tried it? What is your board
size in bytes? Maybe this only works for me because my board is small (although
I certainly don't think it is small).

Regards Albert Bertilsson

This page took 0.04 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.