Download BASIC mit dem Z1013

Transcript
Zeilen 140 bis 170
Der Variablen Y wird die zufällig ausgewählte Flughöhe der Ente zugewiesen. Die Variable Z
beinhaltet die Zeilenposition des Geschosses, und die Variable F fungiert als Flag, das
zunächst nicht gesetzt ist (F = 0). Die Zeile 160 besorgt bei den späteren Programmdurchläufen die "Armkorrektur", und die Zeile 170 enthält die aus insgesamt vier
Pseudografikzeichen zusammengesetzte Ente. Soll die Ente aus anderen Zeichen erzeugt
werden, so sind die Zeilen 170, 200 und 210 gleichermaßen zu ändern.
Zeilen 180 bis 210
Die Laufvariable I kennzeichnet den Entenflug von rechts nach links über den Bildschirm.
Die Darstellung des Fluges erfolgt durch Löschung der beiden rechten Positionen der Ente
in Zeile 190 und deren erneutes Setzen auf den Bildschirm in den Zeilen 200 und 210. Damit
täuscht der Z 1013 eine Bewegung vor.
Zeilen 220 bis 320
Die Bedingung in Zeile 230 sorgt dafür, daß die Schußtaste G bei einem Durchlauf nur ein
einziges Mal gedrückt werden kann. Unser Jäger verfügt also nicht über eine ZwilIings- oder
Drillingsflinte. Sobald nämlich das Geschoß abgefeuert wurde, ist der ZeiIenzähler Z für das
Geschoß kleiner als 27.
Bei Auslösung des Schusses erhält das Flag den Wert 1. Damit wird die in Zeile 260
eingebaute Zeitverzögerung außer Kraft gesetzt. Der Sinn des Ganzen besteht darin, daß
mit und ohne Geschoß auf dem Bildschirm ein Entenflug mit gleichem Tempo gewährleistet
ist. Das Geschoß selbst besteht aus dem Pseudografikzeichen mit der Codezahl 209. Es
bewegt sich stets nur senkrecht nach oben. Die Trefferüberprüfung erfolgt in Zeile 280.
Dabei werden nur die beiden unteren Zeichen, aus denen die Ente zusarnmengesetzt ist, als
Treffer akzeptiert, FIügeIschüsse also nicht. Im Trefferfall wird das Unterprogramm ab Zeile
500 aufgerufen.
Wurde kein Treffer erzielt, dann rückt das Geschoß um eine ZeiIenposition weiter nach
oben. Bei Erreichung des oberen Bildschirmrandes sorgt die Programmzeile 290 für das
Löschen des Geschosses vom Bildschirm.
Zeilen 330 bis 370
In Zeile 330 wird gefragt, ob die Ente schon 50 Durchflüge absolviert hat. Ist dies nicht der
Fall, wird der Durchlaufzähler um Eins erhöht, der Inhalt der Variablen D auf dem Bildschirm
angezeigt und mit Sprung zur Programmzeile 150 ein neuer Durchlauf eingeleitet. Durch
Verwendung der LEN- und STR$-Funktion wird in Zeile 350 eine rechtsbündige Darstellung
erreicht.
Zeilen 500 bis 560
Dieses Unterprogramm tritt bei erfolgreichem Schuß in Aktion. Dazu wird zunächst der
Trefferzähler P um Eins erhöht und die Gesamtzahl der Treffer auf dem Bildschirm angezeigt. Auf die Darstellung fliegender Federn und einer herabstürzenden Ente haben wir
verzichtet und auf die vier Zeichenpositionen nur einfache Sternchen gesetzt. Mit etwas
Phantasie und Programmieraufwand könnte natürlich auch der Hund des Jägers die
108