_ _ ____ _ | \ | | ___ | _ \( )___ | \| |/ _ \| |_) |// __| | |\ | (_) | __/ \__ \ |_| \_|\___/|_| |___/ __ __ _ ____ | \/ (_)_ __ ___/ ___|_ _____ ___ _ __ ___ _ __ | |\/| | | '_ \ / _ \___ \ \ /\ / / _ \/ _ \ '_ \ / _ \ '__| | | | | | | | | __/___) \ V V / __/ __/ |_) | __/ | |_| |_|_|_| |_|\___|____/ \_/\_/ \___|\___| .__/ \___|_| |_| Game: NoP's Minesweeper Language: BASIC (pure Sinclair BASIC :-) Author: Santiago Romero AKA NoP/Compiler Email: sromero at escomposlinux dot org Date: 21-January-2003 Usage: Press the '1', '2' or '3' keys to start a new Easy, Normal and Hard game (determined by board size and density/number of mines). '4' key ends the current game (if playing one) and shows the minefield. You can use O, P, Q, A for movement and SPACE to open a cell. You can also use the Sinclair Joystick 1 (6, 7, 8, 9 and 0). The game rules are easy: just open all the board cells except for those containing mines. Each cell will show you if there is a mine near it's 8 neightbours with a number (i.e. 1 says you that one of it's 8 neightbours is a mine). If you open all the cells except for the mines, you win. You lose in case of discovering a mine. Comments: It lacks of speed when creating the minefield (mainly when placing mines and calculating the mine "distances" from each cell (lines 2000 to 2175). Sinclair BASIC is specially slow working with matrices and PRINTing text on the screen. I had to implement a manual STACK (pushing and poping parameters in 2 matrices manually) to allow recursive functions in sinclair BASIC. That code is very nice, but a bit slow (take a look at line 3, very nice piece of code in my opinion). I don't think this is a winner game, it's just my small try in the contest just to remember Sinclair BASIC. Maybe next game will be better... :-P CU!