[ Help | Earliest Comments | Latest Comments ][ List All Subjects of Discussion | Create New Subject of Discussion ][ List Earliest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]Comments/Ratings for a Single Item Earlier ⇧Reverse Order⇩ Later Forward Chess . Download these files to play Forward Chess with Zillions of Games![All Comments] [Add Comment or Rating]Michael Nelson wrote on 2004-02-04 UTCThe Zillions implementation handles checkmate/stalemate positions fairly well, but often overlooks fairly obvious 'run for the border' (moving the King to the enemy eighth rank) wins. Any suggestions how to improve its play in this area? Peter Aronson wrote on 2004-02-04 UTCMake reaching the back row part of checkmate. Add code such that if the a King moves to the back row, it also captures an opposing King (an extra one off board can be easier to find). <p> This means the actual winning move won't be made, however. Variations of this approach might encourage Zillions without altering play. Larry Smith wrote on 2004-02-04 UTCInstead of the win-conditon being the presence of the King within a particular zone, make the win-conditon also the absence of the King on the rest of the field. This is your current condition: (win-condition (White Black) (absolute-config King (promotion-zone))) Make it: (win-condition (White Black) (and (absolute-config King (promotion-zone)) (absolute-config (not King) (not-promotion-zone)) ) ) You will have to define the not-promotion-zone, which will be all the cells that are not part of the normal promotion-zone. The Zillions engine will now have the 'urge' to move that King into the promotion-zone. Anonymous wrote on 2004-02-05 UTCThanks, Peter. It finds and defends against these wins much better now. The macro I used, wtih comments: (define King-forward ( $1 (verify not-friend?) (if (in-zone? promotion-zone) (verify not-attacked?) ; to prevent moving into check (if (in-zone? promotion-zone a1) (capture White-throne) ; dummy position with a white King else (capture Black-throne) ; dummy position with a Black King ) add else (add-create) ; another macro to make the move and create a piece ; if appropriate. Your normal move goes here. ) )) Michael Nelson wrote on 2004-02-05 UTCLarry's suggestion also improves play and the code is elegant. I'm going to do some testing and see which approach seems to do better. I have a more elegant macro for Peter's method which will allow the final move to be made: (define King-win ( (verify (in-zone? promotion-zone)) (if (in-zone? promotion-zone a1) White-throne ; dummy position with a White King else Black-throne ; dummy position with a Black King ) add )) 5 comments displayedEarlier ⇧Reverse Order⇩ LaterPermalink to the exact comments currently displayed.