★ APPLICATIONS ★ DIVERS ★ ANALOG-UHR ★![]() |
Analog-Uhr | Applications Divers |
Zuerst werden die Farben und Hüllkurven festgelegt, das Feld für die Ziffern der Uhr dimensioniert und ein Fenster im unteren Bereich des Bildschirms definiert. Außerdem werden die Funktionen für die Zeigerpositionen und die aktuelle Zeit definiert (100 -240). In Zeile 150 werden durch ein GOSUB 1350 die Säulen der Uhr definiert. Das GOSUB 1000 bewirkt die Definie-rung und Zuweisung der Ziffern. Als nächstes folgt die Zeiteingabe (260-360). Das GOSUB 1540 bewirkt die Ausgabe der Kopfzeile. Die Eingabe erfolgt im Format Stunde, Minute, Sekunde. Für jeden dieser Werte wird in die Eingaberoutine in 1430 gesprungen. Abzuschließen ist jede Eingabe mit ENTER, eine Fehleingabe kann mit DEL wieder gelöscht werden. Wenn eine, auf einer Analog-Uhr nicht darstellbare 'Zahl eingegeben wird, erfolgt die Ausgabe einer Fehlermeldung (1630) und die entsprechende Eingabe muß wiederholt werden. Nach Abschluß aller Eingaben wird der Wert der Variablen TIME in ,,zeit0“ als Startzeit gespeichert (damit die Uhr während des Bildaufbaus schon läuft). Der Bildaufbau (380 bis 680): Nach dem Löschen des Bildschirms wird noch-einmal die Kopfzeile ausgegeben. Danach wird sie verdoppelt. In den Zeilen 410 bis 470 werden die Säulen der Uhr auf den Bildschirm gebracht. In den Zeilen 490 bis 680 befinden sich nacheinander die Schleifen zum PRINTen der Ziffern, zum Zeichnen der Minutenstriche und zum Zeichnen der drei Kreise, welche das, Zifferblatt darstellen. Die Hauptschieife (710 bis 980): Die Positionen werden mit den vorher definierten Funktionen über die Variable TIME ausgerechnet. Die Ausgabe der Zeiger erfolgt in etwas abstrakter Weise. So ist der Sekundenzeiger nur ein weißer Punkt, welcher auf einer Kreisbahn bewegt wird. Der Minutenzeiger hat seinen Ursprung nicht in der Mitte des Zifferblattes, sondern er fängt dort an, wo der Stundenzeiger aufhört. Der zuletzt genannte sieht dagegen wieder wie ein normaler Zeiger aus. Gleichzeitig mit dem Sekundenzeiger bewegt sich die Laufschrift am oberen Rand des Bildschirms um eine Position nach links. Die Bewegungsweise der Zeiger entspricht der einer echten Analog uhr. Der Sekundenzeiger bewegt sich immer um den Faktor 1 Sekunde, der Minutenzeiger immer um den Faktor 1 Minute. Der Stundenzeiger zeigt jedoch auch Zwischenwerte an. Zu jeder vollen Stunde verzweigt das Programm in eine Unterroutine (1590 bis 1610) in der die entsprechende Anzahl von Schlägen ausgegeben wird, ohne daßdie Uhr anhält. Ingo Pax , HC
|