home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Extra 1996 #3
/
AmigaPlus_CD-ROM-EXTRA_Nr.3.bin
/
aminet-spiele
/
brettspiele
/
supercode
/
supercode2.05.dok
< prev
next >
Wrap
Text File
|
1994-07-28
|
21KB
|
424 lines
SuperCode Version 2.05 - Dokumentation 28.Juli 1994
Autor: Stefan Bodora
0. Über den Status des Programms
Das Programm SuperCode Version 2.05 ist Freeware. Alle Rechte
bleiben beim Autor Stefan Bodora. Es ist nicht erlaubt, Verände-
rungen an den zum Programmumfang gehörenden Dateien vorzunehmen.
Dazu zählt auch das Umbenennen der Dateien. Das Programm ist frei
kopierbar, solange folgende Regeln beachtet werden: Das Kopieren
im privaten Kreis ist erlaubt. Der Vertrieb per Datenfernübertra-
gung ebenfalls. Das Programm kann in FD-Serien und deren CD-ROM-
Derivate aufgenommen werden. Der Autor würde es begrüßen, wenn er
darüber jeweils informiert werden würde. Jeder Vertrieb kommer-
zieller Art ist untersagt und Bedarf der schriftlichen Genehmigung
des Autors. Beim Kopieren des Programmes müssen auf jeden Fall die
folgenen Dateien im Programmumfang enthalten sein:
SuperCode2.05 - Datei des ausführbaren Programms
SuperCode2.05.info - Icondatei
SuperCode2.05.dok - diese Dokumentation
SuperCode2.05.dok.info - Icondatei
WIE BEI JEDER SOFTWARE KANN AUCH BEI DIESEM PROGRAMM KEINE GARAN-
TIE FÜR DAS EINWANDFREIE FUNKTIONIEREN GEGEBEN WERDEN. DER AUTOR
ÜBERNIMMT DESHALB KEINE HAFTUNG FÜR SCHÄDEN, DIE AM DATENBESTAND
DES BENUTZERS AUFTRETEN KÖNNTEN.
1. Programmfunktion
Bei SuperCode handelt es sich um ein Spiel à la Mastermind.
Hierbei geht es darum, mit möglichst wenig Versuchen oder in sehr
kurzer Zeit eine bestimmte Farbkombination herauszufinden. Dabei
erhält man nach jedem Versuch einige Hinweise, die einem bei der
Lösung helfen.
2. Features
- komplett in deutsch
- Nutzung des Default Public Screens
- Anpassung an Screenmode (Seitenverhältnis) des Screens
- Anpassung an voreingestellten Zeichensatz des Screens
- Anpassung an Farbtiefe des Screens
- Bedienung über Maus und Tastaturkombinationen möglich
- abspeicherbare Rangliste
- letzte Position des Fensters wird in den ToolTypes abgespei-
chert und bei Neustart wieder verwendet
- Fenster kann mittels ToolType-Eintrages zusätzlich vergrößert
werden
- lauffähig ab OS 2.04 (Version 37)
- läuft ab 512 KBytes RAM
3. Geschichte des Programms
Zu Urzeiten der Programmierversuche des Autors entstand eine
Version in AmigaBasic, die allerdings der aktuellen Version nur
noch in Hinsicht der Spielregeln ähnlich und dazu noch gähnend
langsam war.
Die Version 1.00 wurde schließlich 1993 in "C" geschrieben und
stellte sein erstes C-Projekt dar. Damals fand noch die Freeware-
Version des DICE C-Compilers Verwendung. Das Programm öffnete sein
Fenster noch auf einem eigenen Bildschirm.
Die Version 1.10 behob ein paar harmlose Bugs und wurde so erwei-
tert, daß das Porgramm sein Fenster auch auf der Workbench öffnen
konnte, sofern diese mindestens 16 Farben zur Verfügung stellte.
Diese Version sollte es ermöglichen, das Spiel auch auf AGA-Amigas
mit VGA-Auflösungen oder auf Grafikkarten laufen zu lassen. Sie
stellte aber nur eine Zwischenlösung dar. Zum Beispiel war die An-
zeige je nach Auflösung unnatürlich verzerrt.
Die Version 2.00 wurde von grundauf neu entwickelt, nachdem sich
der Autor den Maxon C++ Compiler (Version 1.10.7) zulegte. Sie
hatte viele neue Features und sollte auf allen Amigas ab OS 2.04
lauffähig sein.
Die Version 2.01 behob einerseits einen Programmfehler, der das
System zum Absturz brachte, wenn die Icon-Datei nicht vorhanden
war. Es wurden weiterhin einige Optimierungen am Quelltext durch-
geführt. Schließlich wurde die Möglichkeit geschaffen, das Fenster
zu vergrößern, wenn es notwendig sein sollte.
Die aktuelle Version 2.05 ist nun in der Lage, die Farben des De-
fault Public Screens an seine Bedürfnisse anzupassen und die alten
Farben bei Programmende wiederherzustellen. Diese Funktion ist
über einen ToolType abstellbar.
Entwickelt wurde die aktuelle Programmversion auf einem AMIGA 1200
mit 2MB RAM und 170MB Harddisk unter OS/WB 3.0 (39.106/39.29).
4. Installation des Programms
Kopieren sie einfach das gesamte Verzeichnis (Schublade) oder
dessen Inhalt in ein Verzeichnis ihrer Wahl. Fertig.
5. Start des Programms
Zum Start klicken Sie einfach doppelt auf das Programmicon oder
Sie wechseln in der Shell in das Verzeichnis, indem sich das Pro-
gramm befindet und geben den Programmnamen ein:
> CD <Verzeichnis>/<Unterverzeichnis>/...
> SuperCode2.05
bzw.
> Run <NIL: >NIL: SuperCode2.05
Damit das Programm aber dann auch wirklich startet, ist davor
einiges zu beachten. Zunächst benötigt das Programm die
mathieeedoubtrans.library
im LIBS:-Verzeichnis, da es auf einige Mathematikfunktionen des
Betriebs systems zugreift.
Als nächstes ist zu beachten, welchen Darstellungsmodus und wel-
che Ausmaße der Default Public Screen (meistens der Workbench
Screen) besitzt. SuperCode skaliert nämlich sein Fenster, um die
Pixelverzerrungen, die bei verschiedenen Auflösungen entstehen,
auszugleichen. Das ist erforderlich, um Quadrate auch wie Quadrate
aussehen zu lassen. Der Effekt der Verzerrung ist am besten zu se-
hen, wenn man den Bildschirmmodus des Workbenchscreens verändert -
vormals quadratische Icons sehen danach rechteckig aus. Je höher
nämlich die Auflösung wird, umso kleiner müssen natürlich die Pi-
xel werden. Die Pixelausmaße sollen einmal anhand der PAL-Bild-
schirmmodi veranschaulicht werden:
Lores Hires Superhires
ohne **************** ******** ****
Interlace **************** ******** ****
**************** ******** ****
**************** ******** ****
**************** ******** ****
**************** ******** ****
**************** ******** ****
**************** ******** ****
Interlace **************** ******** ****
**************** ******** ****
**************** ******** ****
**************** ******** ****
Es ist ersichtlich, das ein Pixel in SuperHires viermal schmaler
ist als der entsprechende Lores-Pixel. Ein Pixel im Interlace-Mo-
dus ist nur halb so hoch wie einer ohne Interlace. Eine Skalierung
ist nur dann notwendig, wenn sich das Verhältnis von Breite zu Hö-
he verändert, da das Programm davon ausgeht, daß ein LoRes-Pixel
(ohne Interlace) auf dem Monitor eine quadratische Form hat. Da-
raus folgt, daß das Fenster bei Lores ohne Interlace und Hires In-
terlace nicht skaliert werden muß, da die quadratische Form beibe-
halten wird. Bei SuperHires (ohne Interlace) dagegen wird das Fen-
ster viermal breiter, was aber dadurch kompensiert wird, daß ein
Standard-SuperHires-Screen ohnehin eine viermal höhere horizontale
Auflösung hat. Bei SuperHires Interlace ist das Fenster dagegen
nur doppelt so breit, da hier ein Pixel zwar ebenfalls viermal
schmaler ist aber dafür die halbe Höhe hat.
Zu beachten ist noch, das der Default Public Screen duchaus
kleinere Ausmaße haben kann, als durch die Auflösung vorgeben. Zum
Beispiel ein Screen von 320x256 Punkten in SuperHires Interlace
mit 1280x512 Punkten Auflösung. Manch mal wird es also nötig sein,
die Ausmaße oder die Auflösung des Screens zu verändern, damit das
Fenster von SuperCode auch darauf paßt. Die Anpassung an die Auf-
lösung sollte eigentlich mit allen Bildschirmmodi funktionieren.
Auch auf Grafikkarten mit Workbench-Emulation müßte es funktionie-
ren.
Im Zuge der immer höheren Auflösungen werden viele Anwender auch
größere Zeichensätze verwenden, um auf dem Monitor noch etwas er-
kennen zu können. Dem trägt das Programm Rechnung indem es sich
immer an den entsprechenden Screen-Font anpaßt. Dabei wird das
Fenster ebenfalls skaliert. Das Programm bietet allerdings nicht
die Möglichkeit, auf einen kleineren Zeichensatz auszuweichen,
wenn der Screen für das Fenster zu klein sein sollte. Der Autor
ist davon ausgegangen, daß nur die Anwender große Zeichensätze
verwenden, die auch entsprechend große Auflösungen oder Screens
verwenden. Andererseits ist das Programm so optimiert worden, daß
es auf einem Hires-Screen (640x256) mit einem Font bis zur Größe
von 15 Punkten sein Fenster öffnen müßte. Bei höheren Auflösungen
kann der Zeichensatz entsprechend größer gewählt werden.
Zuletzt ist noch die Farbtiefe des Default Public Screens zu be-
achten. Sie sollte mindestens 2 Bitplanes (4 Farben) betragen. Am
besten sind mindestens 4 Bitplanes (16 Farben) da bei weniger Far-
ben die fehlenden Farbtöne als Muster emuliert werden. Muster
sollten nur bei flimmerfreien Auflösungen oder bei großformatigen
Monitoren verwendet werden.
6. Bediennung des Programms
6.1. Anzeigen und Ablauf des Spieles
Nachdem das Programm erfolgreich gestartet wurde, öffnet sich
das Hauptfenster des Programms. Es sind drei umrahmte Bereiche und
zwei Gadgets zu erkennen. Den größten Teil des Fensters nimmt der
Kombinationsbereich ein. Hier werden in insgesamt 10 Versuchen die
gesuchten Kombinationen ermittelt. Rechts oben sieht man den Farb-
auswahlbereich mit insgesamt 8 Farbauswahlfeldern. Rechts unten
sieht man die vier Lösungsfelder, in denen später die gesuchte
Farbkombination angezeigt wird.
Um ein Spiel zu starten wählt man die Funktion "Start". Dazu
klickt man auf das Gadget "Start", drückt die Taste "s", wählt den
Menupunkt "Spiel->Start" oder gibt die Tastenkombination "Rechte
Amiga + S" ein.
Nun erstellt das Programm eine vierstellige Farbkombination. Um
das Spiel einfacher zu gestalten, kommt keine der Farben doppelt
vor.
Nachdem dies geschehen ist, aktiviert das Programm das erste
Feld in der ersten Zeile des Kombinationsfeldes. Das ist daran zu
erkennen, daß das Feld jetzt "eingedrückt" erscheint. Klicken sie
nun mit der Maus auf eines der Nachbarfelder, erscheint das Feld
wieder erhöht und das angeklickte Feld wird aktiviert. Mit den
Tasten "m" , "," , "." und "-" können Sie die einzelnen Felder
ebenfalls aktivieren, wobei das "m" für das Feld am weitesten
links und das "-" demzufolge für das Feld am weitesten rechts
steht.
Wenn Sie in eines der Felder im Farbauswahlbereich klicken, er-
hält immer das gerade aktive Feld die Farbe zugewiesen, die von
Ihnen angewählt wurde. Man muß also stets erst ein Feld aktivieren
und dann die gewünschte Farbe anwählen.
Man kann dem aktuellen Feld auch seine Farbe zuweisen, indem man
eine der Tasten von "1" bis "8" anwählt. Die "1" steht dabei für
die Farbe oben links und die "8" für die Farbe unten rechts im
Farbauswahlbereich.
Hat man seine Wunschkombination erstellt muß man dem Programm
mitteilen, daß es die Kombination auf seine Richtigkeit überprü-
fen soll. Dazu klickt man auf das Gadget "Weiter", drückt die Tas-
te "w", wählt den Menüpunkt "Spiel->Weiter" oder gibt die Tasten-
kombination "Rechte Amiga + W" ein. Sollte beim ersten Versuch
noch eines der Felder leer sein, gibt das Programm eine entspre-
chende Meldung und aktiviert dieses Feld, damit der Benutzer gege-
benfalls eine Korrektur vornehmen kann. Eine Meldung erscheint
auch, wenn eine der Farben aus Versehen doppelt vorhanden sein
sollte. Hierbei wird das betreffende Feld jedoch nicht aktiviert,
sondern das zuletzt aktive Feld bleibt aktiv, da das Programm ja
nicht wissen kann, welches Feld geändert werden soll. Nachdem man
notwendige Korrekturen vorgenommen hat muß man erneut die Funktion
"Weiter" anwählen. Wenn das Programm danach nichts zu beanstanden
hat, vergleicht es die eingegebene Kombination mit der vom Pro-
gramm erstellten. Danach gibt es in dem Feld rechts neben den Kom-
binationsfeldern Lösungshinweise. Es erscheinen entweder schwarze,
weiße oder gar keine Kästchen. Ein schwarzes Kästchen bedeutet,
daß eines der Felder der Farbkombination identisch mit einem in
der gesuchten Kombination ist, also eine richtige Farbe an der
richtigen Position aufweist. Ein weißes Kästchen hingegen zeigt
an, daß ein Feld zwar eine Farbe hat, die auch in der gesuchten
Kombination vorkommt, aber leider an einer falschen Stelle steht.
Es erscheinen maximal 4 Hinweiskästchen. Wenn die richtige Kombi-
nation gefunden wurde, sind demnach 4 schwarze Kästchen zu sehen.
Nach der Kontrolle der Kombination wird immer das erste Feld der
nächsten Zeile aktiviert, solange bis man seine 10 Versuche hinter
sich hat oder die gesuchte Kombination gefunden hat. Mit Hilfe der
bisherigen Lösungshinweise kann man in dieser Zeile weiter kombi-
nieren.
Oftmals kommt es vor, daß man in einem neuen Versuch nur einem
einzigen Feld eine neue Farbe zuweisen möchte. Dabei ist es oft
umständlich, die Farben, die sich nicht verändern jedesmal neu
einzugeben. Als Abhilfe besitzt SuperCode das Feature, ab dem 2.
Versuch die Farben des letzten Versuchs in die genau darunter lie-
genden leeren Felder zu übernehmen sobald man die Funktion "Wei-
ter" gewählt hat. Man muß also nur noch die eine gewünschte Farbe
verändern, die restlichen werden in die leeren Felder übernommen.
Wenn man eine Kombination erfolgreich gefunden hat, erhält man
eine entsprechende Mitteilung mit der benötigten Zeit in Sekunden.
Sollte man eine neue Rekordzeit haben erscheint nach dem Wegklik-
ken des Requesters ein Fenster, in dem man seinen Namen für die
Rangliste (oder auf Neudeutsch "Highscore") eingeben kann. Um das
Fenster zu schließen drücken Sie bei aktiviertem String-Gadget die
Returntaste oder klicken auf das Schließsysmbol des Fensters
Wenn man die Kombination in 10 Versuchen nicht gefunden hat, er-
scheint ebenfalls eine Mitteilung und man erfährt die bis hierher
benötigte Zeit in Sekunden. Das Spiel ist nun beendet und man kann
erneut ein neues Spiel starten.
Auf jeden Fall wird nach Beendigung eines Spieles die gesuchte
Farbkombination angezeigt, damit man den Spielablauf noch einmal
nachvollziehen kann. Erst bei dem Start eines neuen Spieles werden
alle Anzeigen in ihren Ursprungszustand versetzt.
6.2. Abbruch eines laufenden Spieles
Dies ist möglich indem man die Funktion "Stop" wählt. Dazu wählt
man den Menüpunkt "Spiel->Stop" oder gibt die Tastenkombination
"Rechte Amiga + T" ein. Diese Funktion ist natürlich nur bei einem
gerade laufenden Spiel anwählbar. Die gesuchten Farben werden
hierbei jedoch nicht angezeigt.
6.3. Programminfo
Über die Funktion "Über" können Sie sich ein kurzes Info zur ak-
tuellen Programmversion anzeigen lassen. Wählen Sie hierzu den Me-
nüpunkt "Spiel->Über..." oder geben Sie die Tastenkombination
"Rechte Amiga + Ü" ein. Diese Funktion ist nur anwählbar, wenn ge-
rade kein Spiel am laufen ist.
6.4. Programm beenden
Um SuperCode zu beenden, wählen Sie den Menüpunkt "Spiel->
Ende...", geben die Tastenkombination "Rechte Amiga + E" ein oder
klicken auf das Schließsymbol des Fensters. Nach einer Sicher-
heitsabfrage beendet sich dann das Programm.
6.5. Rangliste
Wenn Sie den Menüpunkt "Rangliste->Zeigen..." anwählen oder die
Tastenkombination "Rechte Amiga + R" eingeben wird Ihnen in einem
neuen Fenster die aktuelle Rangliste angezeigt. Durch einen Klick
auf das Schließgadget verschwindet das Fenster wieder.
Immer, wenn SuperCode beendet wird, speichert es die aktuelle
Rangliste automatisch in der Datei "SuperCode.dat" in dem Ver-
zeichnis, in dem sich auch die gestartete Programmdatei von Super-
Code befand, ab. Wenn Sie die Rangliste löschen wollen, können Sie
einfach diese Datei löschen. Das Programm findet die Datei beim
nächsten Start nicht mehr und verwendet für die aktuelle Rangliste
eine interne Vorgabe mit einfachen Werten.
6.6. Fensterposition
Wie bereits am Anfang erwähnt wurde, speichert das Programm beim
Beenden auch die letzte Fensterposition ab. Diese Werte finden
sich danach in den Tooltypes "WINDOWLEFTEDGE=" und "WINDOWTOPEDGE="
wieder. Sie können die Zahlenwerte nach Belieben ändern und so an
Ihre Bedürfnisse anpassen oder auch die Tooltypes löschen. Im
letzteren Fall positioniert das Betriebssystem das Fenster für die
jeweils nicht angegebene Koordinate.
6.7. Skalierung des Fensters
Ab Version 2.01 ist es möglich, das Programmfenster mittels ei-
nes ToolType-Eintrages zusätzlich zu vergrößern. Dies ist manchmal
nötig, wenn bei sehr hohen Auflösungen sehr kleine Zeichensätze
verwendet werden. Das hat zur Folge, daß das Fenster nicht vergrö-
ßert wird, da dies ja nur bei großen Zeichensätzen geschieht. Da-
bei können die Gadgets natürlich zum Teil sehr klein auf dem Moni-
tor erscheinen und die Bedienung wird umständlicher, von der Un-
terscheidung der einzelnen Farben ganz zu schweigen.
Jetzt ist es möglich, das Fenster von 100% bis 500% zu skalie-
ren. Tragen Sie dazu den reinen Zahlenwert hinter dem ToolType
"WINDOWSCALING=" ein. Sollten die Werte unsinnig oder zu groß ge-
wählt worden sein, steht beim nächsten Programmstart wieder der
Defaultwert "100" dahinter. Bitte beachten Sie hierbei, daß sich
die 100% auf die Größe eines bereits an Auflösung und Zeichensatz
angepaßten Fensters beziehen.
6.8. Farbänderungen beim Programmstart
Während der Entwicklungsphase des Programmes stieß der Autor auf
das Problem, daß die Farbpalette des Workbench-Bildschirms bei
manchen Anwendern so schlecht gewählt sein kann, insbesondere,
wenn die Workbench ein Hintergrundbild geladen hat, daß die Farben
der Farbkombinationen nur sehr schwer zu unterscheiden sind. Dem
wird ab der Version 2.05 entgegengewirkt indem das Programm beim
Starten die Farben des Public Screens verändert. Normalerweise
sollen sich Gastprogramme auf einem Pubscreen nicht dermaßen ver-
halten. Deshalb stellt SuperCode jedesmal, wenn das Fenster deak-
tiviert wird die alte Bildschirmpalette wieder her. Wenn das Fen-
ster aktiviert wird, werden wieder die eigenen Farben benutzt.
Es wird immer die Farbpalette restauriert, die der Screen vor der
erneuten Aktivierung des Fensters hatte.
Ein Problem kann hierbei jedoch auftreten, wenn man zwei Super-
Code-Fenster, aus welchem Grund auch immer, auf demselben Public
Screen geöffnet hat. Wenn man nämlich mit der Maus direkt von ei-
nem Fenster in das andere klickt, nimmt das Programm mit dem akti-
vierten Fenster an, daß die vom anderen Programm eingestellten
Farben die originalen Farben des Screens sind, da daß Programm,
dessen Fenster deaktiviert wurde die alten Farben nicht schnell
genug wiederherstellen konnte. Wenn jetzt die beiden Programme
beendet werden stellt jedes die Screenfarben auf die SuperCode-
Farben, da es ja davon ausgeht, daß das die Originalfarben sind.
Um die Farbänderung total abzuschalten können sie dem Programm-
icon das Tooltype "DONOTCHANGECOLORS" hinzufügen.
7. Kontake, Bug-Reports und mehr
Sollten bei Benutzung des Programms irgendwelche Fragen oder
Probleme, besonders bei Verwendung von Grafikkarten, auftreten
oder das Programm fehlerhaft arbeiten, können Sie sich an folgen-
de Adresse wenden:
Stefan Bodora
Teterower Ring 96
12619 Berlin
Der Autor ist jederzeit offen für Änderungsvorschläge oder Anre-
gungen. Er sucht ständig Kontakt zu anderen C- und besonders C++ -
Programmierern. Sollte jemand Interesse am Sourcecode des Program-
mes haben, kann er sich an den Autor wenden.
Der Autor dankt Ch. Rickers für das Testen des Programms und für
die Unterstützung, die er durch ihn erfahren hat.
Viel Spaß mit dem Programm!