šzSyntax10.Scn.Fntš’’’ £Zą„ParcElemsAlloc Ęź ¼żSyntax16b.Scn.FntSyntax16.Scn.FntSyntax14.Scn.FntSyntax8.Scn.Fnt Dé’’’ £ZŠūStyleElemsAlloc Ęź ¼żAbsatzSyntax12b.Scn.Fnt Õé’’’ £ZŠū Ęź ¼żAbsatzhé’’’ £ZŠū Ęź ¼żAbsatz Syntax10i.Scn.Fnt¶é’’’ £ZŠū Ęź ¼żAbsatz æ+° $*q¬ōĮ æ ’é’’’ £ZŠū Ęź ¼żAbsatz¶Ää’’’ £Zą„ Ęź ¼żąŽÄĄæÓ šā‰ķ’’’ £Zą„ Ęź ¼ż€Źõš’’’ £Zą„ Ęź ¼żü’’’°5°5MinesElemsAllocü’’’°5°5ü’’’°5°5š’’’ £Zą„ Ęź ¼ż$ķ’’’ £Zą„ Ęź ¼żĄ9Dé’’’ £ZŠū Ęź ¼żAbsatz ķ’’’ £Zą„ Ęź ¼ż€Ž4wš’’’š¹õą„ Ęź ¼żš’’’š¹õą„ Ęź ¼ż ķ’’’š¹õą„ Ęź ¼ż Ü?Bé’’’ £ZŠū Ęź ¼żAbsatz+é’’’ £ZŠū Ęź ¼żAbsatz ķ’’’ £Zą„ Ęź ¼żĄ9ˆš’’’ £Zą„ Ęź ¼żNé’’’ £ZŠū Ęź ¼żAbsatzķ’’’ £Zą„ Ęź ¼żąś ™š’’’ £Zą„ Ęź ¼ż·ī’’’š¹õą„ą°Ą•Ū ¼ż’v$ Oberon-Mines V1.32 von Ralf Degner (C) 1.10.1995 Ein Minesweeper-Spiel f…r das Oberon System V4 Copyright: Oberon-Mines und alle Dateien in diesem Paket sind (C)opyright 1994-1995 bei Ralf Degner. Alle Rechte vorbehalten. Das Oberon-System ist (C)opyright 1990-1995 beim Institut f…r Computersysteme der ETH Z…rich. Gewƒhrleistung: Der Autor …bernimmt keine Gewƒhrleistung f…r Oberon-Mines. Die Benutzung erfolgt auf eigene Gefahr. Verbreitung: Oberon-Mines ist Cardware. Sie k„nnen es kopieren so oft Sie wollen und auf jedem beliebigen Weg verbreiten, es ist frei. Es ist nicht erlaubt, Mines in irgend einer Art und Weise zu verkaufen oder auf eine andere Art und Weise Geld damit zu verdienen. Die Dateien d…rfen nur unverƒndert verbreitet werden. Mein Copyright-Vermerk muss stets erhalten bleiben. Wenn es Ihnen gefƒllt, k„nnen Sie es in Public-Domain-Serien oder Mailboxen aufnehmen. Die Heimat von Mines ist http://sun1.rrzn.uni-hannover.de/~nhbidegn/myo4.html . Dort finden Sie stets die neuste Version von Mines. Zudem sollte sich auf dem Server der Oberon-User-Group (hades.ethz.ch pub/Oberon/OberonV4/Sources/Mines) eine aktuelle Version befinden. Das Programm: Oberon-Mines ist ein einfaches Minesweeper-Spiel, wie es aus vielen Umsetzungen bekannt ist. Ich nehme an, die Regeln sind bekannt. Bevor Sie spielen k„nnen, muss Mines compiliert werden ( Compiler.Compile Mines.Mod MinesElems.Mod ~ ). Benutzen Sie Windows (muss das wirklich sein?), so befindet sich am Anfang des Quelltextes von Mines eine spezielle Farbpalette. Gestartet wird Mines durch Ausf…hren von Mines.Open . Wenn sie das Mines Tool „ffnen ( System.Open Mines.Tool ), sehen sie, welche Kommandos Mines versteht und wie die Parameter …bergeben werden. Mit dem rechten Mausknopf kann ein Feld als Mine gekennzeichnet werden, die mittlere setzt oder l„scht ein "?" (nur eine Gedankenst…tze) und mit dem linken Mausknopf wird ein Feld umgedreht. Zwischenklick l„scht die letzte Aktion. Wird mit dem linken/rechten Mausknopf ein Feld mit einer Zahl ausgewƒhlt und dann mit der rechten/linken zwischengeklickt, werden alle Nachbarfelder, welche nicht als Mine gekennzeichnet sind, umgedreht. Durch Klicken auf den Smily …ber dem Feld kann das Spiel neu gestartet werden. Die Anzahl der noch zu findenen Minen erscheint links neben dem Smily, die vergangene Zeit rechts davon. Wenn Ihr System einen Usernamen besitzt, wird dieser bei neuen Eintrƒgen in die HiScore genutzt. Mit Mines.SetUser ^ kann jederzeit ein neuer Name eingegeben werden. Es gibt einen Farb- und einen Schwarzweiss-Modus. Es kann mit Mines.ColorMode zwischen beiden umgeschaltet werden. Welcher Modus aktiv ist, wird gespeichert. Damit der Farbmodus auch gut aussieht, muss die dazu passende Farbpalette geladen werden ( Colors.Load Mines.Pal ). M„chten Sie ihre eigene Palette verwenden, k„nnen Sie auch die Farben am Anfang des Quelltextes ƒndern. Die Windows-Version benutzt die Standard-Palette. Normalerweise wird von Mines ein Task verwendet, um die Zeit darzustellen. Das Programm merkt, ob noch ein Mines-Frame ge„ffnet ist. Ist dies nicht der Fall, wird der Zeit-Task automatisch aus dem System entfernt. Ein neues Mines-Frame installiert den Task wieder. Haben Sie etwas gegen fremde Tasks in Ihrem System, k„nnen Sie ihn auch mit Mines.TimeMode abschalten. Die Zeit wird dann bei jedem Dr…cken auf eine Maustaste in ein erlaubtes Feld aktualisiert. Auch diese Einstellung wird gespeichert. Mines besitzt eine Pause-Funktion, welche mit Mines.Pause eingeschaltet wird. Ist sie aktiv, so wird die Spielfeldgr„sse nicht mehr automatisch an die Fenstergr„sse angepasst. Sie k„nnen das Fenster also verschieben und seine Gr„sse ƒndern, ohne dass sich an ihren pers„nlichen Einstellunegn etwas ƒndert. Wenn sich eine Fenstergr„sse derart ƒndert, dass das alte Spiel nicht mehr hinein passt, wird die Pause-Funktion automatisch aktiviert. M„chten Sie das Spiel fortsetzen, rufen Sie die Pause-Funktion erneut auf. Sollte das Spiel nicht in das Fenster passen, wird eine Meldung im System.Log ausgegeben. Es besteht die M„glichkeit, das Frame zu vergr„ssern und es erneut zu versuchen. Soll trotz falscher Framegr„sse wieder ein Spiel gestartet werden, muss Mines.Pause erneut aufgerufen werden. Ein Spiel muss immer in alle Kopien des Frames passen. Den Status des Spiels k„nnen Sie am Smily erkennen. Ist er gut gelaunt :-) , so ist alles in Ordnung. Ein Spiel lƒuft oder Sie k„nnen mit einem beginnen. Ein unentschlossener Smily :-| zeigt die aktivierte Pausefunktion an. Erst die Pausefunktion aufheben, bevor es weitergehen kann. Haben Sie eine Mine getroffen, findet der Smily das garnicht gut :-( . Das Spiel ist vorbei. Sie k„nnen ein neues starten. Wenn Sie alle Minen entdeckt haben, ist der Smily begeistert und setzt seine Sonnenbrille auf 8-) ( It`s cool man! ). Eine neue HiScore wird im System.Log vermerkt. Das Mines Textelement Mines Textelemente stellen ein vollwertiges Minesweeper Spiel dar. Es kann kopiert, gel„scht, gespeichert, ... werden, wie jedes andere Textelement. Eingef…gt wird ein Element durch MinesElems.Beginner , MinesElems.Advanced , MinesElems.Expert und MinesElems.Insert . Es sind diverse ‚bergabeparameter m„glich (siehe Mines.Tool). Ein Textelement kann selektiert oder nicht selektiert sein. Ein selektiertes Element zeichnet sich durch einen gepunkteten Rahmen aus. Ein Element wird durch anklicken mit der linken Maustaste selektiert. Die Mausaktionen f…r die beiden Modi haben folgende Wirkungen (R=rechte Maustaste, M=..., L=...; zweiter Buchstabe bedeutet Interklick; nicht genannte Kombinationen wie …blich): Nicht selektiert: L = Selektiert Element M L = Oeffnet normales Mines Spiel M R = " " " " Selektiert: L = Feld auswƒhlen L R = Multiauswahl aller Nachbarfelder R = Markiert ein Feld als Mine R L = Multiauswahl aller Nachbarfelder M = Gibt aus, wieviele Minen noch gefunden werden m…ssen M L = Startet ein neues Spiel M R = Zeigt die HiScore an Sind alle Minen gefunden, wird die ben„tigte Zeit im System.Log ausgegeben. Hatten Sie die Quelltexte schon compiliert bevor dieser Text geladen wurde, erscheinen an dieser Stelle drei Mines Textelement vom Typ Beginner in verschiedenen Farben:     Drei Mineselement  Dateien in dieser Ver„ffentlichung: Mines.Mod der Quelltext MinesElems.Mod der Quelltext des Textelements Mines.Tool die Tools-Datei Mines.Menu.Text der Menutext Mines.Score die HiScore-Datei Mines.Score.Text Text zur Anzeige der HiScore Mines.Pal Datei mit Farbinformationen Mines.Text Sie lesen es gerade Mines.doc dasselbe in Englisch (bisher nur Ascii) Getestet auf: Amiga - Amiga 4000-40, OberonV4 0.10 IBM-RS6000 - OberonV4 4.1 DECstation - OberonV4 4.2 Windows 3.x - OberonV4 1.31 Bekannte Bugs: Bei eingen Umsetzungen, insbesondere ƒlteren, kann es Probleme mit den Menus geben. Sollte ein Trap oder eine anderer Fehler auftreten, l„schen Sie einfach die Datei Mines.Menu.Text. Der Fehler liegt an Compatibilitƒtsproblemen der PopUp-Elemente auf den verschiedenen Umsetzungen. Geschichte: V1.0 (04.08.1994) erste Ver„ffentlichnung (AmiNet) V1.1 (10.08.1994) Hi-Score hinzugef…gt (Mines.Score) Mines.SetUser, Mines.Ask, Mines.Score Probleme mit Mines.Menu.Text-Datei beseitigt Jetzt mit richtigem Smily und richtiger Mine SearchMore geƒndert zeigt alle Felder, wenn Mine getroffen wurde V1.15 (14.08.1994 interne Version) bessere Zufallszahlen Selektion durch Rechten-Mausknopf-Zwischenklick Farbige Grafik, Mines.Mode Eigene Palettendatei Mines.Pal V1.2 (02.09.1994) HiScore-Datei jetzt portierbar Zeitmessung auf allen Systemen korekt Restminen und Zeit werden angezeigt Modi werden in HiScore-Datei gespeichert keine Warnungen mehr beim Compilieren Zeitanzeige auch permanent m„glich Pause-Funktion (Feld wird jetzt versteckt) Zeitmessung beginnt erst nachdem ein Feld ausgewƒhlt wurde V1.21 (09.09.1994) Time-Task l„scht sich automatisch viele kleine Verbesserungen V1.3 (17.09.1994) Mines-Textelemente hinzugef…gt Pause wird bei Frameverkleinerung aktiviert Quelltext total …berarbeitet V1.31 (1.10.1994) einige Bugs im Element beseitigt neues Format f…r HiScore-Datei (alte l„schen !) V1.32 (1.10.1995) neues Layout f…r HiScore Anzeige (daf…r Mines.Score.Text zugef…gt) Probleme mit Zeit Anzeige und Task beseitigt viele kleine €nderungen am Quelltext neues Random => importiert SYSTEM nicht mehr Zu tun: Jede gute Idee, die Sie mir mitteilen. Danksagungen: Peter Landmann - f…r die Portierung des Ascii-Textes nach Mines.Text und Anregungen Richard Hable - f…r viele Bugreports und Kommentare Allen, die mir durch E-Mails mit Bugreports und Anregungen geholfen haben ! Programme vom selben Author: EditPat ein Pattern Editor mit kompfortablem Display Modul f…r mehrfarben Patterns in beleibiger Gr„sse ObTris ein Tetris Spiel f…r das Oberon System V4  Meine Adresse: Wenn Sie Mines m„gen, k„nnen sie mir Geld schicken, aber sie m…ssen nicht. Senden Sie bitte Kommentare, Ideen, Bugreports (mit genauer Rechnerangabe), h…bschere Grafiken, ... an : Ralf Degner Schillerstr. 16 D-29525 Uelzen E-Mail: degner@pallas.amp.uni-hannover.de Viel Spass mit Mines ... und an die Postkarte denken ;-)