Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: question about implementing tablebases

Author: Uri Blass

Date: 20:37:33 12/10/04

Go up one level in this thread


On December 10, 2004 at 23:26:10, Uri Blass wrote:

>On December 10, 2004 at 22:55:01, Dann Corbit wrote:
>
>>On December 10, 2004 at 22:18:12, Uri Blass wrote:
>>
>>>On December 10, 2004 at 22:06:09, Andrew Platt wrote:
>>>
>>>>On December 10, 2004 at 21:21:10, Uri Blass wrote:
>>>>
>>>>>On December 10, 2004 at 20:41:06, Dann Corbit wrote:
>>>>>
>>>>>>Did you read this:
>>>>>>
>>>>>>How to integrate my probing code into your chess program
>>>>>>========================================================
>>>>>
>>>>>I did not but I still do not understand some things when I look at it
>>>>>for example the function
>>>>>SqFindKing   (square *)
>>>>>
>>>>>What king does it find white or black and why does it need to get pointer to
>>>>>square?
>>>>>I can find the white king or black king with no pointers.
>>>>
>>>>Caveat: I haven't implemented it either but I think I can understand the
>>>>specification clearly enough. Note there are two arrays, one for each color. The
>>>>parameter 'square *' is simply one of those arrays. So it will look for the king
>>>>in the array you pass.
>>>>
>>>>Andy.
>>>
>>>In this case I do not understand why it gets a pointer.
>>>
>>>getting a pointer is done when you think to change the value.
>>>I see no reason to change the side to move so it could simply get side to move
>>>as a paramater.
>>
>>In C and C++, an array reference always decays to a pointer in a function call.
>>
>>Have you seen this document:
>>ftp://rtfm.mit.edu/pub/usenet-by-group/comp.lang.c/C-FAQ-list
>>
>>If you want to protect the value you can make it a pointer to const.
>>You can also pass the whole array by value by wrapping it in a struct (which is
>>not usually a good idea unless the array is small).
>
>You are right
>I simply forgot that it gets an array because array is not needed to find the
>square of the king (kingsquare[0] is the white king and kingsquare[1] is the
>black king so I can get only one number and did not see the point of getting an
>array).
>
>I guess that I need first to have function to calculate the array one for each
>colour because I have not them in movei.
>I have arrays for pieces of one type but not for all the white pieces.
>
>It is still not clear to me what array exactly I should give the function and
>square* suggest that it should be array of squares but I do not see how array of
>squares can be relevant only for one side because squares can be of black pieces
>and of white pieces.
>
>Uri

After looking at it again if I understand correctly th first step is to have
function that translate a position to 2 array that give full information about
the squares of the pieces and the type of the pieces.

I guess that I could choose the size of the array and it is not important what
is the size of them and what information are in them as long as I can get the
information where is every piece of the relevant colour based on the array.

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.