Author: Jeremiah Penery
Date: 17:40:07 12/04/03
Go up one level in this thread
On December 04, 2003 at 01:18:34, Matt Thomas wrote: >On December 03, 2003 at 09:43:38, Robert Hyatt 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 >> >> >>1. use Read(). >> >>2. "poll" using select() (assuming unix) with a timeout of 0.0, which simply >>asks the question "Is input available for me to read on stdin?" If the answer >>is no, do whatever you want. If the answer is yes, read it. If you don't >>have anything to do, just do a read() to get the next command... > >I agree on using Read() - it looks advantageous. So isn't polling every clock >cycle kind of a drain of CPU? What do you think of skipping clock cycles to >give more time to pondering? Poll only once every 2-3 seconds or something, but don't make the select() call wait for input if there isn't already input ready. Just return then and keep searching.
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.