     **********************************************************************
     *                                                                    *
     *                 Magic Stones                                       *
     *                 ------------                                       *
     *                                                                    *
     * written by:     Emanuel Mcklin                                    *
     *                 Zschokkestrasse 7                                  *
     *                 CH-8037 Zrich                                     *
     *                 FREDDY@ezrz1.vmsmail.ethz.ch                       *
     *                                                                    *
     * written with:   Pure Pascal 1.1                                    *
     *                                                                    *
     **********************************************************************


     Magic Stones ist ein Programm, das drei verschiedene Spiele implemen-
     tiert. Es benutzt ausschliesslich GEM Funktionen und luft deshalb auf
     jedem Atari ST(E)/TT/Falcon usw.
     Es luft als Accessory und als Programm, wurde vollstndig in Pascal
     geschrieben und hat einige programmiertechnische Spezialitten, wie
     die objektorientierte Programmierung oder die Verwaltung der Fenster
     in einer Liste.

     Nach Programmstart erscheint ein Men, in dem Sie die einzelnen Funk-
     tionen auswhlen knnen (per Maus oder mittels des Tastaturkrzels).
     Alle Menpunkte fhren dazu, dass ein neues Fenster geffnet wird,
     wobei, da die Fenster wie schon erwhnt in einer Liste verwaltet wer-
     den, beliebig viele Fenster geffnet werden knnen, falls dies das
     Betriebsystem zulsst. D.h. Sie knnen beliebig viele Tetris- oder
     Highscorefenster ffen.
     Jedes Fenster kann mittels Control U, eine Dialogbox zustzlich mit
     UNDO geschlossen werden, mittels Control W knnen Sie das nchste
     Fenster toppen, Control Q schliesst alle Fenster und beendet das
     Programm.
     Der Highscore wird automatisch abgespeichert, wenn das Hauptdialog-
     fenster geschlossen wird, d.h. beim Programm bei Programmende, beim
     Accessory beim Schliessen des Fensters.
     Jetzt noch einige Erluterungen zu den drei Spielen, der Rest sollte
     selbsterklrend sein:


     1. TETRIS.
     Zu diesem Spiel brauch ich wohl keine grossen Worte mehr zu verlieren.
     Es geht darum, die herabfallenden Steine, von denen es sieben ver-
     schiedene Arten gibt, so zu plazieren, dass eine geschlossene Zeile
     entsteht, welche dann entfernt wird, was wiederum dazu beitrgt, dass
     Sie mehr Steine platzieren knnen, da dann wieder mehr Platz vorhanden
     ist, was dazufhrt, dass Sie mehr Punkte machen knnen. Alles klar?
     Ein Stein kann nach links (Zahlenblock 4) und rechts (Zahlenblock 6)
     verschoben, rotiert (Zahlenblock 5) und fallengelassen werden (Zahlen-
     block 0). Die gleichen Funktionen sind auch mittels des Cursorblocks
     und der Spacetaste erreichbar.

     2. BITRIS
     Dieses Spiels ist hnlich wie TETRIS, nur dass hier zwei Spieler
     in einem doppelt so grossen Feld und mit zwei Steinen spielen. Sie
     spielen nicht gegeneinander, sondern miteinander. Der zweite Stein
     kann mittels A/S/D oder F/G/H oder J/K/L plus Spacetaste gesteuert
     werden (ich benutze hier Scancodes, da die Position der Tasten
     entscheidend ist, nicht was draufsteht).
     Meines Wissens gibt es dieses Spiel noch nicht in der Variante, mir
     sind nur Versionen bekannt, bei denen gegeneinander gespielt wird.
     Tip: man kann das ganze auch alleine spielen...

     3. COLUMNS
     Wieder fallen Steine herunter, die aber diesmal immer die gleiche Form
     haben. Sie bestehen aus drei Elementen, die ein bestimmtes Muster
     haben. Ziel des Spiels ist es, drei gleiche Muster entweder in der
     Horizontalen, der Vertikalen oder der Diagonalen zu erhalten. Ist dies
     erreicht, werden die entsprechenden Steine gelscht und Sie haben
     wieder Platz fr neue Steine. Sich berschneidene Dreierreihen (z.B.
     in der Diagonalen und der Horizontalen) werden ebenfalls erkannt und
     gelscht. Wenn durch das Lschen neue Dreierreihen entstehen, werden
     diese ebenfalls gelscht usw. Natrlich beschrnkt sich das ganze
     nicht nur auf Dreierreihen, auch mehr Steine in einer Reihe werden
     gelscht.
     Obwohl nicht ganz einfach zu spielen, ziehe ich ein COLUMNS dem
     Vorlufer TETRIS noch allemal vor, denn hier zhlt nicht nur schnelle
     Reaktion, sondern auch Kpfchen.


     nderungen V1.01:
     - Fenster knnen nun auch mittels Control U geschlossen werden.
     - Control Q schliesst jetzt alle Fenster und nicht nur das oberste.
     - Auch modale Dialoge knnen jetzt ber Control Q/U verlassen werden.
     - Sie knnen den Spielverlauf nun nicht mehr durch dauerndes Drcken
       einer Taste verzgern.
     - Das Programm hatte noch einige Probleme mit nicht modalen Dialogen.
     - Sowohl Columns als auch Bitris waren noch fehlerhaft, was das
       Handling der Steine anging.
     - Die Highscorefenster printen den zuletzt eingetragenen Highscore
       jetzt fett. So sehen Sie sofort, welches Spiel Sie zuletzt gespielt
       haben.
     - Die Koordinaten fr vro_cpyfm waren nicht berall korrekt.
     nderungen V1.02:
     - Nach einer ac_close Message wird nun kein wind_delete mehr aufge-
       rufen.
     - Wenn das Hauptmen mit Control U geschlossen wird, werden alle
       anderen Fenster ebenfalls geschlossen.
     - Columns hat nun 7 verschiedene Steine (vorher 5). Dies war ntig,
       weil zu viele Reihen durch Zufall entstanden. 
     - VIELE Bugs wurden eliminiert.     


     Wenn Sie sich fr den Sourcecode interessieren, schicken Sie mir eine
     formatierte Diskette oder eine E-Mail. Sie erhalten dann die neuste
     Version auf gleichem Weg zurck. Fehlerreports oder Anregungen sind
     natrlich ebenfalls willkommen.
