Help file for Oxo3d version 1.11 ================================ Oxo3d is Copyright (C) Nick Craig-Wood 1995 Oxo3d is a 3 dimensional noughts-and-crosses player for the Psion 3a range of computers. It is supplied as two files OXO3D.TXT - this file OXO3D.OPA - the executable License ======= Oxo3d (The Software) is Copyright (C) Nick Craig-Wood 1995 (NCW) and may not be used or copied except as in accord with the terms and conditions below. You may NOT Make the Software available to any third party EXCEPT with these terms and conditions imposed on said party. You may NOT Make the Software available to any third party EXCEPT at no benefit to yourself or any third party, excepting that benefit contained within the Software. You MUST make sure the Software is distributed whole, intact and unmodified, including all the files in the original distribution. You may NOT may not sell, hire or include the Software in a package which is sold or hired, modify, translate, disassemble, decompile, reverse engineer, or create derivative works based upon the Software or include whole or part of the Software into other works. The Software is supplied "as is", NCW makes no warranty, express or implied, as to the merchantability or its fitness for any particular purpose. It may or may not perform in accordance with the documentation or your expectations. In no circumstances will NCW be liable for any damage, loss of profits, goodwill or for any indirect or consequential loss arising out of the use of the Software, or inability to use the Software, even if NCW has been advised of the possibility of such loss. These conditions supersede any prior agreement, oral or written, between you and NCW relating to the Software. You agree that except for written separate agreements between NCW and you, this agreement is a complete and exclusive statement of the rights and liabilities of the parties. You acknowledge that you have read this agreement, that you understand this agreement, and by loading, running or copying the Software you agree to be bound by this agreement's terms and conditions. Introduction ============ Oxo3d is a program to play 3 dimensional noughts-and-crosses (or tic-tac-toe). This is a game with considerably more strategy than the more common 3x3 version. The very first version of this game was written 10 years ago now on a Sinclair ZX81 in BASIC. It used to take 60 seconds to think of a move, and it used to beat the author nearly all of the time. However computing has moved on, and the Psion 3a version plays at a much higher strength in only 4 seconds or so. The author has improved too! Oxo3d is written in interpreted OPL. In order to get it to run fast enough, a complicated heuristic has been developed for the computer player. The player does only one move of look-ahead, but even so plays well enough to beat most people most of the time. A 2 level look-ahead version was developed, but it took too long to play so development concentrated on the heuristic player. In a faster language (C or assembler) a version with look-ahead would be feasable, and would certainly play even better. Installing Oxo3d ================ Copy the file OXO3D.OPA to any APP directory and install it using Psion-I as normal. (See the user guide if you are in doubt.) This should produce an icon in the system screen (or whichever group you installed it in). Using Oxo3d =========== Move the highlight in the system screen to under the Oxo3d icon and press return. The computer will be busy for a short while and then will produce a dialogue box as below. +-------------------+ | New Game | +-------------------+ | * Level Hard | - select level Hard, Medium or Easy | * Sound On | - beep on or off | * Go first Yes | - you first or psion first | | | Cancel Play | - Esc to cancel | Esc Enter | - Enter to play +-------------------+ This dialogue box can be shown at any time with Psion-N, or selected off the menu as New Game. Select your options and press Enter to start the game. The screen will clear and a representation of the board as below will appear (see the section on playing the game for interpretation of the board). [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] If you selected No to Go first then the psion will think for a short while before placing its X. You now place your O by moving the cursor around the board with the arrow keys and pressing enter. When you do this a O will appear on the board and the psion will think of a reply to your move, moving the cursor to the position in which it went. When one player or the other wins, the winning line will be highlighted and the game will pause. To start a new game select the New Game off the menu or press Psion-N. To exit the game select Exit from the menu or press Psion-X. Menus and other options ======================= Oxo3d has a standard menu available when the menu keu is pressed. It has two headings +-------------------+ | Oxo 3d | +-------------------+ | About =A | - shows the version number of Oxo3d | Help =H | - shows help for Oxo3d (as does the help button) | Options =O | - shows the options dialog | New Game =N | - starts a new game | Previous Go =P | - shows the last move made | Exit =X | - exits Oxo3d +-------------------+ and +-------------------+ | Cheat | +-------------------+ | Undo =U | - undoes the last move | Redo =R | - redoes the last move | Place X Shift=X | - puts an X on the board at the cursor position | Place O Shift=O | - puts an O on the board at the cursor position | Erase Shift=E | - puts a blank on the board at the cursor position +-------------------+ Options ======= When the game is running it is possible to change the options by selecting Options off the menu or Psion-O. This will produce a dialog box +-------------------+ | Oxo 3d Options | +-------------------+ | * Level -Hard- | - select level Hard, Medium or Easy | * Sound On | - beep on or off +-------------------+ Previous Go =========== Previous Go from the menu or Psion-P will show where the last move was. If your press it again then it will show the move before than. Cheating ======== Oxo3d has a comprehensive cheat system. However using any of these features will brand you a cheat very visibly on the screen! Other Keys ========== Pressing the diamon button will rotate the cube (see the how to play section for an explanation). There are 3 possible rotations and these are shown in the diamond section in the top right of the screen. Pressing Help will bring up some help for Oxo3d. Pressing Ctrl-Menu will change the size of the status window at the right hand side of the screen. This increased the size of the playing area slightly. How to play 3D Noughts-and-Crosses ================================== You are O and it is your object to get 4 in a row to win the game. The Psion takes X and it will be trying to do likewise. The board is a 4x4x4 area arranged into a cube. Oxo3d represents that as a board like this. [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] Layer 1 Layer 2 Layer 3 Layer 4 Each groups of 4x4 positions represents one plane on the cube. To play the game you have to imagine these stacked one on top of the other to form a cube. . . . . . . . . . . Layer 1 . . . | . . | . . . Layer 2 . . | . | . | . . . Layer 3 . . | . | . | . . . Layer 4 . . . | . . On each layer there are 10 possible winning lines, 4 horizontal, 4 vertical and two diagonal, for example [X][ ][ ][ ] [X][ ][ ][ ] [ ][ ][ ][ ] [X][ ][ ][ ] OR [ ][X][ ][ ] OR [X][X][X][X] [X][ ][ ][ ] [ ][ ][X][ ] [ ][ ][ ][ ] [X][ ][ ][ ] [ ][ ][ ][X] [ ][ ][ ][ ] However lines may run from layer to layer also. A vertical line might be shown [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][X][ ][ ] [ ][X][ ][ ] [ ][X][ ][ ] [ ][X][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] Or a diagonal line across an outside face might be [X][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [X][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [X][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [X][ ][ ][ ] Or an internal diagonal line might be [X][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][X][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][X][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][X] There are 76 lines in total possible, these are 4x4 = north-south lines, 16 east-west lines, 16 vertical lines, 2x4x3 = 24 diagonal lines from one edge to another, and 4 diagonal lines from corner to corner. Oxo3d can help with visualising the cube. If you press the diamond button while the program is running, then it will rotate the cube. There are 3 rotations, and there are only 4 lines (the ones running from corner to corner) which cannot be brought onto a single slice of the cube in the 3 rotations. For instance the 3 views of a diagonal line from one edge to another are [ ][X][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][X][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][X][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][X][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [X][ ][ ][ ] [ ][X][ ][ ] [ ][ ][X][ ] [ ][ ][ ][X] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [X][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][X][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][X][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][ ] [ ][ ][ ][X] [ ][ ][ ][ ] [ ][ ][ ][ ] In the third view the line of 4 is clearly visible. Contacting the Author ===================== If you have a problem with Oxo3d, it goes wrong in some fashion, or you just want to say thanks, then get in touch with the author. Email: ncw@axis.demon.co.uk Post: Chalk Barton Shere Road West Horsley Leatherhead Surrey KT24 6EW UK Nick Craig-Wood 24 May 95