The Shadow Posted April 6, 2004 Posted April 6, 2004 Usage: Click on any row of the gameView portal and click the "Goto Game" button. Now you can select the script "Slide Show" to see that game played, at one move every two seconds. I include data for several of the Kasparov vs Deep Blue games as an example. To play your own game, choose the "New Game" script. Click on a piece to move, then click again on the destination square. The board will move the piece and fill in the chess notation for you. The board enforces who's turn it is, and that the pieces are being moved in a (mostly) legal fashion. When you finish playing - your new game is now available to watch as a slide show also! Demonstration of new FM7 features: 1) Its ONE file - containing five tables. One table contains only globals, since they are reachable from all contexts. 2) The "gameView" layout uses a cartesian product to show all records of "gameInfo" in a portal, and a button is provided to GTRR *TWO* tables away. 3) The board images is done with a single repeating field, with 64 repetitions. I use the ability to show only a portion of the reps each time the field appears on the layout (once for each row of the board). 4) 64 buttons (one per board square), all using the same script with a script parameter. 5) Custom functions: used to generate complex multi-keys for joins, generating SAN (chess notation) and other things. 6) Multi-way join with multi-keys: Used to determine legal moves using a table of rules about each type of piece and how it is allowed to move. 7) A global calculation, globals::gInitial, triggered by a change to the gMoveStart global. Limitations: - While the rules understand how the pieces can move, they don't (yet) understand that the squares in-between need to be empty. - The chess notation is more verbose than usual, normally it only includes the destination square except when that alone would be ambigious. To trim it down, the database would need to understand when only a single piece could move to the destination. - The board doesn't automatically add marks for check (+), they need to be appended manually after the move occurs. + The board *does* know how to "castle", just move the king two squares to the right or left, and the rook will be moved for you. Enjoy! FileMaker Version: Dev 7 Platform: Mac OS X Panther
Recommended Posts