********************************************************************** * * * Magic Stones * * ------------ * * * * written by: Emanuel M”cklin * * Rainfussweg 7 * * CH-8038 Zrich * * peace@soziologie.unizh.ch * * * * written with: Pure Pascal * * * ********************************************************************** Magic Stones is a program that implements three different games. It uses only GEM functions and because of that it does run on any Atari ST(E)/TT/Falcon and so on. It runs as accessory and as program, was totally written in Pascal and has some specialities considering its programming like the object oriented programming or the management of the windows in a list. After it's started, a menu pops up, which allows you to choose the functions (by mouseclick or shortcut). All functions will open another window and, as the windows are managed with a list as I already mentioned, as many windows as you want can be opened if the OS allows this. That means you can open as many Tetris- or highscorewindows as you like to. Every window can be closed with control w, a dialog additionally with UNDO, the windows can be toggled with control u, control q closes all windows and quits the program. Any game can be stopped by escape. Another escape continues the game. The highscore is automatically stored if the main dialog is closed, that means when the program terminates or, if it's an accessory, when the window is closed. Now some additional explanations to the three games, the rest should be selfexplaining. 1. TETRIS. To that game, I don't have to say much. The goal is to place the falling stones, of which seven different exist, the way that you get a horiontal line. This line is then deleted and you get again space to place other stones. A stone can be moved to the left (Num 4), to the right (Num 6), can be rotated (Num 5) and drop it (Num 0). The same functions are also available with the cursor keys and space. 2. BITRIS This game is similar to TETRIS, but two players play in a field which is double as large and with two stones. They don't play against each other but togehter. The second stone can be controlled by A/S/D or F/G/H or J/K/L plus space (I'm using scancodes because the position of the keys is important, not the char). As far as I know this kind of game didn't exist up to now, I only know some kind of it, in which the players play against each one. Hint: you can also play this game without a second player... 3. COLUMNS Again stones are coming down but this time all of the same shape. They consist of three parts with different patterns. The goal is to get three equal patterns in a row diagonally, vertically or horizontally. In this case the stones are deleted and you get space for other stones. If the rows do overlap, all rows are deleted. If there result new rows after the deleting, the same procedure starts again. Natur- ally not only three stones in a row are recognized but also four, five and so on. It's not very easy to play, but I like it much more than TETRIS be- cause not only a good reaction is important. Changes V1.01: - A window can now be closed with control u. - Control Q closes now every window and not only the top one. - Also modal dialogs can now be left with control q or u. - The game can no more be delayed by pressing a key constantly. - The program had some problems with non modal dialogs. - Columns and Bitris had some bugs considering the handling of the stones. - The highscore windows print now the latest highscore boldly, so you can see, which game you played last. - The coordinates for vro_cpyfm weren't set correctly everywhere. Changes V1.02: - After an ac_close message, it does not call wind_delete any more. - If the main menu is closed by control u, all other windows are closed too. - Columns has now 7 different stones (5 up to now). This was necessary because there were too many rows by accident. - MANY bugs eliminated. Changes V1.03: - The highscore file isn't written as ASCII file any more. Nevertheless the program can load the old format, but the new one will then be written, so you would probably never have noticed this change if you didn't read it right now. - The redraw after clicking the fuller button didn't work correctly sometimes. Changes V1.04: - Control u and Control w have changed their functionality (according to the Atari guidelines). - The Randomize command of Pure Pascal does not seem to work as it should so that often the same list of random numbers was created. But without Randomize it does work even worse, so I have to set RandSeed (starting value) by my own. - Bitris had still some bugs, which could lead to a messed up window. - Up to now at the end of the game, the window was closed before the "Newhighscore" window appeared. Now both windows will be closed simultaneously. - Some problems with the sliders are removed. Changes V1.05 - Any score was claimed a highscore even if this was not true ("only" the best 99 games are registered). - The info line of the window contains now not only the score but also the rank in the highscore and how many lines have been removed (only TETRIS and BITRIS). - Escape stops now the game. Another escape continues it. If you are interested in the source code, please send me a formatted disk or an e-mail. You will then receive the newest version in the same way. Bug reports and suggestions are also welcome.