Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Engine programming - standard input

Author: martin fierz

Date: 07:04:25 12/03/03

Go up one level in this thread


On December 03, 2003 at 09:45:16, Robert Hyatt wrote:

>On December 03, 2003 at 07:48:21, martin fierz wrote:
>
>>On December 03, 2003 at 05:08:14, Matt Thomas wrote:
>>
>>>I want to create a chess engine and am starting with the input/output routines.
>>>I can handle output, but am not sure about how to implement input.  I am
>>>thinking to use ReadFile() to be unbuffered, and for pipes.  I could implement a
>>>loop to poll for input, but wouldn't that be a drag on CPU cycles?  I want to be
>>>able to use pondering, but if the user decided to cancel the game I need to
>>>listen for the command.  I am going to use the Winboard protocol and understand
>>>the commands.  I am using VC6 to create a console app and am familiar with
>>>creating a basic program in Windows/console/DOS.  Any help would be much
>>>appreciated.  Examples would go a long way.  I have looked at some code for
>>>other chess programs, but there is so much to sift thru and I want to focus
>>>specifically on understanding the basics of implementing std input.  Thanks,
>>>Matt
>>
>>haven't you got this the wrong way round? write engine, then worry about input
>>once it makes it's first legal moves. at least that's what i did :-)
>>
>>cheers
>>  martin
>
>
>Actually this is not a bad idea to start here.  How are you going to handle
>console input and pondering?  That probably should be answered first, because
>it will affect the design of everything below it.  IE two threads?  one for
>input, one for searching/pondering?  One thread with sporadic polling?  One
>thread using an alarm() to trigger a poll?   Two processes, talking through a
>pipe?  Etc...

you can do all of this later. of course you can start out with this stuff, but i
wouldn't do it that way. what if you never finish your engine?
of course, if you decide today that you are going to make a chess engine and are
100% certain you will see it through, then you can start out with that kind of
stuff.

my engine has a single thread with sporadic polling and no pondering. i will
worry about those things once i believe that it's worth doing so. which is when
my engine is playing chess rather than chinese checkers on a chess board :-)
as long as that doesn't happen i'm not going to waste any time with such
details...

cheers
  martin



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.