Fischer Random Shuffle Library

Microsoft Windows Version

Copying frshuf

Introduction

The Fischer Random Shuffle consists of 960 opening positions, where the pieces on the chess board are arranged in a random pattern according to a set of rules.

frshuf creates a static library of subroutines for generating the 960 opening positions for Fischer Random chess. The main subroutine in this library is called shuffle(). This subroutine creates a list of opening positions in random sequence. From this list of opening positions, you can create draw sheets for each round in a tournament, where Fischer Random chess is played. For example, board 1 in each round takes the first position on the list. Board 2 takes the next position on the list. This is repeated until all the boards for each round are assigned.

On the other hand, if you are playing a game against a computer, you can run the frshuf.exe program to generate a list of FEN positions. These FEN positions can be loaded into a chess playing program, one at a time, allowing you to play a game according to the current position.

Some programs, like Chess Master, have their own board position format. frshuf.exe creates a board position file that Chess Master can read.

Frshuf.exe Design

frshuf.exe is designed to save a single output file with as few mouse clicks and keystrokes as possible. The only window used is the common file save dialog screen.

The dialog screen shows three file types:

File Type Extension
List file .TXT
FEN file .FEN
Chess Master Board Position .CMP

The Fischer Random Shuffle permutation will be saved to disk, and you will get a confirmation message box.

If you cancel out of the file save dialog window, click on CANCEL, and you will get a cancellation message box.

The program exits automatically after the confirmation dialog box.


Batch Programs

The following programs duplicate the functions of frshuf.exe in batch.

File Type Program
List file FRSLST.EXE
FEN file FRSFEN.EXE
Chess Master Board Position CHMAST.EXE

The output from these programs prints to standard output.


References

Chess Life (magazine)
March, 2004, page 6.
UPC: 0-73361-64631-6   03

Describes a way of creating a Fischer Random Shuffle position with coin flips.


Charles Petzold
Programming Windows 95
4th Edition
ISBN: 1-55615-676-6

The fourth edition is cited because of the information it contains on batch compiles. This information is omitted in the fifth edition.


Network Working Group
Request for Comments: RFC-1321
The MD5 Message-Digest Algorithm
by Professor Ronald L. Rivest
MIT Laboratory for Computer Science
and RSA Data Security, Inc.
April, 1992

md5 is used to hash the randomizing seed in frshuf.lib.