Since the game position is not stored server side, it must be passed back and forth between server and client in few bytes. The program reads either GET or POST mode CGI input in the usual manner. The program uses a case parameter to select the data set to use. The board status is stored in five variables, a , b , c , d and e . The values of these parameters are integers, which are bitfield representations of the board state.
Every square contains a letter X and a number n .
The program reads the CGI input and calculates the possible moves from that position. It then outputs a template containing an arrow for every possible move and a blank image where there is no possible move. Every arrow is a link to a new solitaire game where the parameters a , b , c , d and e have values representing the game when the move has been made. The image files referred to are in the resources directory. The conventional start position with the anarres dataset.