Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: A question for all of you OOP people

Author: Bo Persson

Date: 08:58:22 07/02/02

Go up one level in this thread


On July 02, 2002 at 01:30:33, Russell Reagan wrote:

>One problem I often have when attempting to approach a problem from an OOP
>perspective is that I find it hard to determine which things belong to the
>object and which things don't. For example, in a chess program, I would think
>that the "make move" function and "generate moves" function would belong to the
>"position" object, since the only data that is being operated upon is the
>position's data.

It depends on what you have already put into your position object. :-)

>But what about the search algorithm? That really only operates
>upon the position object as well, but it doesn't seem (to me) like it belongs in
>the position object. So an AlphaBeta() function and Evaluate() function would
>seem to not be part of the position, even though they only use the position's
>data.

Is the hash table, table base access, killer moves, etc part of the position, or
are they separate objects. If they are, it might be a good idea to have a
searcher object that works on all of these.

Another idea: I am right now playing around with a Position constructor taking
the current position and a move, creating the new position which is then passed
on to the next search level. Interesting so far...


Bo Persson
bop2@telia.com



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