Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: inCheck moveGen

Author: Dann Corbit

Date: 17:06:57 12/05/03

Go up one level in this thread


On December 05, 2003 at 17:34:55, Matthias Gemuh wrote:

>On December 05, 2003 at 16:43:15, Dann Corbit wrote:
>
>>On December 05, 2003 at 14:18:27, Georg v. Zimmermann wrote:
>>
>>>Hi,
>>>
>>>just had a little idea and was wondering whether anyone of you is doing that.
>>>When in check there are obviously two ways to generate moves, either flip
>>>through all pieces and see whether they can capture attacker/ move in between,
>>>or flip through the in-between squares and see whether pieces can move there.
>>>Now usually b) will be faster. But in some positions when the attacker is far
>>>aways from the king and few pieces are left, a) will be faster. I wonder if
>>>someone has 2 versions and uses a) or b) depending on the board situation ? It
>>>is an insignificant gain in an insignificant function, I know. But still ...
>>
>>I have a bitmap of every square (whether occupied by white or black) that is
>>attacked by white, and also every square (whether occupied by white or black)
>>that is attacked by black.
>>
>>Incheck(white) is just kingbitmap[white] & blackattacks
>>Incheck(black) is just kingbitmap[black] & whiteattacks
>>
>>It's also useful for other things like move ordering.
>
>
>
>That is how I do it in BigLion.
>I calculate these attack boards from scratch at each interior or leaf node.
>Do you do it better ?

You can do it incrementally.  It's a lot trickier to get it right though.



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.