You are on the backup site for Any posts, moves, or other changes you make here will not be permanent, because the pages and database from the main site will be backed up here every midnight EST. Additionally, things may not be working right, because this site is also a testbed for newer system software. So, if you are not here to test, develop, or merely read this site, you may want to change .org to .com in the navigation bar and go to the main site.

The Chess Variant Pages

[ Help | Earliest Comments | Latest Comments ]
[ List All Subjects of Discussion | Create New Subject of Discussion ]
[ List Latest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]

Comments/Ratings for a Single Item

Later Reverse Order Earlier
Forward Chess ZIP file. Download these files to play Forward Chess with Zillions of Games![All Comments] [Add Comment or Rating]
Michael Nelson wrote on 2004-02-05 UTC
Larry's suggestion also improves play and the code is elegant. I'm going
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
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
	Black-throne ; dummy position with a Black King

Anonymous wrote on 2004-02-05 UTC
Thanks, Peter. It finds and defends against these wins much better now.
macro I used, wtih comments:

(define King-forward (
(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
		(capture Black-throne) ; dummy position with a Black King
   	(add-create) ; another macro to make the move and create a piece
; if appropriate. Your normal move goes here.

Larry Smith wrote on 2004-02-04 UTC
Instead 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) 
(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

Peter Aronson wrote on 2004-02-04 UTC
Make 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.

Michael Nelson wrote on 2004-02-04 UTC
The 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?

5 comments displayed

Later Reverse Order Earlier

Permalink to the exact comments currently displayed.