Author: Bas Hamstra
Date: 07:19:24 12/15/04
Go up one level in this thread
I have a global Winboard object and a global UCI object. One of the two has the property "Active". During search a function Winboard.SearchInterrupt() is called. All winboard code is in "TWinboard.cpp". Bas. On December 15, 2004 at 09:19:56, Uri Blass wrote: >I think that my design about winboard stuff is not the best and I think to have >better design for files that include only winboard stuff. > >I am interested to know where do you have winboard stuff in your program > >part of my winboard stuff is inside chess related files and I think that it may >be a bad idea. > >My winboard stuff is basically in the following files: >1)main.cpp include waiting passively to winboard command and reading them not >during search. > >2)analysis.cpp include dealing with winboard commands in analysis mode. > >3)iterate.cpp includes both dealing in winboard commands during searching and >function to choose moves that is a loop to repeat analyzing in increasing depth. > >I think that it is not a good idea to deal with winboard commands during search >in file that does other things so I added file read_during_search.cpp but the >problem is that this file need the score of the search that is not a global >variable and only iterates know about it because if I get the expected move >during pondering I may decide stop searching and in that case I want to include >the score in a special variable when if I stop to search because of unexpected >move I do not want the score in a special variable (for example in order to >decide if to resign). > >It means that practically I have >4)read_during_search.cpp that have some functions that get the score when I call >them from iterate.cpp > >I have also >5)winboard code in winboard.cpp that includes only code by Dieter to check if I >got winboard commands during search but not dealing with them. > >6)I call the function checkup() from boardi.cpp after makemove every 8192 >nodes > >checkup() does not get varibale because boardi.cpp does not know about the score >of the search but checkup() is located in iterate.cpp so it can use the variable >x > >I am considering to decide that x is simply a global variable or that it is not >a global variable but there is a specific class that I can get it from it. > >I guess that the second solution is probably a better design if I may want in >the future to use parallel search and I am interested in your opinion. > >When I write it I think about a third solution that may be better. >I think of is not to have more global variables and >simply to have third value for the variable stop_search and if I stop to search >not because of getting the expected move I will know that I do not need to >remember the score inside the search for decisions like resign decision because >stop_search will be 2 and not 1(today it can get only 0 or 1. > >Uri
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.