ZX-Othello ---------- (c) 2006 Matt Barber Contains the Z80 depacker for megalz V4 packed files (C) fyrex^mhm For the Sinclair Spectrum 48K/128K Version 1.1 This is an improved version to the previous submission. The changes are: Added logic to improve corner play. Removed cursor when player is not making a move. Improved graphics. Rewritten a few more routines in assembler. Description ----------- This is an implementation of the classic board game Reversi/Othello, written mostly in C with a little bit of assembler to speed the graphics along. The rules are fairly simple: 1. You have two sided tiles, black and white which you place upon the board. 2. Black goes first. The players then take turns. 3. A player has to place a tile so that it is in a square adjacent to a tile of the opposite colour. There must be an unbroken line of tiles of the opposite colour in at least one of the eight cardinal directions terminating with a tile of the player's colour. 4. The tiles thus enclosed are flipped and become the same colour as the player's tile. 5. If a player is unable to go, they must pass. 6. If neither player can go (e.g. when the board is full) the game ends. 7. The winner is the player with the most tiles on the board. An equal number of tiles is a draw. The implementation supports one player games (as either colour), two player games and also a demonstration game. The strategy the computer uses isn't terribly good; it picks randomly from the highest scoring moves. This is generally too "greedy" to beat a moderately skilled player; the computer is liable to lose mobility as a result and have any early gains rapidly overturned. More information about the game of Reversi/Othello can be found at: http://en.wikipedia.org/wiki/Reversi Controls -------- q Up a Down o Left p Right Space Select square