Game Courier supports many different games. Here is one picked at random:
Chess with Extra Bishops - FIDE Chess with Extra Pair of Bishops that Start from Same Square

Play Chess online with Game Courier

Game Courier let's you play Chess, as well as many other Chess variants, by online correspondence. Click on a button below to select the board, pieces, and rendering method you prefer. The board may be rendered as an HTML table, with CSS, or as a graphic image in the GIF, JPG, or PNG format. You may change any of these settings during the course of your game and further customize them to suit your taste. Games will normally occur asynchronously with other people online, with Game Courier keeping a record of the game, enforcing the rules, and automating castling and en passant. Moves may be entered with the mouse without any knowledge of notation.

Default Preset for Chess






The preceding presets all make use of the chess include file. This is good enough for Chess and for some games very close to Chess. But it is not versatile enough to handle Cannons, and it requires the developer of other games to program the movement of new pieces twice, once to check whether a move is legal, and once more to check whether the King is attacked by a piece. Since writing that include file, I have written an include file called chess2. Although it isn't needed for Chess, which is handled well enough by the original chess include file, it is good to have a Chess preset that uses it. For my part, it helps me test the include file to make sure it is working right. For developers, it provides a working example of how to use the chess2 include file in a preset. It's main advantages over the original chess include file are that it is more versatile and it is easier to program new pieces for use with it. If you are interested in writing rule-enforcing presets for Game Courier, I highly recommend starting with a study of the chess2 include file and the Chess preset that uses it.


Written by Fergus Duniho
WWW Page Created: 13 September 2003. 

/home1/chessvar/public_html/play/pbm/presets/chess.html
/home1/chessvar/public_html/play/pbmlogs/chess

Game Courier Logs

Game Courier Logs for Games of Chess

Click on the above link to view logs of Chess played on Game Courier.

Credits

Author: Fergus Duniho.

See also

Comments

DateNameRatingCommentEdit
UPDATED! This item is a play-by-email page,
It belongs to categories: Orthodox chess, Two dimensional
It was last modified on: 2012-04-27
 Author: Fergus  Duniho. Chess. (Updated!) (8x8, Cells: 64)
2012-04-27Fergus Duniho Verified as Fergus DunihoNone

I have just added support for the 50 moves rule in Chess. Here is how it was done. I created a counter called nopvc, which means no Pawn or capture, and set it to zero. Whenever a Pawn moved or a piece was captured, it got reset to zero. Otherwise, it got incremented by 1. In the post-game part, I compared its value with 50. This is done after checkmate and stalemate are checked for just in case the 50th move resulted in a checkmate.

Also, I realized I was using a global variable for posvar in the code for enforcing three-times repetition. So I removed the code in the post-game part for computing the value of posvar. The value it needs to be has already been set the last time posvar was given a value.

View [*]
2012-04-27Fergus Duniho Verified as Fergus DunihoNone

I have just added support for the three-times repetition rule in Chess. When a player creates the same board position for the third time, and all the same moves are available, as in castling and en passant conditions are the same, then the game ends in a draw.

Here is how it is done. At the end of each post-move section, a variable representing the current state of the game is incremented, using code like this:

set posvar join "w" join fencode boardflags;
inc #posvar;

In the post-game section, the variable name for the current state of the board is computed, and its value is compared with 3, using code like this:

set posvar join "w" join fencode boardflags;
if >= var #posvar 3:
  say Three Times Repetition! Drawn Game!;
  drawn;
endif;

The code I've shown is for White. For Black, substitute "b" for "w".

I wrote the boardflags operator today. It returns an ordered string of all the flags that are turned on and whose names match coordinate positions. The variable posvar gets set to a long string that will be used as a variable name. #posvar returns the value of posvar, and var #posvar returns the value of the variable whose name is stored in the variable posvar.

View [*]
2010-12-27M Winther Verified as M WintherNoneI've already had good use of the 'continuemove' command in my
Twinmove Chess (compulsory) and Twinmove Chess (uncompelled)
These are two attractive presets now, much easier to handle. And
these double-move variants are really interesting.
/Mats
View [*]
2010-12-26Fergus Duniho Verified as Fergus DunihoNoneI guess I lost the original versions of continuemove and redomove by overwriting a newer file with an earlier file. So I rewrote them, doing it differently this time, because I didn't remember exactly what I did before. But the functionality should be the same. Continuemove is another name for extendmove. Redomove is just like continuemove except that it does not retain any past moves. They use the same code, differing only in what they set the pastmovesfield string to. I am using the names continuemove and redomove to reflect their similarity to the continue and redo commands used for loop control. Like these commands, they are used for a kind of loop control, except that instead of the loop existing inside a single program, the loop is between moves executed by different programs. Like continue and redo, unconditional or improper use of continuemove and redomove can create infinite loops.View [*]
2010-12-25Fergus Duniho Verified as Fergus DunihoNoneIt appears I lost some changes I recently made, and I'm going to have to redo them.View [*]
Number of ratings: 4, Average rating: Good, Number of comments: 44

List all comments and ratings for this item.

Add a comment or rating for this item.


The Chess Variant Pages

http://www.chessvariants.org/play/pbm/presets/chess.html
Last Modified: Fri, 27 Apr 2012 11:39:12 -0600
[info] [links] [edit] [quick edit]