Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Bug in Bruja/Simon

Author: Dan Honeycutt

Date: 12:26:17 06/15/05

Go up one level in this thread


On June 15, 2005 at 13:53:46, Dann Corbit wrote:

>On June 15, 2005 at 10:49:17, Dann Corbit wrote:
>
>>On June 14, 2005 at 11:39:54, Dan Honeycutt wrote:
>>
>>>Thanks Uri
>>>
>>>Looks like this could be some trouble to detect.  What do you do to check
>>>insufficient material, any good suggestions?
>>
>>1.  No pawns left
>>2.  No pieces larger than knight or bishop left
>>3.  Maximum of 1 knight for either side
>>4.  If more than one bishop for any side, they must be the same color
>>
>>Then we have a draw.
>
>A simple and correct test is:
>1.  Are there any pawns left?
>If not, then:
>2.  Does anyone have more than 3 points?
>If not, then drawn.
>Otherwise, unknown if drawn or not.
>
>This overlooks some obvious cases, but it is really easy to test for it and is a
>lot better than nothing.  It also does not report false draws, which is a
>terrible bug.

Thanks Dann

Does this look right:

int CanWin() {
  int can_win = 0;
  if (w_pawns || w_queens || w_rooks ||
    ((w_bishops + w_knights) > 1)) can_win |= 1;
  if (b_pawns || b_queens || b_rooks ||
    ((b_bishops + b_knights) > 1)) can_win |= 2;
  return can_win;
}

Best
Dan H.



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.