Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: A question about varaibles that I should give to functions in C++

Author: Uri Blass

Date: 12:45:10 08/01/04

Go up one level in this thread


On August 01, 2004 at 06:12:03, Gerd Isenberg wrote:

>On August 01, 2004 at 01:07:10, Uri Blass wrote:
>
>>My code until today used a lot of global varaibles and I decided based on advice
>>of Dann Corbit to use a class for time management.
>>
>>I have a many varaibles in class for time management and
>>I hesitate which parameters to give to the functions.
>>
>>I will give an example:
>>
>>I want to have a procedure to update the remaining number of moves to the time
>>control in the beginning of every search(this varaible is used for other
>>varaibles like the target time.
>>
>>The procedure is using the following varaibles:
>>1)num_moves_1(number of moves in the first time control)
>>2)num_moves_2(number of moves in the second time control)
>>3)num_moves_3(number of moves in the third time control)
>>4)hply(history ply of the game)
>>
>>I think to call the procedure not inside the class so it cannot get directly
>>num_moves_1 or num_moves_2 or num_moves_3
>>
>>I can write seperate functions to return num_moves_1 inside the class and use
>>these functions outside of the class but I am not sure if it is a good idea(no
>>experience in C++).
>>
>>Another possibility is not to give the functions the parameters of
>>num_moves_1,num_moves_2,num_moves_3 because their value is known inside the
>>class so it is not needed.
>>
>>What do you suggest?
>>
>>Uri
>
>Hi Uri,
>
>yes, putting time control variables and services into a struct/class is a good
>idea.
>
>Basically you hide your n num_moves and n times_to_num_moves, which got
>initialized at construction time or via some setters with appropriate
>parameters.
>
>I suggest not to keep track of elapsed time and history of the game inside this
>class, but to have a memberfunction with hply and elapsed time parameter to get
>the average and maximum thinking time (or some vector of suggested times for
>different cases incapsulated in some other class) for the next move.

hply is of course not time varaible and it is today a global varaible(it is used
in other places like makemove that update the history stake and I do not see an
idea how not to use it as global varaible).

I do not see the advantage of having elapsed time as a global varaible(I thought
to have all the only time related varaibles in the same class).

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.