Jim Van Fleet
6/20/2005 10:22:00 PM
James Edward Gray II wrote:
> On Jun 20, 2005, at 3:56 PM, Jim Menard wrote:
>
>> I've been working on adding checkmate detection to my Bangkok-based
>> solution from last week. I added check detection, which was easy.
>> Checkmate seems harder, unless I'm missing something. I need to
>> figure out all possible moves for all pieces on the checked side,
>> then make the move and re-check the board to see if the king is still
>> in check. Is that what I have to do, or am I without clue?
>
>
> That's how I did it. I believe that's about the best method because
> you have to consider things like moving a piece in to block the check.
>
> James Edward Gray II
It would seem that the space of "all possible moves by all possible
pieces" could be reduced greatly be examining whether or not a given
"checked" piece could possibly move to a space that blocks an attack on
the king by an attacking piece. A relatively small number of spaces
meet this criteria compared to the size of the board, and a relatively
small number of pieces are likely to meet the criteria.
If the attacking piece were a knight or fairy, the possibility of moving
a piece other than the king can be rejected out of hand, as can the case
where two checking pieces simultaneously check the king.
I could easily be missing something. Hasn't been a sharp week for me!
But wait, it's only Monday...
Cheers,
Jim