Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: How to use Movei as an automatic player in ICC

Author: Richard Pijl

Date: 02:47:57 01/12/03

Go up one level in this thread


On January 12, 2003 at 05:08:42, Uri Blass wrote:

>On January 11, 2003 at 19:20:23, Richard Pijl wrote:
>
>>>More details are that my moveiXX.exe is at the same directory as winboard.exe
>>>I guess that it means that when I run it Movei can play automatically under
>>>winboard.
>>>
>>>The second question is then how to stop it in that case and if there is a simple
>>>way to play only one game not manually(I never played with it on ICC).
>>>
>>>Uri
>>
>>When you run it, winboard as well as a console window appears. Just close the
>>console window. Then winboard won't be restarted if you quit it.
>>
>>Richard
>
>I thought that it is a simple task to play an automatic game on ICC because
>I know that even non programmers do it but I see that it is not.
>
>I do not like all the technical stuff.
>
>Another question is how exactly to kibitz information in games in ICC
>
>Should I add in my program every time that I have new pv
>printf("tellics kibitz mainline=%s\n",mainline);
>
>or maybe it is better to kibitz main line only when the depth is big enough or
>the time is big enough?
>

What most people do is to kibitz only when the engine plays a move.

To prevent human players to see kibitz lines I whisper when playing a human.
You can tell the difference by looking at the command 'computer'. If you
received that command you're playing a computer and should use the command
'tellall <kibitzline>'. This line will be shown to all people looking at the
game, including your opponent. If you did not receive the command 'computer' on
game start, you should use 'tellothers <kibitzline>'. Now all that are observing
see the line, but you and your opponent do not.

>I am still not sure how to do it exactly.
>I do not remember the main line as a string and here is my pv function.
>
>should  I add  printf("tellics kibitz mainline="); in the beginning of printpv
>and add write information about the number of nodes only at the end of the pv or
>maybe I should do it in a different way.
>
>Here is my code to print pv.
>
>k is the depth and x is the score.
>
>void printpv(int k,int x)
>{
>	int j;
>	printf("%d %d %d %d",k, x, (get_ms() - start_time) / 10, nodes);
>	for (j = 0; j < pv_length[0]; ++j)
>		printf(" %s", move_str(pv[0][j].b));
>	printf("\n");
>	fflush(stdout);
>}
>

I suppose that at the end of the search this info is still available, so you
could do the following when playing a move:

if (kibitzing) {
   if (computer)
      printf("tellall ");
   else
      printf("tellothers ");
   printpv(k,x);
}

where kibitzing is a flag to turn kibitzing on or off
where computer is a flag that specifies that you are playing a computer

Perhaps you could replace printpv by a nicer kibitz version, but I think you get
the idea here.

Richard.




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.