Spectrum ” > Ba RrınTal, EEE vn N
Programme zum Lernen und Spielen
Sinclair ZX Spectrum
Sinclair /X Spectrum
Programme zum Lernen und Spielen
T. Hartnell
Originalausgabe in Englisch.
Zuerst erschienen 1982 by Sinclair Browne Ltd., 10 Archway Close, London N 19 3TD Titel der englischen Ausgabe: The ZX Spectrum Explored
Original Copyright © 1982 Tim Hartnell
Deutsche Übersetzung: Wolfgang Dederichs, Hattingen
Umschlaggestaltung und Satz: tgr — typo-grafik-repro gmbh., remscheid Gesamtherstellung: Druckerei Hub. Hoch, Düsseldorf
Der Verlag hat alle Sorgfalt walten lassen, um vollständige und akkurate Informationen zu publizieren. SYBEX-Verlag GmbH, Düsseldorf, übernimmt keine Verantwortung für die Nutzung dieser Informa- tionen, auch nicht für die Verletzung von Patent- und anderen Rechten Dritter, die daraus resultieren. Hersteller behalten das Recht, Schaltpläne und technische Charakteristika ohne Bekanntgabe an die Öffentlichkeit zu ändern. Für genaue technische Daten auf dem neuesten Stand wird der Leser an die Hersteller verwiesen.
ISBN 3-88745-022-1 1. Auflage 1983
Alle deutschsprachigen Rechte vorbehalten. Kein Teil des Werkes darf in irgendeiner Form (Druck, Fotokopie, Mikrofilm oder einem anderen Verfahren) ohne schriftliche Genehmigung des Verlages reproduziert oder unter Verwendung elektronischer Systeme verarbeitet, vervielfältigt oder verbreitet werden.
Printed in Germany Copyright © 1983 by SYBEX-Verlag GmbH, Düsseldorf
TOEWOH Kr sa sa Riesa nr ner ne nd 0 ee ee Er EINUENE =. 0 00 nn ER u Rune awann uh
1 Die Inbetriebnahme des ZX Spectrum .........2.20.
2 Programmieren in Basic ..:.::.::: 22mm Programme: Stein, Schere, Papier Stein, Schere, Papier (in Farbe) Schreibübungen
3 Experimente mit den Farben des ZX Spectrum .........
Programme: Überlagerung Berechnung der Attribute Regenbogen Farben Netzwerk Eisstern Sternenhimmel Zufallskreise Bowlingkugel Kegel Dreieckszeichner
4 Der ZX Spectrum als Musikinstrument .....:... 222.0. Programme: Musikant Klavier Komponist Feuer 1,2und3 Spaziergang Bombe Frequenz/Zeitdiagramm Frequenzdiagramm Musikalische Malerei
5 Der Gebrauch des Spectrum im kaufmännischen Bereich Programme: Privatausgaben Terminkalender Telefonverzeichnis Datenbank Finanzplan
6 Sinclair ZX Spectrum
6 Der Spectrum als Lehr- und Lernmittel ........ 2.2... 83 Programme: Divisionsübungen Rechen-Quiz Ergänzungen zur Division Gleichungen Katzen und andere Dinge Französische Vokabeln Quizmaster Lesetest Dudelsack
7 Der Spectrum als Spielpartner ....::: 2: 222m. 132 Programme: Nächtlicher Überfall
Rebenklau Gedicht Meteoriten Schädelacker Ausbruch Spielfieber Hindernisrennen Zellteilung Simulation
8 Dreidimensionale Grafik ....:::: 22. 185 Programme: Dreidimensionale Darstellung
9 Erläuterungen zum Maschinencode ........ 2: 2 2220. 195 10 Ein Leitfaden für besseres Programmieren ........... 207
ABRSBEM : cu aan un Re nr un mr en 213 Geschichtlicher Überblick
AI » una n nu „ uu Kan heetbete 217 Peripherie-Geräte
Anal : : 2“; 5: WE RE En ET er ne 221 Der Spectrum in Stichworten
Vorwort
Ein Blatt Papier erhält seine individuelle Bedeutung erst durch den Inhalt — obes sich nun um ein Sonett von Shakespeare oder um die Kritzeleien eines Kindes handelt. Genauso verhält es sich mit dem Computer: So lei- stungsfähig der Computer auch sein mag, wirkliche Bedeutung erhält er erst durch das, was der Programmierer aus ıhm macht. Daher wird klares und sorgfältiges Programmieren immer mehr an Bedeutung gewinnen. Die Aufgabe dieses Buches ıst es, da anzuknüpfen, wo unser Spectrum- Handbuch aufhört. Kein Handbuch kann erschöpfend sein und unseres kann nur Grundlegendes über das Programmieren aussagen. Dieses Buch zeigt an Hand von Programmbeispielen, wie Sie fachgerecht programmie- ren; eine Fertigkeit, die Sie sich ohne diese Hilfe ın jahrelanger, mühevol- ler Kleinarbeit aneignen müßten. Das vorliegende Buch eignet sich daher sowohl für den Leser, der gerade erst mit dem Programmieren angefan- gen hat, als auch für den erfahrenen Leser, der seine Programmierfähig- keiten noch erweitern möchte.
8 Sinclair ZX Spectrum
Danksagung
Eine Reihe von Bekannten hat mir geholfen, dieses Buch zu schreiben. Ich möchte ihnen herzlich dafür danken, daß sie mir ihre Erfahrung zur Verfügung stellten. Dadurch konnte ich dieses Buch weit verständlicher schreiben, als wenn ich mich ausschließlich auf meine eigene „Geschick- lichkeit“ verlassen hätte. Auch einige Bücher, die von Fall zu Fall am En- de eines Kapitels aufgeführt sind, haben sich als nützlich erwiesen und können dem Leser helfen, sein Wissen zu einzelnen Themen zu vertiefen. Beiträge zu spezifischen Kapiteln dieses Buches kamen von folgenden Mitarbeitern:
Mike Salem, Geschäftsführer von Hilderbay, einer der führenden Fir- men, die für ZX kaufmännische Software herstellen, half mir bei der Einführung in das kaufmännische Kapitel und bei den fachlichen Er- läuterungen im Anhang;
Jeff Warren, ein erfahrener Lehrer und Leiter der Software-Gesellschaft für Erziehung und Bildung CALPAC Computer-Software, half mir entscheidend beim Kapitel „Der Spectrum als Lehr- und Lernmittel“. Fünf der Programme stammen aus seiner Feder.
Tım Rogers ist Student aus Richmond, der seiner Begeisterung für Com- puterspiele im Spiele-Kapitel freien Lauf ließ und der die Spiele Nächtlicher Überfall, Rebenklau, Meteoriten und Ausbruch schrieb.
Jerry Ruston, ein weiterer Student, wurde bisher mit drei Büchern be- kannt: Pascal for Human Beings, The BBC Micro Revealed und The Book of Listings (eine BBC-Veröffentlichung, die er mit mir zusam- men schrieb). Sein Beitrag zu diesem Buch ist das Kapitel über dreidi- mensionale graphische Darstellungen.
Dr. Tim Langdell, ein erfahrener Programmierer aus West Dulwich, der regelmäßig für die Zeitschriften „Your Computer“ und „ZX Computing“ schreibt und gegenwärtig ein Forschungsprojekt über in- telligente Maschinen leitet, schrieb die Kapitel über Ton und Farbe.
James Walsh, ein Student aus Loughton, der gegenwärtig zwei Bücher schreibt (eines über Computerbau von Grund auf und ein anderes über den Gebrauch von Maschinencodes beim Spectrum), ist verant- wortlich für die Beantwortung von Leserfragen in der Zeitschrift „Per- sonal Computer World“ und prüft die Software für meine eigene Zeit- schrift „ZX Computing“. Er schrieb im vorliegenden Buch das Kapitel über den Maschinencode.
Zum Schluß möchte ich noch Clive Sinclair danken, nicht nur dafür, daß er den Spectrum und seine Vorgänger erfand, ohne den es mir und hun- derttausend anderen nicht gelungen wäre, die Computerwelt zu betreten, sondern auch für seine Ermutigung und tatkräftige Hilfe.
Einführung
Die Fertigstellung des Oxford University Press Lexikons dauerte 70 Jah- re, weil seine Übersetzer absolut jedes englische Wort sowie alle Bedeu- tungen darin aufnehmen wollten. Mir wurde klar, daß es mir beim vorlie- genden Buch über den Sinclair ZX Spectrum ähnlich ergehen könnte, wenn ich auf jede Möglichkeit, für die der Computer geschaffen ist, einge- hen wollte. Deshalb habe ich mich darauf beschränkt, die wesentlichen Grundzüge des Programmierens beim Spectrum darzulegen und nur die Gebiete zu behandeln, auf denen Sie höchstwahrscheinlich Ihren Compu- ter anwenden möchten.
Viele meiner Bücher enthalten die ständig wiederkehrende Bemerkung: „Dieses Buch ist zur praktischen Anwendung und nicht zum Lesen be- stimmt.“ Damit will ich sagen, daß das Buch nicht wie ein Roman gelesen, sondern als Werkzeug zum unmittelbaren Gebrauch am Computer ver- wendet werden sollte. Sicher wird Ihnen das bloße Durchlesen schon et- was bringen, aber den richtigen Nutzen haben Sie erst, wenn Sie das Buch lesen, dabei den Spectrum eingeschaltet haben und jeweils die Program- me eingeben, zu denen Sie im Text kommen.
Es besteht kein zwingender Grund, das Buch von A-Z in der vorliegen- den Reihenfolge der Kapitel durchzuarbeiten. Es gibt sicher einiges, was Sie bereits wissen oder jetzt noch nicht wissen wollen. Überfliegen Sie dann in diesem Fall die betreffenden Kapitel, wenn Sie das erste Mal das Buch durcharbeiten, und kommen Sie später darauf zurück.
Wıe auch immer, betrachten Sie dieses Buch über den Sinclair ZX Spec- trum nicht als Lehrbuch. Lehrbücher sind oft abschreckend trocken, neh- men dem Leser jeden Spaß am Inhalt, und das wäre das letzte, was ich die- sem Buch wünschen würde. Es ist eher als Wegweiser zum Computerge- brauch zu verstehen, auf Gebieten, in denen wahre Abenteuer auf Sie warten. Mit einer solchen Einstellung können Sie viel Freude mit Ihrem Spectrum haben.
Zunächst werfen wir einen Blick auf die Grundlagen des Programmierens und gehen dann dazu über, Farbe und Ton ins Spiel zu bringen. Wir be- nutzen dabei Befehle, mit denen der Computer Effekte erzielt, an die wir nicht einmal im Traum gedacht hätten.
Als nächstes werden die Bereiche „Büroanwendungen“ und „Erziehung“ behandelt, jeweils mit einer Reihe ausführlicher Programme. Danach folgt ein größeres Kapitel über Spiele. Es enthält einige Spiele, die Sie so- fort starten können, und soll Ihnen Ideen geben, wie Sie selbst Spiele ent- wickeln können. Im Spiele-Kapitel ist auch erklärt, wie der Benutzer ei- gene Grafiken erstellen kann.
10 Sinclair ZX Spectrum
Ein noch eindrucksvollerer Gebrauch der hochauflösenden Grafik des Spectrums ist im folgenden Kapitel über dreidimensionale Darstellungen erläutert.
Zum Schluß sehen wir uns den Maschinencode beim Spectrum an. An- schließend folgen noch einige Tips, wie Sie Ihren Programmierstil verbes- sern können.
Im Anhang befindet sich ein historischer Abriß über die Entwicklung von Computern, eine Erläuterung der damit verbundenen Fachausdrücke und eine Beschreibung der Besonderheiten des Spectrum.
Möge Ihnen dieses Buch in den kommenden Monaten ein verständlicher Führer und eine wesentliche Hilfe werden, um aus Ihrem Computer für Sıe das Beste zu machen.
Viel Spaß beim Programmieren!
Tım Hartnell London, im September 1982
11
Kapitel 1
Die Inbetriebnahme des ZX Spectrum
Wenn Sie Ihren Computer ausgepackt haben, werden Sie zunächst viel- leicht etwas überrascht sein: Wie! Dieser kleine Kasten soll einen Compu- ter enthalten und dazu noch mehr als 48000 Speicherplätze? Das sieht eher aus wie eine Schreibmaschinentastatur ohne Schreibwerk. Nachdem sich die erste Überraschung etwas gelegt hat, werden Sie sehen, was alles zum Gerät dazugehört:
12 Sinclair ZX Spectrum
Zunächst einmal brauchen Sie einen Fernseher, denn ohne einen Bild- schirm können Sie nicht sehen, was der Computer alles macht und kann.
An der Rückseite des ZX Spectrum befinden sich eine Reihe von Steck- buchsen. Eine davon trägt die Aufschrift TV. Nehmen Sie jetzt das Ka- bel, welches auf der einen Seite in diese Steckbuchse paßt und auf der an- deren Seite in den Antenneneingang Ihres Fernsehers gesteckt werden muß. Mit diesem Kabel wird die Verbindung zwischen Ihrem ZX Spec- trum und dem Fernseher hergestellt. Der ZX Spectrum ist so ausgelegt, daß er über dieses Kabel Bilder an den Fernseher „sendet“. Wenn Sie jetzt den Fernseher einschalten, sehen Sie nur Geflimmer auf dem Bild- schirm. Ihr Spectrum sendet noch nichts; er ist noch nicht eingeschaltet.
Für den ZX Spectrum wird ein eigenes Netzgerät mitgeliefert. Auf der ei- nen Seite hat es den normalen Netzstecker für 220 Volt, auf der anderen Seite geht das Verbindungskabel ab, welches den ZX Spectrum mit Strom versorgen soll. An der Rückseite rechts ist hierfür eine Steckbuchse vor- gesehen, die mit „IV DC“ beschriftet ist. (Achtung: Wenn Sie noch einen Drucker oder ein weiteres Gerät gekauft haben, stellen Sie diese Geräte bitte erst einmal auf die Seite. Auf keinen Fall dürfen Sie diese Geräte an den ZX Spectrum anschließen, wenn er unter Strom steht. Also immer erst den Netzstecker herausziehen!)
Sobald der ZX Spectrum über das Netzgerät mit dem Stromnetz verbun- den ist, sendet er ein Bild an den Fernseher auf Kanal 36. Sie können jetzt
Die Inbetriebnahme des ZX Spectrum 13
versuchen, Ihren Fernseher auf den richtigen Empfang einzustellen. Es muß dann unten der Text „© 1982 Sinclair Research Ltd.“ erscheinen. Begnügen Sie sich zunächst einmal mit diesem Bild, selbst wenn es Ihnen etwas unscharf vorkommt. Wenn Sie längere Zeit mit dem Computer ex- perimentiert haben, werden Sie genügend Gelegenheit haben, die für Sie richtige Einstellung bei vollem Bildschirm zu finden.
Tippen Sie jetzt ruhig mal ein wenig auf der Tastatur herum. Auf dem Bildschirm erscheinen dann eine Reihe von Zeichen und Wörtern. An- fangs werden die gummiartigen Tasten für Sie noch etwas ungewohnt sein. Aber nach einiger Übung dürfte dies für Sie schon leichter von der Hand gehen. Vielleicht haben Sie schon bemerkt, daß bei einigen Tasten gleich ganze Wörter erscheinen. Diese Eigenschaft wird für das Program- mieren später eine sehr wesentliche Erleichterung darstellen. Wenn Sie bei Ihren Tipp-Ubungen zuviel Durcheinander auf dem Fernsehbild- schirm erzeugt haben, können Sie den Rechner ruhig einmal aus- und wie- der einschalten und noch ein paar Experimente durchführen.
Der ZX Spectrum als Taschenrechner
Einiges wird Ihnen sicherlich bekannt vorkommen. Tippen Sie einfach mal die folgenden Tasten (das + erhalten Sie, wenn Sıe die SYMBOL SHIFT-Taste gedrückt halten und dazu die Taste tippen, auf der das +- Zeichen steht):
PRINT €
+ 6 ENTER
und schon liefert Ihnen der Computer das Ergebnis: nämlich 13. Er hat al- so wie ein Taschenrechner funktioniert. Sie mußten lediglich vorweg das Kommando PRINT eingeben und hinterher statt des gewohnten Gleich- heitszeichens ein ENTER. Versuchen Sie mal einige andere Beispiele und geben Sie statt 7 + 6 die folgenden Aufgaben ein:
PRINT 1 + 4ENTER PRINT8/2 ENTER PRINT 12/4 ENTER PRINT3*4x5 ENTER
Der ZX Spectrum läßt sich also wie ein normaler Taschenrechner verwen- den.
Wir können die Gelegenheit benutzen und rasch ein paar Aufgaben lö- sen, die uns im täglichen Leben immer wieder begegnen: Z.B. soll die
14 Sinclair ZX Spectrum
Mehrwertsteuer zu einem Nettobetrag von 250 DM berechnet werden. Bei einem Mehrwertsteuersatz von 14% ergibt das
PRINT 250 x 14 ENTER Dieser Betrag muß noch durch 100 geteilt werden. Die Mehrwertsteuer beträgt dann 35 DM. Als nächstes sollen die Zinsen berechnet werden, die Sie für 250 DM bei
einem Zinssatz von 5% nach einem Jahr erhalten:
PRINT 250 x 5 ENTER PRINT 1250/100 ENTER
Sıe erhalten also nach einem Jahr 12,50 DM Zinsen.
Als letztes Beispiel soll der Rechner noch die Summe der Zahlen von 1—10 bilden:
PRINT 1+2+3+4+5+6+7+8+9+10 ENTER
Das Ergebnis lautet 55.
Wenn Sie sich vertippt haben, hilft im Moment nur, den Rechner auszu- schalten und alles noch einmal zu tippen. Wie wir uns weiter helfen kön- nen, werden wir im weiteren Verlauf noch sehen.
Der Anschluß eines Kassettenrecorders
Auf der Rückseite des ZX Spectrum befinden sich zwei Steckbuchsen mit der Aufschrift „EAR“ und „MIC“. Die Buchse „EAR“ muß mit dem ent- sprechenden Ausgang am Kassettenrecorder verbunden werden. Die Verbindung der Buchse „MIC“ mit dem Mikrofoneingang am Recorder benötigen wir noch nicht.
Wir sind jetzt ın der Lage, Programme von Kassette zum ZX Spectrum zu übertragen. Bei einigen Geräten wird eine Beispielkassette mitgeliefert. Diese enthält zwei Programme:
ein Programm mit Schreibübungen sowie ein Programm mit einigen Spielen.
Um ein Programm in den Rechner zu holen, müssen wir dem Rechner „Bescheid sagen“. Mit den Angaben
LOAD ““ ENTER
sagen wir dem Rechner, daß gleich vom Kassettenrecorder ein Programm überspielt wird. Schalten Sie jetzt bitte den Recorder ein und spielen Sie
Die Inbetriebnahme des ZX Spectrum 15
die Kassette ab. Der ZX Spectrum analysiert die Signale, die vom Kasset- tenrecorder kommen, und baut die Signale in Programmbausteine um. Auf dem Bildschirm erscheinen eine Reihe von Streifen, die erst wieder verschwinden, wenn das Programm vollständig im Rechner angekommen ist. Vielleicht haben Sie beim ersten Mal Pech mit der Übertragung. Das Laden von Programmen klappt nicht immer auf Anhieb. Die Klangfarbe sollte auf hell eingestellt sein und die Lautstärke etwa auf 2/3 stehen. Eventuell sind mehrere Versuche erforderlich, bis Sıe die richtige Einstel- lung herausgefunden haben. Wenn das Programm einwandfrei geladen wurde, befindet es sich jetzt im Rechner und kann mit
RUN ENTER
gestartet werden.
Nun wollen Sie sicher noch wissen, wie das Programm auf die Kassette ge- kommen ist. Verbinden Sie hierzu bitte die Buchse mit der Aufschrift „MIC“ mit dem Mikrofoneingang Ihres Kassettenrecorders. Bei einigen Recordern empfiehlt es sich, den anderen Anschluß (EAR) solange aus- zustöpseln. Tippen Sie jetzt
SAVE NAME“
Bevor Sie ENTER tippen, schalten Sie bitte Ihren Recorder auf Aufnah- me. Danach überspielt der ZX Spectrum das Programm in Form von Ton- signalen zum Kassettenrecorder. Wieder erscheinen Balken auf dem Fernseher, bis die Übertragung abgeschlossen ist. Wenn Sıe jetzt hören wollen, was der Computer übertragen hat, können Sie sich das Stück mal vorspielen.
Damit sind wir in der Lage, die Programme aus diesem Buch auch auf Kassetten zu speichern und nach Belieben wieder in den Rechner zu la- den. Sie können selbstverständlich auch mehrere Programme hinterein- ander auf die Kassette packen. Wenn Sie jedem Programm einen Namen geben, können Sie später gezielt mit dem Befehl
LOAD “NAME“ ENTER
das gewünschte Programm wieder von der Kassette in den Rechner ho- len.
Der Anschluß des ZX Druckers
Bevor Sie jetzt den Drucker anschließen, müssen Sie bitte erst den ZX Spectrum ausschalten! Andernfalls könnte er durch einen Kurzschluß be- schädigt werden. Also erst den Netzstecker ziehen! Jetzt können Sie Ih- ren Drucker hinten an den Spectrum anschließen.
16 Sinclair ZX Spectrum
Zur Grundausstattung des Druckers gehört eine Rolle Papier. Hierbei handelt es sich um aluminiumbeschichtetes Spezialpapier. Beim Druck- vorgang werden aus der Aluminiumschicht Punkte durch elektrischen Kontakt herausgebrannt.
Wir können unsere Rechenexperimente von vorhin wiederholen. Alles, was oben auf dem Bildschirm erscheint, kann auf dem Drucker festgehal- ten werden. Wir brauchen dazu nur die Taste COPY (unten links) und an- schließend die Taste ENTER zu tippen. Damit ist der Drucker einsatzbe- reit und wir können jederzeit alles auf dem Papier festhalten, was augen- blicklich auf dem Bildschirm erschienen ist. Das gilt auch für Bildschirm- grafik!
i a i i
17
Kapitel 2
Programmieren ın BASIC
BASIC ist die weltweit bekannteste Programmiersprache, weil diese Sprache sehr leicht zu lernen ist. Computersprachen werden in verschie- dene Kategorien eingeteilt: „Höhere“ Sprachen stehen der menschlichen Ausdrucksweise näher, während Programmiersprachen auf der unteren Ebene mehr maschinenbezogen arbeiten und der Arbeitsweise des Com- puters nahekommen, der aus einer Fülle verdrahteter Nullen und Einsen besteht.
BASIC ist eine „höhere“ Sprache. Selbst wenn Sie zu diesem Zeitpunkt keine Programmier-Erfahrung haben, werden Sie sicher erleichtert sein, wenn Sie hören, daß Sie bereits ein bißchen BASIC können:
Wörter wie PRINT (Drucken), STOP und LIST (Liste) bedeuten das gleiche in BASIC wie im Englischen. Ebenso ist es mit den Wörtern IF (falls), THEN (dann) und OR (oder). Wie Sie sehen, ist Programmieren einfacher, als Sie gedacht haben.
Wenn Sie ein Programm schreiben, geben Sie dem Spectrum eine Anzahl Befehle, die er ausführen soll. Wie alle Computer heute, hat der Spec- trum erstaunliche Fähigkeiten, zu rechnen und Entscheidungen zu tref- fen, aber absolut kein eigenes Denkvermögen. Wenn Sie dem Computer etwas befehlen, führt er es aus. Wenn Sie einen Teil der Befehle auslas- sen, wird er versuchen den Rest zu befolgen, ohne zu merken, daß etwas fehlt.
Stellen Sie sich vor, Sie hätten einen Roboter als Diener und er sollte Ih- nen Badewasser einlassen. „Geh ins Badezimmer“ könnte der erste Be- fehl in seinem Programm lauten. „Wenn die Badewanne leer ist, dann drehe den Wasserhahn auf. Wenn die Badewanne voll ist, drehe den Was- serhahn zu.“ Der Roboter würde glücklich ins Badezimmer schreiten, sei- ne elektronische Hand in die Badewanne stecken, feststellen, daß sie leer ist und den Wasserhahn aufdrehen. Er würde dann stehenbleiben und warten, bis das Wasser eingelaufen ist, und dann den Wasserhahn wieder
18 Sinclair ZX Spectrum
zudrehen. Aber weil Sie den Befehl „Schau nach, ob der Stöpsel im Aus- fluß ist“ und „Falls der Stöpsel nicht im Ausfluß ist, stecke den Stöpsel in den Ausfluß“ vergessen haben, denkt der Roboter nicht von sich aus dar- an.
Genauso arbeitet der Spectrum. Er befolgt nur eingegebene Befehle. Die Befehle, die der Spectrum versteht, sehen so ähnlich aus, wie die Befehle, die der Roboter ausführen sollte, allerdings auf Englisch.
Hier ist ein einfaches Programm für den Spectrum, das Sie sicherlich auch ohne Programmier-Erfahrung verstehen werden:
LETA=20 LETB=A+A IFB = 40 THEN PRINT “B ist gleich 40“
Das klingt zwar wie einfaches Englisch, aber es ist auch BASIC. Die erste Zeile des Programms liest sich etwa so: Setze A = 20; die zweite heißt dann: Setze B auf das doppelte. Die dritte Zeile ähnelt einem Befehl an den Roboter: Falls (IF) Badewanne leer, dann (THEN) drehe Wasser- hahn auf; falls (IF) B = 40 dann (THEN) gib aus „B ist gleich 40“. Sie könnten dieses Programm fast schon Ihrem Spectrum eingeben.
Sie müssen nur noch eine Zahl vor jede Zeile setzen, damit aus ihnen ein Programm wird. Das sieht dann so aus:
10 LETA=20 20 LETB=A+HA 30 IFB = 40 THEN PRINT “B ist gleich 40“
Den einzelnen Zeilen kann jede beliebige Zahl (zwischen 1 und 9999) zu- geordnet werden. Sie werden vom Computer automatisch in der richtigen Reihenfolge sortiert. Ein guter Rat lautet, die Zeilennummern in Zehner- schritten zu vergeben. So bleibt noch genügend Platz, um später einzelne Zeilen zwischenzufügen.
Jetzt haben Sie schon etwas Übung mit den BASIC-Ausdrücken LET, IF, THEN und PRINT. Das Gleichheits- und das Pluszeichen kennen Sie si- cher aus der Mathematik. Sie haben beim Programmieren mit BASIC meistens die gleiche Bedeutung wie beim Rechnen.
Bevor wir etwas programmieren, sollten Sie noch einen weiteren BASIC- Ausdruck kennenlernen. Er besteht eigentlich aus zwei Wörtern und wird Ihnen schon bekannt sein: GO und TO.
In BASIC werden sie immer zusammen verwendet als GO TO und mit ei- ner Taste (der G-Taste) dem Spectrum eingegeben. Sie erinnern sich, wir leiteten unser „Badewasser-einlassen-Programm“ mit dem Befehl „Gehe
Programmieren in BASIC 19
ins (GO TO) Badezimmer“ ein. Beim Programmieren geben wir den Be- fehl: Gehen Sie zu einer Zeile mit der Nr..., also z.B. GO TO 10.
Wir können unserem dreizeiligen Programm (s.o.) noch eine Zeile 40 hinzufügen:
40 GOTO3O0
Jetzt würde der Computer erst Zeile 30 ausführen und „B ist gleich 40“ an- zeigen. Dann würde er zur Zeile 40 weitergehen und dort den Befehl GO TO 30 vorfinden. Ohne nach Gründen zu fragen, würde er „GO TO 30“ ausführen, nach Zeile 30 gehen und erneut „B ist gleich 40“ anzeigen. Dann würde er wıeder nach Zeile 40 vorrücken, wo er wieder den Befehl „GO TO 30“ ausführen würde usw. bis in alle Ewigkeit, oder bis der Bild- schirm voll wäre mit den Worten „B ist gleich 40“.
Jetzt wird es Zeit, daß wir den Spectrum wieder anschalten.
Die Tastatur des Spectrum sıeht sonderbar aus! All diese merkwürdigen Wörter wie MERGE und VERIFY undall die mathematischen Ausdrük- ke, wie SIN und COS! Aber keine Angst: Was Sie in der Schule gelernt (und vielleicht inzwischen vergessen) haben, kommt jetzt wieder. Sie werden sich sehr schnell mit der Tastatur auskennen und, wie es in der Werbung für den Vorgänger des Spectrum heißt, „sich bald mit ihm wie mit einem alten Freund unterhalten“.
Die Tastatur
Zwei der wichtigsten Bestandteile der Tastatur sind die Shift-Tasten. Sie befinden sich auf der unteren Reihe: die CAPS SHIFT-Taste (weiß) fin- den Sie in der linken unteren Ecke, und die SYMBOL SHIFT-Taste (rot) ist die zweite von rechts in der rechten unteren Ecke. Von der Schreibma- schine her werden Sie die Funktionsweise dieser Tasten schon kennen. Diese Tasten entscheiden darüber, was aus der verwirrenden Fülle von Wörtern und Symbolen auf dem Bildschirm angezeigt werden soll.
Tippen Sie jetzt, nachdem der ZX Spectrum eingeschaltet ist, irgendeine weiße Buchstabentaste. Auf dem Bildschirm erscheint das Wort, welches auf der Taste steht (z.B. LOAD, LIST, PRINT). Solch ein Wort wird Schlüsselwort genannt. Das System der Schlüsselwörter ist eine der Ursa- chen, weshalb der Spectrum einen so guten Gebrauch von seinem Spei- cher macht. Diese Eigenschaft macht das Programmieren so leicht. In- dem Sıe eine Taste drücken, haben Sie schon das ganze Wort eingegeben. Bei den meisten anderen Computern müssen Sie Worte wie LIST, DIM oder FOR voll ausschreiben.
Drücken Sıe jetzt gleichzeitig die CAPS SHIFT- und die DELETE-Taste (in der oberen rechten Ecke), bis alles, was Sie bis jetzt geschrieben ha- ben, gelöscht ist.
20 Sinclair ZX Spectrum
Drücken Sie jetzt die P-Taste. Es erscheint das Wort PRINT. Drücken Sie dann einige beliebige Zahlen-Tasten, und Sie sehen unten auf dem Bildschirm den Ausdruck PRINT in Verbindung mit einer Zahl, z.B. PRINT 62735. Drücken Sie jetzt die Taste mit der Aufschrift ENTER. Der Bildschirm wird gelöscht und die gesuchte Zahl erscheint oben auf dem Bildschirm. Jetzt erst hat der Spectrum den Befehl ausgeführt und ei- ne Zahl ausgegeben (PRINT). Bevor der Spectrum irgendetwas tut, war- tet er nämlich so lange, bis Sie die ENTER-Taste gedrückt haben.
Wir geben jetzt ein einfaches Programm ein, um zu demonstrieren, wie das System der Schlüsselwörter benutzt wird. Vorab tippen Sie bitte die CAPS SHIFT-Taste und dazu die Taste 2. Hierdurch wird die Tastatur ge- nerell auf Großbuchstaben (CAPital letterS) eingestellt:
10 INPUT (drücken Sie die I-Taste) A (drücken Sie jetzt ENTER,
um anzuzeigen, daß Sie die Programmzeile abgeschlossen haben) 20 PRINT A (drücken Sie ENTER) 30 GOTO 10 (drücken Sie ENTER)
Merken Sie sich, daß das Wort PRINT mit der P- und der Begriff GO TO mit der G-Taste geschrieben wird. Die Leerstellen werden vom ZX Spec- trum automatisch eingebaut. Wenn Sie das alles in Ihren Computer einge- geben haben, geben Sie ihm mittels der R-Taste das Signal zum Start — das Wort RUN erscheint auf dem Bildschirm — und drücken Sie dann ENTER. Ein blinkender Cursor erscheint unten auf dem Bildschirm als Zeichen dafür, daß der Computer auf eine Zahl wartet. Geben Sie eine Zahl ein und drücken Sie dann ENTER. Jetzt sehen Sie Ihre Zahl oben auf dem Bildschirm. In Erinnerung an die „GO TO Badezimmer“-Dis- kussion vorhin wissen Sie, daß die Schlußzeile des Programms (Zeile 30) den Computer zur Zeile 10 zurückgehen läßt. Wenn Sie ihn nicht stoppen, macht er jetzt immer weiter. Sie können ihn aber auch durch einen Trick stoppen: Geben Sie statt einer Zahl irgendeinen Buchstaben (außer A) ein. Dann schreibt der Computer unten auf dem Bildschirm eine Fehler- meldung aus und stoppt.
Jetzt tippen Sie die A-Taste, drücken ENTER und der Bildschirm wird wieder frei. Nur die Copyright-Notiz unten auf dem Bildschirm bleibt ste- hen. Das Schlüsselwort der A-Taste heißt NEW (neu) und löscht im Com- puter alles bis dahin Gespeicherte. Deshalb müssen Sie diese Taste mit größter Vorsicht benutzen.
Jetzt wissen Sie, daß Sie die weißen Schlüsselwörter durch einen entspre- chenden Tastendruck schreiben können, wenn Sie vorher eine Zeilen- nummer eingegeben haben.
Nun zu den roten Begriffen auf den Tasten. Drücken Sie gleichzeitig die SYMBOL SHIFT- und die Y-Taste. Das Wort AND erscheint auf dem Bildschirm. Drücken Sie die G-Taste gleichzeitig mit der SYMBOL
Programmieren in BASIC 21
SHIFT-Taste und es erscheint das Wort THEN. Soviel zu den roten An- gaben auf den Tasten. Zeichen wie +, ’ und $ bekommen Sie, wenn Sie gleichzeitig SYMBOL SHIFT und die Taste des gewünschten Zeichens drücken.
Die grünen Wörter über den Tasten werden eingeschaltet, wenn Sie beide SHIFT-Tasten gleichzeitig drücken, wieder loslassen und dann erst die gewünschte Wort-Taste berühren. Versuchen Sie es! Wenn Sie zuerst CAPS SHIFT- undSYMBOL SHIFT-Taste zugleich drücken, wieder los- lassen und danach die A-Taste drücken, müßte das Wort READ erschei- nen.
Etwas schwieriger ist es, die roten Wörter unter den Tasten zu erhalten. Drücken Sie gleichzeitig beide SHIFT-Tasten, lassen Sie dann CAPS SHIFT los, aber halten Sie SYMBOL SHIFT weiter heruntergedrückt. Drücken Sie dann die X-Taste. Das Wort INK erscheint. Üben Sie das ein wenig, um sicherzugehen, daß das Wort INK (oder BEEP, PAPER, FLASH oder BRIGHT) auch immer erscheint. Das gleichzeitige Drük- ken der beiden Shift-Tasten dient also als einmaliger Umschalter für die gesamte Tastatur. Es gelten dann nur die über bzw. unter der jeweiligen Taste angegebenen Bezeichnungen.
Lesen Sie sich noch einmal den ganzen Abschnitt durch und wiederholen Sie jede Übung, bis Sie alles verstanden haben. Zwar wird Ihnen alles zu- nächst sehr kompliziert und langwierig vorkommen, aber Sie werden dann doch überrascht sein, wie schnell Sie das Tastatursystem begriffen haben. Dieses Einführungskapitel schließt mit einem Programm, das Ih- nen beibringt, wo sich die Buchstaben-Tasten auf dem Spectrum befin- den. Es soll Sie zum Tippen ermutigen. Doch vorher sollen Sie das erste wirkliche Programm in diesem Buch vorgestellt bekommen. Auch wenn das Eintippen erst einmal viel Zeit beansprucht, halten Sie bitte durch. Nach der Eingabe des ganzen Programms drücken Sıe RUN und spielen ein Spiel mit dem Spectrum.
Das Programm STEIN, SCHERE, PAPIER ist eine Computerversion des Spiels, in dem zwei Spieler erst eine Hand hinter ihrem Rücken ver- stecken und wenn sie sie wieder zeigen, ein Symbol für Stein (eine ge- schlossene Faust), für Schere (zwei ausgestreckte Finger) oder für Papier (flache offene Hand) zeigen. Der Stein schlägt die Schere (weil er sie schleifen kann), die Schere schlägt das Papier (weil sie es schneiden kann) und das Papier schlägt den Stein (weil es ihn einwickeln kann). Mit den Zahlen 1, 2, oder 3 geben Sie ein, ob Sie Stein, Schere oder Papier wäh- len. Das gewünschte Wort erscheint dann oben auf dem Bildschirm.
Noch ein paar nützliche Ratschläge, bevor Sie das Programm eingeben: Sıe erhalten das kleine Copyright-Zeichen in Zeile 20, indem Sie erst bei- de SHIFT-Tasten drücken, dann die SYMBOL SHIFT-Taste unten hal- ten und gleichzeitig die P-Taste drücken. Das Gleichheitszeichen (ab Zei- le 30) erhalten Sie, wenn Sie die SYMBOL SHIFT-Taste herunterdrük-
22 Sinclair ZX Spectrum
ken, festhalten und dann die L-Taste drücken. Denken Sie daran, nach je- der Programmzeile ENTER zu drücken. Nur so kann die Zeile vom unte- ren Teil des Bildschirms nach oben ins Programm rutschen. Wenn das nicht klappt, erscheint ein flackerndes Fragezeichen irgendwo in der Zei- le. Damit signalisiert der Computer, daß Sie in der Zeile einen Fehler ge- macht haben. Suchen Sie an der Stelle, an der das Fragezeichen aufflak- kert, nach dem Fehler. Sie können mit den Pfeil-Tasten in der Zeile nach links oder rechts zu der fehlerhaften Stelle gehen, den Fehler mit DELETE beseitigen, Ihre Berichtigung eingeben und danach erneut ENTER tippen.
Der Doppelpunkt (:) nach dem Wort CLS (Clear Screen = Löschen Bild- schirm) in Zeile 60 befindet sich auf der Z-Taste. Drücken Sie dafür gleichzeitig die SYMBOL SHIFT- und die Z-Taste. Zeile 70 enthält ein einzelnes Apostroph (’) nach dem Wort PRINT, vor dem Anführungszei- chen (“). Für das einzelne Apostroph müssen Sie gleichzeitig SYMBOL SHIFT und die Taste 7 drücken. Die Anführungszeichen erhalten Sıe ebenso mittels der P-Taste.
Vorsicht, die Zeile 170 ist etwas schwierig in den Computer zu bekom- men. Nach 170 LET C = brauchen Sie das Wort INT. Tippen Sie nicht Buchstabe für Buchstabe ein, sondern holen Sıe es von der R-Taste. Drücken Sie beide SHIFT-Tasten, lassen Sie sie los, drücken Sıe dannR, und INT erscheint auf dem Bildschirm. Die offene Klammer befindet sich auf Taste 8 (drücken Sie gleichzeitig SYMBOL SHIFT und Taste 8), und das Wort RND erhalten Sie von der T-Taste. Drücken Sie beide Tasten gleichzeitig, lassen Sie sie los, und drücken Sie dann T. Das Sternchen (x), mit dem in BASIC multipliziert wird, kommt von der B-Taste. Sıe erhal- ten es, indem Sie SYMBOL SHIFT gleichzeitig mit der B-Taste drücken.
Die Wörter AND, OR, THEN und TO erhalten Sie, indem Sie die SYMBOL SHIFT-Taste gleichzeitig mit der in Frage kommenden Buch- stabentaste drücken. Geben Sie jetzt das Programm ein, bevor Sie weiter den Text durchgehen.
E
REF STE
Li FRINT "RUNGE NUMMER "
7 _ =; Eı
=
“ =
STEIN" 23 ‘ kayz = HERE" "3 - PARIER" "BITTE LIAEHLEN:
1 FH ur Mi EDEN
IT bi "SIE WAEHLEN ” IF be 4. THEN PRINT " STEIN"
Der afı Se
Programmieren in BASIC 23
IF b=2 THEN FRINT "SCHERE" IF b=Ö3 THEN PRINT "PRPIER" FALSE Sie LET <=IMT IRNDb#S] +1 PRINT "ICH WREMLE "; Ir PRINT "STEIN"
J FRINT "SCHERE"
PRINT "PRPIER"
FRIMHT ""UMNEHNTSG
DO :S ANc b== ÜRr c<o=z AHNo 6 HC E=1l THEM FRIMNT °""I ı11*": LET c<comp=comp+l
£
ZN TAMIHNMIMMHEERHREHH
A IF b=1 AHHo == ÜR b=Z2 ANo IF b=Z5 ANc c=1l THEM FRINT "" IE GELINMEN!!!": LET ZPi==Pi +1 zen PRIMT ""RUNKTE" * * " ESF co mr; TAE 1a, "SIE: ";=Pi FALSE 1m HE=T 3 IF zFı=comp THEN FRIMT 'FIEL AR UMEMNT=SCHIEDENT! " zFi:iccomp THEM FRIMT ° "" or DIES ES SFIEL GELÖONNEHT" coampxi=Fi THEHN FRIFT °""5 DIES ES =FIEL GELÖNNENT"
na]
Tı
MET Fer
ILS:
FH LE=lL!
H
So sieht dann beispielsweise der Spielverlauf aus:
RINDE HUMMER 7 - STEIN -— SCHERE - PRPIER EITTE \IAEHLEN: 1,2 ÜCbER 3 SIE WAEHLEHN FRAFIER ICH LIAEHLE SCHERE
ICH GELIHNMET N! FÜHKTE
ICH> 2
Sinclair ZX Spectrum
Zu jeder Programmzeile folgt jetzt eine kurze Erläuterung:
10
20
30
40
50
60
709- 90
100
Diese Zeile startet mit REM, was soviel wie Bemerkung (RE- Mark) bedeutet. REM signalisiert, daß alles, was sich direkt daran anschließt, nur den Leser angeht; der Computer übergeht alles, was auf das Wort REM folgt.
Auch dies ist eine REM-Bemerkung. Sie wird ebenfalls nicht be- achtet.
LET bedeutet in BASIC etwa soviel wie „setze“. Das Wort COMP (Kurzform von Computer) wird als Variable verwendet. Variablennamen setzen sich aus einer beliebigen Kombination von Buchstaben und Zahlen zusammen (angefangen mit einem Buchstaben). Der Variablen COMP wird ein numerischer Zah- len-Wert zugeordnet (oder gleichgesetzt). COMP enthält hier den Punktestand des Computers und ist am Anfang des Spiels gleich Null.
Diese Zeile enthält die Variable SPI für den Punktestand des Spielers.
FOR... Damit fängt eine FOR/NEXT-Schleife an. Der Com- puter durchläuft eine solche Schleife so oft, wie es die letzte Zahl des FOR-Befehls zuläßt. Sehen Sie sich Zeile 280 weiter unten an (NEXTA). Hier ist das Ende der FOR/NEXT-Schleife. In diesem Programm muß der bedauernswerte Computer zehnmal hintereinander die gleiche Strecke von Zeile 50 bis Zeile 280 zu- rücklegen. Dabei führt er jedesmal alle im Programm enthalte- nen Befehle aus.
CLS gibt, wie Sie schon wissen, den Befehl: Bildschirm löschen (s.0.). Der Doppelpunkt gibt Ihnen die Möglichkeit, dieser Zei- le einen zweiten Befehl hinzuzufügen. Der PRINT-Befehl folgt als zweiter Befehl in dieser Zeile. Daraufhin werden die Wörter in den Anführungszeichen auf den Bildschirm geschrieben. Da- zu schreibt der Computer den Wert von A. Der erste Durchgang durch die Schleife A entspricht der 1, der 2. Durchgang ist gleich 2 usw., bis A beim letzten Durchgang durch die Schleife gleich 10 ist. Mit dem Befehl PRINT „RUNDE NUMMER “; A wird auf dem Bildschirm „RUNDE NUMMER 4“ angegeben, je nachdem, welchen Wert A gerade hat.
Diese drei Zeilen schreiben die Zahlen 1 bis 3 und das dazuge- hörige Wort (wie z.B. „Stein“). Beachten Sie in Zeile 70 das Apostroph (Taste 7). Das hat zur Folge, daß auf dem Bildschirm eine Leerzeile zwischen den Worten „RUNDE NR. 4“ und „1 —- STEIN“ entsteht.
Das Apostroph wird wieder dazu benutzt, um vor dem Befehl „BITIE WÄHLEN: 1,2 ODER 3” eine Leerzeile zu erhalten.
Programmieren in BASIC 25
110
120
1930- 150
160
170
180
190-— 210
220
230
Der INPUT-Begriff wartet darauf, daß Sie eine Zahl eingeben. Bei diesem Spiel ist die Zahl, die Sie eingeben, der Variablen B zugeordnet.
Es erscheinen die Worte: „SIE WÄHLEN: “
Diese drei Zeilen interpretieren die eingegebene Zahl (1, 2, oder 3, jeweils B zugeordnet). Hier wird entschieden, welches Wort (Stein, Schere oder Papier) auf dem Bildschirm ausgege- ben wird.
Durch den PAUSE-Befehl sieht es so aus, als ob der Computer mal kurz „nachdenkt“. Die Zahl hinter dem Wort Pause gibt an, wieviel fünfzigstel Sekunde (in den USA sechzigstel Sekunde) die Pause dauert. PAUSE 50 bedeutet demnach, daß der kurze Stopp eine Sekunde andauert. Bei PAUSE 0 wartet der Spec- trum eine unbegrenzte Zeit, bis Sie irgendeine Taste drücken.
Jetzt wird’s interessant! Der Computer erzeugt in dieser Zeile eine Zufallszahl. Solche Zahlen sind in Spielprogrammen sehr nützlich. Die RND-Funktion (drücken Sie beide SHIFT-Tasten und dann die T-Taste) gibt Ihnen eine beliebige Zahl zwischen O0 und 1 an. Tippen Sie z.B. PRINT RND und danach die ENTER-Taste. Dann erhalten Sie eine Zahl zwischen O0 und 1. Zeile 170 wandelt das Ergebnis zu einer ganzen Zahl zwischen 1 und 3 ab. Falls die 3, die auf das eingeklammerte Sternchen folgt, z.B. in eine 10 umgewandelt würde, dann würde C eine vom Computer ausgewählte beliebige Zahl zwischen 1 und 10 zugeordnet werden. Bei diesem Spiel wollen wir, daß der Com- puter 1, 2, oder 3 wählt. Also multiplizieren wir RND mit 3. Mit INT erhalten wir den ganzzahligen Anteil, also 0, 1 oder 2, und addieren anschließend eine 1.
Diese Zeile sagt uns, was der Computer gewählt hat.
Diese Zeilen wandeln die Zahlen 1, 2 oder 3, die C zugeordnet sind, in die Wörter Stein, Schere und Papier um.
Die Variable D wird dem Wert 260 zugeordnet. Das hat zur Fol- ge, daß der Computer am Ende der Zeilen 230 und 240 (Befehl: GO TO D) zur Zeile 260 weitergeht. Da der Spectrum ganz ger- ne rechnet, könnten Sie auch (obwohl es eigentlich unsinnig ist) die Zeilen 230 und 240 mit GO TO 2 x 130 (2 mal 130) enden las- sen. Der Computer würde dann ebenfalls nach 260 gehen.
Wenn B die gleiche Zahl wie C ist, weiß der Computer, daß er das gleiche wie Sie gewählt hat. Er schreibt „Unentschieden“ und rückt nach D, d.h. nach Zeile 260 vor (GO TO 260).
26
240
250
260
270
280
290
300
310
Sinclair ZX Spectrum
Diese Zeile sieht etwas kompliziert aus. Sie entscheidet dar- über, ob sich aus bestimmten Kombinationsmöglichkeiten von B und C ein Punktgewinn für den Computer ergibt. Falls (IF) das der Fall ist, dann (THEN) schreibt der Computer (PRINT) „Ich gewinne“ und erhöht seine Punktzahl um 1 (LET COMP = COMP +1). Der Befehl ist nicht so merkwürdig, wie er aussieht. Er bedeutet: Setze die Variable links vom Gleichheitszeichen ım Wert dem Wert der alten Variablen plus 1 gleich. Wenn Sie das jetzt noch nicht verstehen sollten, keine Angst, es wird Ihnen nach und nach klar werden, wenn Sie solche Zeilen öfter benut- zen.
Die Gewinnchancen des Spielers werden ermittelt. Gegebenen- falls erhöht sich seine Punktzahl um 1 (LETSPI=SPI +1).
Der Punktestand wird angezeigt. Dem PRINT-Befehl, von zwei Anführungszeichen eingerahmt, geht ein Apostroph voran. Zwei Apostrophe folgen. Daran schließt sich der ICH-Befehl mit einem Anführungszeichen an. Sie wissen jetzt schon vom bisherigen Programmablauf, daß diese Apostrophe Leerzeilen produzieren. Demzufolge wird die Zeile mit dem ICH-Befehl erst nach dem Einschub von zwei Leerzeilen ausgeschrieben. Das pfeilförmige Zeichen „größer als“, das hinter den Wörtern ICH und SIE steht, bekommen Sie von der T-Taste, wenn Sie gleichzeitig die SYMBOL SHIFT-Taste herunterdrücken.
Während einer Pause von zwei Sekunden können Sie das Ergeb- nis dieser Runde lesen.
NEXT A signalisiert das Ende der FOR/NEXT-Schleife, die in Zeile 50 begann. Wie schon einmal erklärt, durchläuft der Com- puter auf diesen Befehl hin die Schleife von Zeile 50 an, wo der Wert von A um 1 erhöht wird, mit jedem einzelnen Folgebefehl aufs neue.
Wenn der Wert der Variablen SPI gleich dem Wert der Varia- blen COMP ist, dann weiß der Spectrum, daß das Spiel unent-
schieden ausgegangen ist. Er schreibt (nach zwei Leerzeilen, die mit zwei Apostrophen angezeigt werden): „Unentschieden“.
Falls (IF) SPI kleiner als COMP ist, dann weiß der Computer, daß er gewonnen hat.
Falls (IF) COMP kleiner als SPI ist, dann weiß der Computer, daß Sie gewonnen haben.
Diese Erläuterungen waren hoffentlich nicht zu verwirrend. Aber es ıst schwer, in kurzer Zeit alles Wesentliche über das Programmieren des Spectrum in BASIC möglichst verständlich zusammenzufassen.
Programmieren in BASIC 27
Und jetzt — ein wenig Farbe
Später werden wir uns noch ausführlich überlegen, wie wir aus den Fähig- keiten des Spectrum, Farbe (und Ton) zu produzieren, das Beste machen können. Aber jetzt wollen wir erst einmal einige der einfachsten Möglich- keiten zeigen, Farb-Befehle zu benutzen. Sie werden erleben, wie wir- kungsvoll Sie damit Programme bereichern können. Eine neue Version von STEIN, SCHERE, PAPIER mit zusätzlichen Farb-Befehlen folgt. Sie können das Programm leicht abändern, wenn Sıe die Edit-Möglich- keiten des Spectrum verwenden.
REM STEIN, SCHERE, FRFIER FEH Isi HARTNELL, 1952 LET comp =iä LET Spi=E FÜR 3=1l TO 10 ZL=3: FRINT INH =; "RUNDE MUM ": IHE 1:8 FRIMT IHRE Sa FRIMT INH az FRIMT IHEH. lea FRIMT INH. WIAEHLEM: L:2 IHFLT 6b FRINT IHE. ; ea TeE HUREFLERN!” ; IF E=1 THEH FRIMNT "STEIN" IF bE==2 THEN FRINT "SCHERE" IF bE=25 THEN FRINT "FHrFIER" FRAUSE Sa LET <=IHT (RNbsDı+l FRIHT INH cc; °" Ich WIAEHNLE IF C=TI FHEN FRINT "STEIM" Ir c=2 THEN FRINT "SCHERE" IF <= THEH FRIMT "FHArFIER" LET Je IF E=c THEN FRIMT FLASH 1; ° DNENTSCHIEDBEN!”": EI TV: d =dE IF c=1l AN. b=2 ÜR co=2 ANb 6 =5 OR c=5 AN. b=1l THEH FRIMT FL SH 1; ERIGHT 1; °""IcH GELINNEI" : LET <comp=comp+1l: GO TO od zeS2 IF b=1l ANb c<c=2 Ur b=I2 ANb ı =5 OR bG=2 AH. c=1 THEN FRIMT FLA sn 3: "SEE BELIINBEHNI ": LET Sp:L ss
Fi+tl gan SIE» ";spi ";cco
"u = STEIM” SCHERE" PRFIER" r a3" "BLIT
LT Lafle 1 1-- ra te aan m :
DTM TI!
I
pl
„Ir
uns u aaa
rLıfle I
1
122
za ir
Em =] ıTı naar
Tı
IL EN
spiscomp THEN FRIMT "U SCHIEDERN 1 1°
IF spi:comep THEN PRINT "I
In :H HABE DC IESE= =FPIEL GELADEN I
lg IF comp=<spi THEHN FRIMT "3 TE HABEN D SS SPIEL. GELWÖRNNEN! !
I
7 _
FO NININgTET
—
®
Sıe sehen, in Zeile 60 sind die Wörter INK 2 zum vorherigen Programm hinzugekommen. Die Wörter INK 2 bekommen Sie in die Zeile hinein, indem Sie erst LIST drücken (die K-Taste), dann 60 — jetzt haben Sie LIST 60 — und dann ENTER. Das Wort „scroll?“ erscheint unten auf
28 Sinclair ZX Spectrum
dem Bildschirm. Drücken Sie N, um weitere „scroll“-Fragen beim Anlı- sten zu vermeiden. Dann drücken Sie die CAPS SHIFT-Taste herunter und gleichzeitig die Taste 1, auf der oben EDIT steht. Die Zeile, auf die der Cursor (mit einem >) zeigt (in diesem Fall Linie 60), erscheint oben auf dem Bildschirm. Wir wollen jetzt die Wörter INK 2 hinter dem Wort PRINT einfügen: Drücken Sie die CAPS SHIFT-Taste, halten Sie sie fest und drücken Sie gleichzeitig die Taste 8. Sie sehen, wıe der Cursor sich in Richtung des über der Taste 8 angegebenen Pfeils bewegt. Nehmen Sie erst wieder den Finger von der Taste 8, wenn der Cursor an PRINT vorbei ist! Weiter darf er nicht wandern! Drücken Sie jetzt beide Shift-Tasten zu- gleich und lassen Sie dann die CAPS SHIFT-Taste los. Die SYMBOL SHIFT-Taste müssen Sie weiter nach unten gedrückt halten. Drücken Sie jetzt die X-Taste, und wenn alles klappt, erscheint jetzt das Wort INK auf dem Bildschirm. Schließen Sie eine 2 und ein Semikolon an (SYMBOL SHIFT- und dann die O-Taste), und drücken Sie dann wieder ENTER. Sie sehen, wie die verbesserte neue Zeile den Platz einnimmt, den zuvor die ursprüngliche Zeile 60 innehatte.
Wenn Sie jetzt das Programm von neuem starten (RUN), dann sehen Sie die Wörter RUNDE NR. 1 in Rot auf dem Bildschirm erscheinen. Die Farben werden mit den Zahlen 0-7 gewählt (eine genaue Erklärung folgt später). Mit INK 1 werden die Buchstaben blau, mit INK 2 rot usw. Sie brauchen nicht das ganze Spiel durchlaufen zu lassen. Geben Sie einfach, wenn der Computer nach einer Zahl fragt, ein Q ein. Der Spectrum wird dann mit einer Fehlermeldung ganz verblüfft anhalten, weil er nicht weiß, was O bedeutet.
Drücken Sie jetzt wieder EDIT (CAPS SHIFT- und 1-Taste), und von neuem erscheint die Zeile 60 unten auf dem Bildschirm. Mit der CAPS SHIFT/8-Kombination bewegen Sie den Cursor vor das A. Dann fügen Sie INK 1 und noch ein Semikolon hinzu. Dadurch wird die Verkettung der einzelnen Angaben im PRINT-Befehl gewährleistet. Bringen Sie mit ENTER diese Zeile wieder in ihre Position innerhalb des Programms und starten Sie es von neuem. Sie sehen jetzt die Wörter RUNDE NUMMER in Rot und die Zahl 1 in Blau auf dem Bildschirm.
Wenn die Farben nicht klar sind, spielen Sie ein wenig mit dem Kanalwäh- ler und der Farbkontrolle am Fernseher, bis Sie Rot und Blau klar sehen können. Verschiedene Fernsehfabrikate geben die Farben unterschied- lich wieder, bei dem einen sind Sie intensiver als beim anderen.
Jetzt können Sie das ganze Programm durchgehen und die notwendigen Änderungen vornehmen, um überall Farbe hinzuzufügen. Die Zeilen 70, 80, 90, 100, 120, 180, 230, 240, 250 und 285 müssen abgeändert werden. 285 muß neu hinzugefügt werden, wird sich aber automatisch selbst ein- ordnen. Starten Sie das Programm wieder (RUN). Durch die Farben wird das Programm wesentlich interessanter und lebendiger.
Programmieren in BASIC 29
Anleitung zum Schreiben
Unser Abschlußprogramm in diesem Einführungskapitel soll Ihnen hel- fen, sich auf der Tastatur zurechtzufinden. Wenn Sie das Programm star- ten, wird auf dem Bildschirm eine beliebig gewählte Zahl oder ein Buch- stabe aus dem Alphabet vorgegeben, und zwar in ungefähr der gleichen Position wie auf der Tastatur. Sie müssen innerhalb einer begrenzten Zeitspanne die jeweils bezeichnete Taste drücken. Wenn es nicht klappt, erlaubt Ihnen der verständnisvolle Computer noch einen Versuch. Sie werden sehen, wie schnell Sie mit Hilfe dieser Routine den Aufbau der Tastatur beherrschen lernen.
Wenn Sıe mehr Zeit brauchen, um jeweils die gewünschte Taste zu fin- den, dann ersetzen Sie die 100 in Zeile 180 durch eine größere Zahl. Fan- gen Sie mit 300 an und gehen Sie dann langsam herunter, wenn Sie sich die Tippgeschwindigkeit zutrauen. Versuchen Sie, bei der Eingabe der Zah- len und Buchstaben in den DATA-Befehlen (in den Zeilen 80-110) kei- nen Fehler zu machen. Denn damit geben Sie an, an welcher Stelle auf dem Bildschirm die verschiedenen Zahlen und Buchstaben geschrieben werden. Nachdem Sie das Programm ein paar Mal ausgeführt haben, ge- hen Sie bitte anschließend die dazugehörige Erklärung i im Buch Zeile für Zeile durch.
FREH SCHR EC IH aa \- LET pu FÜR =:
ar
(0 J 170 REEE Ei
IT 77
ı DI:fiF
ET
ac 3
ENVIREZ
11 fa fa
lcd Parc afı Po Te)
Er z Br IT -:J ®::
[ I ZI "} FR
Kl I
JENE TEN
", aan
AT Hr-MWTIHr:
F- bp = mM HH TI -L
Bi IE
1 IL] Hl ji
l22 REM 172 REM 142 REH a or a=1 TO 18: BEEP
Q m n Mn m 4
iS 155 IF INKEYS$:>"" THEN GO TO 18
"len LET b=INT (RND=® 170 PRINT FLASH 1; (ib) ıiZ SIT „Kl
-D ÜFH „Et
“1 Lienz IHNKEr$ :;,"" THEN GO TO 260
lrH 112 [0 11
30
10
20
30
40- 70
Sinclair ZX Spectrum
FT 9.5; INK 7; FAFER ERIGHT 1;"SIE ERAUCH
NE=T (d
4#
n m
+# H Tl Lade jj =
47m fıfcffurm-- fl FM
ZT mo im “Or IH 4 D 7 dr
= =
I
J
- We
ZIEIEN Hy
Eialns LET punk 5 ,punktesdt: ni. 8; IHH =; "05 INKTEAHL IST
HEH FR INT
=
an-4-+
KH Taf et
„iz u - mc |
N no. HN 2
n1-+ Ha Mu
I- n- 2 Mır
a Mu in # Be mnm-
H (IT Zr
fl LIE [Ti
et.
T Ei; CH! 7
‚ER, L. ! m)
mn I
E I
es
To ya
aan ad ImrH-+ 'Ü H
I 3
IIemmozn 7:
cpu fcı EEE
3 FRIMT FAT 3,8; FLRA L ee, Fan ED; INK =; ' IHRE
":BUNMK LE " ION 0 1c
punkte? THEN FRINT AT 1
I: 1; INK 4; PRFPER 7; ER "HERZLICHEN GLUEGKLN LINI SCH!
LM“ = DEE
TI
Dies ist ein REM-Befehl (REM bedeutet „Bemerkung“ oder „Überschrift“, wie Sie sich erinnern), den der Computer igno- riert. Sie können dabei beliebig viele Leerstellen verwenden.
Zeile 20 legt die Größe eines Feldes fest. Mit einem Feld Können Sie Zahlen oder Texte hintereinander speichern und bei Bedarf abrufen, indem Sie seine Position im Feld angeben. Das ın Zeile 20 definierte Feld heißt A$. Das Dollarzeichen bedeutet, daß in dem Feld keine Zahlen, sondern Texte gespeichert werden sol- len. Im Programm erkennen Sie Texte daran, daß Sıe in Anfüh- rungszeichen eingerahmt werden.
Die Variable PUNKTE notiert, wieviel Buchstaben Sie richtig tippen.
Dies ist eine FOR/NEXT-Schleife wie im vorigen Programm. Zeile 50 (READ B$) steht in Verbindung mit den DATA-Be- fehlen 80-110. Der Reihe nach werden alle DATA-Angaben vom Programm gelesen. Beim ersten Durchlauf der Schleife wird die erste Zahl in der DATA-Zeile („10602“) eingelesen und B$ zugeordnet. Zeile 60 setzt dann A$(1) auf den Wert von B$. Bei der nächsten Schleife, wenn A gleich 2 ist, liest sich die Zeile 60 wie folgt: LET A$(2) = B$. Diesmal hat B$ den Wert der zweiten Zahl des DATA-Befehls („20605“). Und so geht es weiter, bis alle 36 Plätze der A$-Liste einen Wert aus den Data- Zeichen erhalten haben.
Programmieren in BASIC 31
80 — 110
120- 140
150
155
160
170
180 -— 210
220
225
230
Diese Zeilen enthalten die Data-Angaben. Beachten Sie bitte: Jeder Wert ist mit Anführungszeichen versehen und durch ein Komma vom nächsten getrennt.
Diese Zeilen enthalten drei REM-Befehle.
Hier beginnt eine neue FOR/NEXT-Schleife. Solche Schleifen müssen nicht immer A genannt werden. Sie können jeden Buch- staben des Alphabets verwenden, z.B. FOR I = 1 TO 10 oder FORM =1TO 10. Bei BEEP .02,— 10 erklingt ein kurzer Ton (BEEP wird später genauer erklärt), und der CLS-Befehl löscht den Bildschirm.
INKEYS$, das Sie oben auf der N-Taste finden, liest die Tastatur und wartet so lange, bis Sie die Tastatur losgelassen haben (Ach- tung: das <>-Zeichen befindet sich auf der W-Taste).
B enthält hier einen Wert zwischen 1 und 36, um eine Zahl zwi- schen O und 9 oder einen Buchstaben des Alphabets zu wählen.
Dies ist eine ziemlich komplizierte Zeile. Sie schreibt den Buch- staben oder die Zahl, die an der ersten Stelle des jeweiligen A$- Wertes stehen, mit A$(B,1) genau dorthin, wo sie hingehören: Hierzu wird der PRINT AT-Befehl verwendet, mit dessen Hilfe die genaue Bildschirmposition festgelegt werden kann. Ziffer 2 und 3 des jeweiligen DATA-Wertes werden benutzt, um die Bildschirmzeile festzulegen (beginnend mit Null). Ziffer 4und5 werden benutzt, um den Abstand vom linken Rand (d.h. die Spalte) festzulegen. Mit anderen Worten, jeder DATA-Wert enthält einen Buchstaben oder eine Zahl als erste Angabe. De- ren Plazierung auf dem Bildschirm wird durch die folgenden vier Ziffern angegeben. Die Plazierungsangaben 2 und 3 bestimmen die senkrechte Position, die Plazierungsangaben 4 und 5 die waagerechte Position.
Diese FOR/NEXT-Schleife wartet eine begrenzte Zeit aufeinen Tastendruck. Die Länge der Pause wird mit der Zahl am Ende der Zeile 180 angegeben. Wenn in der Zwischenzeit eine Taste gedrückt wurde, gibt die Zeile 200 den Befehl zum Weiterma- chen an Zeile 260.
Wenn Sıe nicht rechtzeitig eine Taste drücken, meldet der Com- puter „SIE BRAUCHEN ZU LANGE“.
Hier gibt’s eine kurze Pause mit einer FOR/NEXT-Schleife. Sie können dafür die PAUSE-Taste oder, wie hier gezeigt, eine „leere“ FOR/NEXT-Schleife benutzen.
Der Computer geht zurück zur Zeile 150 zur nächsten Übung.
32 Sinclair ZX Spectrum
240 Nach zehn Durchläufen geht der Computer zur Zeile 300 und gibt den Punktestand an.
260 Hier wird geprüft, ob die gedrückte Taste die gleiche ist wie die, die auf dem Bildschirm zu sehen ist. Wenn ja, dann wird ein Punkt dem Punktestand (SCORE) hinzugefügt und Sie sehen die Meldung: „GUT GEMACHT, IHRE PUNKTEZAHLIST NUN 3“ oder entsprechend.
265 Wenn die von Ihnen gedrückte Taste nicht mit dem Zeichen auf dem Bildschirm übereinstimmt, dann steht dort: „DAS WAR LEIDER FALSCH! BITTE NOCHMAL“. Und zurück geht’s, damit Sie einen neuen Versuch wagen können. Beachten Sie bit- te, daß hinter dem Anführungszeichen nach den Wörtern „BIT- TE NOCHMAL“ ein Komma steht. Lassen Sie es einmal weg und passen Sie auf, was sich jetzt dadurch ändert.
270- Hier gibt es eine Pause, bevor der nächste Buchstabe oder die 280 nächste Zahl auf dem Bildschirm erscheint.
290 Das Ende der FOR/NEXT-Schleife ist erreicht. Das Programm geht zurück zur Zeile 150.
300 Der Punktestand wird angegeben.
310 Wenn mehr als sieben Punkte erreicht sind, gratuliert der Com- puter.
Dies ist wirklich ein sehr nützliches Programm, um mit der Tastatur ver- traut zu werden, finden Sıe nicht auch’?
Der Inhalt dieses Kapitels wurde etwas komprimiert vorgelegt. Aber wenn Sie die einzelnen Abschnitte und Programmteile gründlich durchge- gangen sind, müßten Sie jetzt schon einen guten Einstieg in das Program- mieren mit BASIC auf dem Spectrum gefunden haben.
Die vorliegenden Texte sind im Prinzip als Ergänzungen zu den mitgelıie- ferten Handbüchern zu verstehen. Im folgenden gehen wir davon aus, daß Sie die Grundbegriffe dieses Kapitels beherrschen und auch Kennt- nisse aus den ZX Spectrum-Handbüchern erworben haben. Wenn Sie Be- denken haben, sollten Sie an dieser Stelle vielleicht noch einmal einen Blick in die Handbücher werfen und sich den einen oder anderen BASIC- Begriff in Erinnerung rufen. Die Erläuterungen zu den einzelnen Pro- grammen sind jetzt nicht mehr ganz so ausführlich wie in diesem Kapitel. Aber vieles wird schon beim Eintippen der Programmzeilen oder bei der Ausführung des Programms unmittelbar klar werden.
33
Kapitel 3
Experimente mit den Farben des ZX Spectrum
Der Spectrum hat sechs Farben (dunkelblau, rot, violett, grün, hellblau und gelb) und zusätzlich schwarz und weiß. Jeder Farbe ist eine Nummer zwischen 0 und 7 zugeordnet:
Schwarz Dunkelblau Rot
Violett Grün Hellblau Gelb
Weiß
SO PRWWDTO
Wenn Sie einen Schwarzweiß-Fernseher haben oder die Farbkontrolle an Ihrem Farbfernseher ganz herunterstellen, sehen Sie diese Farben in der vorgenannten Reihenfolge in abgestuften Grautönen, die von ganz dun- kel (schwarz) bis ganz Hell (weiß) reichen. Versuchen Sie einmal folgen- des:
10 FORX=0T07
20 PRINT INK X; "EM" (zwei ausgefüllte Quadrate, die Sie bekommen, indem Sie die CAPS SHIFT-Taste und dann die Taste 9 und die Taste 8 drücken)
30 NEXTX
Die Farbbefehle geben auch an, wie die Farben auf dem Fernseher produ- ziert werden. Ein Farbfernseher benutzt die Farben blau, grün und rot. Alle anderen Farben können aus diesen drei Grundfarben gemischt wer- den. Violett entsteht aus Blau und Rot, und die ihr zugeordnete Zahl 3 ist die Summe der beiden anderen Farbzahlen 1 und 2.
34 Sinclair ZX Spectrum
Beim Einschalten des Spectrum sehen Sie, daß der Bildschirm weiß ist. Sie schreiben darauf mit Schwarz. Mit dem BORDER-Befehl auf der B- Taste bringen Sie auf einfache Weise Farbe ins Bild. Versuchen Sie es:
BORDER 1 (anschließend ENTER)
Der Bildschirmrand wird jetzt dunkelblau. So können Sie dem Bild- schirmrand jede der acht zur Verfügung stehenden Farben geben, wenn Sie nach dem BORDER-Befehl eine der Farbtasten und anschließend ENTER drücken. Auch für das Bildinnere und die Schrift kann Farbe verwendet werden. Bei PAPER geben Sie dem Viereck innerhalb des Bildschirmrandes Farbe und bei INK dem Text und den graphischen Zei- chen. Die PAPER- und INK-Befehle sind etwas schwieriger als der BORDER-Befehl. Mit ihnen werden die jeweiligen Farben für den Hin- tergrund (PAPER) und für die Schrift (INK) festgelegt. Um die Farbe des Hintergrundes zu verändern, drücken Sie erst die weiße Shift-Taste auf der rechten Seite. Während Sie noch die rote Shift-Taste unten halten, drücken Sie die C-Taste. Probieren Sie’s mal (beachten Sie bitte bei den folgenden Beispielen: Genauso wie beim BORDER-Befehl oben lassen wir auch hier die Zeilennummern weg, damit der Computer die Befehle sofort ausführt!):
PAPER 3:CLS (der CLS-Befehl ist auf der V-Taste) PAPER 2:CLS PAPER 6:CLS
Sie sehen: Alle Stellen auf dem Bildschirm werden erst violett, dann rot und dann gelb. Wie Sie wahrscheinlich wissen, können Sie jede der acht Farb-Zahlen mit dem PAPER-Befehl eingeben. Um mit der Farbe das ganze Viereck auszufüllen, müssen Sie dem PAPER-Befehl einen Lösch- Befehl (CLS$) folgen lassen. Hierdurch wird an allen Bildschirmstellen ein Leerzeichen ausgegeben mit der entsprechenden Hintergrundfarbe.
Der INK-Befehl läßt sich genauso einfach verwenden. Drücken Sie wie- der die CAPS SHIFT-Taste und dazu die SYMBOL SHIFT-Taste auf der rechten Seite. Während Sie noch die rote Shift-Taste festhalten, drücken Sie nun die x-Taste. Der INK-Befehl ist also ähnlich wie der PAPER-Be- fehl zu handhaben.
Versuchen Sie einmal folgendes, um die Wirkung von farbigem Text zu erleben:
10 PAPER7 20 INK3 30 CLS
40 PRINT “Test“
Experimente mit den Farben des ZX Spectrum 35
Wenn Sie das Programm starten, sehen Sie, wie der Computer den violet- ten Text auf eine weiße Fläche schreibt. Sie können zwar jeden farbigen Text auf jedes farbige Bildschirmviereck schreiben, aber manche Farben passen schlecht zueinander.
Das sehen Sie am besten, wenn Sie beispielsweise das folgende Programm laufen lassen:
10 PAPER5 20 INK4 30 CLS
40 PRINT “Test“
Jetzt können Sıe die Wörter nur schwer erkennen. Rot und Violett ergän- zen sich nicht gut, und violette Farbe auf grüner Fläche ist ganz besonders schwer zu lesen.
Sıe können mit den Farb-Befehlen den Bildschirm auch nur teilweise statt flächendeckend ausfüllen. Versuchen Sie folgendes, um das einmal zu se- hen:
PAPER 7: CLS: PRINT INK 5; PAPER 1; “Test“
Jetzt ıst nur die Fläche hinter den Wörtern hellblau, während der Text dunkelblau ist.
Die Farbe kann auf viererlei Art verändert werden. Die BASIC-Wörter dafür finden Sie unter der unteren Tastenreihe Ihres Spectrum: FLASH, BRIGHT, OVER und INVERSE (blinken, hell/dunkel, überschreiben und umgekehrt darstellen). Die beiden letzten Wörter sind ausgespro- chen vielseitig nutzbar beim Umgang mit Farbe, aber sie werden auch in anderen Bereichen verwendet.
BRIGHT
Der BRIGHT-Befehl ist leicht zu verstehen. Mit ıhm wird dıe Farbe des Textes (INK) oder der Fläche (PAPER) etwas hervorgehoben. Die Far- ben werden leuchtender und manchmal sogar einen Ton heller. Folgende Routine zeigt die Wirkung des BRIGHT-Befehls:
10 FORx=0T07 20 PRINT PAPER x; BRIGHT 0; “ “; BRIGHT 1; “ “; 30 NEXTx
Damit werden Leerstellen in Zweierblöcken ausgegeben (denken Sie da- bei an kleine Schreibblöcke). Der erste hat die normale Farbe, der zweite hat die gleiche Farbe, ist aber deutlich heller. Wie Sıe sehen, folgt dem
36 Sinclair ZX Spectrum
BRIGHT-Befehl eine Null bzw. eine Eins. Mit Null wird die Farbe nor- mal, mit Eins wird sie leuchtend wiedergegeben.
Das nächste Programm kommt zu einem ähnlichen Ergebnis, indem es die BRIGHT-Kontrolle in eine Schleife steckt:
10 FORx=0TO7 20 FORy=0T01 30 PRINT INK x: BRIGHT y;“ “:
40 NEXT y 50 NEXTx FLASH
Der nächste Begriff heißt FLASH. Er wird so ähnlich wie BRIGHT be- nutzt und wird ebenso von einer Null oder einer Eins gefolgt, je nachdem, ob das Blinken aus- oder eingeschaltet ist. Mit der folgenden Routine können wir die leuchtenden BRIGHT-Quadrate des vorigen Beispiels z.B. aufblitzen (FLASH) lassen:
10 FORx=0T07
20 FORy=0TO1
30 PRINT INK x; BRIGHT y; FLASH y; * "; 40 NEXT y: NEXT x
Die Routine zeigt, daß FLASH ständig zwischen der Farbe von INK und der Farbe von PAPER wechselt.
Eine Besonderheit stellt der Befehl INK 9 dar. Dieser Wert wird beim Einschalten des Rechners automatisch als erstes verwendet. Er besagt, daß alle Schriften jeweils in der bestmöglichen Kontrastfarbe zum Hinter- grund dargestellt werden. Dies bedeutet bei hellem Hintergrund, daß die Schrift in Schwarz erscheint, und bei dunklem Hintergrund (PAPER-Far- ben 0-3), daß die Schrift in Weiß (INK 7) erscheint. Selbstverständlich können Sie diesen Befehl auch im Programm benutzen.
Logischerweise gibt es auch die Schriftfarbe 8. Dies bedeutet, daß der Spectrum an einer aktuell anzugebenden Stelle erst nachschaut, welche Farbe das bisherige Zeichen an dieser Stelle hatte, um dann das neue Zei- chen mit der gleichen Farbe zu bringen.
Die gleichen Bemerkungen gelten entsprechend für die Befehle PAPER 8 bzw. PAPER 9 zur Festlegung der bisherigen bzw. der optimalen Hin- tergrundfarbe.
Experimente mit den Farben des ZX Spectrum 37
Mit FLASH 8 bzw. BRIGHT 8 wird auf die früher für eine bestimmte Bildschirmstelle festgelegten Farbeigenschaften zurückgegriffen. Ledig- lich FLASH 9 bzw. BRIGHT 9 ergeben keinen Sinn: Blinken kann nicht noch wirkungsvoller werden, und auch die Helligkeit kann nicht noch mehr verstärkt werden.
INVERSE, OVER
Die beiden Begriffe, die für den Umgang mit Farbe übrigbleiben, lauten: INVERSE und OVER. INVERSE steckt ım Prinzip hinter dem Befehl FLASH, nämlich die Farbe des Textes in die Farbe der Hintergrundfläche zu verwandeln und umgekehrt. Dadurch wird die weiße Schrift auf schwarzem Grund zu Schwarz auf Weiß und umgekehrt.
Das klappt bei allen Farben für INK oder PAPER und hat eine ähnliche Wirkung wie BRIGHT und FLASH. Der Befehl INVERSE wird von Null (für „aus“) oder EINS (für „an“) gefolgt. Allerdings können Sie nicht die 8 auf dieses Wort folgen lassen.
Versuchen Sie folgendes, um zu sehen, wie es funktioniert:
10 FORx=0T01
20 PRINT INVERSE x; INK 5; PAPER 1; “Dies zeigt, wie INVERSE arbeitet“
30 PAUSE 50
40 NEXTx
OVER ist ein sehr nützlicher BASIC-Begriff. Damit können Sie ein Zei- chen mit einem anderen überlappen. Auch hier gilt Null für „aus“ und Eins für „an“. Wie bei INVERSE können Sie auch nach OVER nicht die 8 benutzen. OVER trifft bei einem Zeichen-Viereck eine Entweder/ Oder-Entscheidung. Das heißt, es überlagert nicht nur ein Zeichen durch ein anderes. Das Ergebnis dieses Befehls ist, daß alle Punkte des Zeichen- vierecks verschwinden, die bei der Überlappung in beiden Punkterastern vorkommen.
Sıe können am besten verstehen, wie OVER funktioniert, wenn Sie be- denken, daß jedes Zeichen-Quadrat (es gibt 32 waagerechte und 24 senk- rechte) aus 64 winzigen Punkten auf einer 8x 8 Matrix besteht (ungefähr so wie ein Schachbrett oder kariertes Zeichenpapier). Wenn der OVER- Befehl vom Computer verlangt, über etwas hinwegzuschreiben, dann schaut sich der Spectrum den gleichen Punkt auf den beiden in Frage kommenden Zeichen-Quadraten an. Mit Hilfe der „Wahrheitstafel“ ent- scheidet er dann, ob der Punkt schließlich in Schwarz oder Weiß ausge- führt wird:
38 Sinclair ZX Spectrum
neues
Zeichen altes schwarzer weißer Zeichen Punkt Punkt
weißer Punkt schwarz
Nehmen wir ein Beispiel, um das noch klarer zu machen! Schreiben Sie zwei Zeichen auf Ihren Bildschirm, den Großbuchstaben OÖ und die Null 0:
PRINT "O0“
Stellen Sie sich jetzt das Resultat vor, wenn Sie den Großbuchstaben „O“ über die Null schreiben (wobei Sie daran denken, daß zwei schwarze Punkte einen weißen ergeben), und versuchen sie jetzt, den OVER-Be- fehl in der Praxis auszuführen:
PRINT OVER 1;*"0“;CHR$8;"0* (Beachten Sie, daß CHR$8 ein Kontrollzeichen zum Zurücksetzen ist.)
Auf dem Bildschirm erscheint ein Schrägstrich aus dem Innern der Null. Der Rest wurde bei der Überlagerung ausgelöscht. Versuchen Sie jetzt, einige andere Zeichen mit OVER zu überschreiben und vorherzusagen, was dann passiert.
Wie können Sie den OVER-Befehl noch verwenden? Eine interessante Möglichkeit wäre, Objekte vor oder hinter anderen vorbeiwandern zu lassen. Ein einfaches Beispiel dafür gebe ich im Programm ÜBERLAGE- RUNG (s.u.). Darin wandert ein normaler Buchstabe p über den Bild- schirm zu einem inversen p. Das normale p wandert über das andere und erzeugt im gleichen Augenblick ein schwarzes Quadrat (erinnern Sie sich, daß schwarz und weiß schwarz erzeugt?). Dann wandert es weiter, wäh- rend das inverse p unverändert stehen bleibt.
= PAPER 5: INK 1: CLS 2 PRINT IMWERSE 1;AT 10,180; "P
S FOR a=0 TO 20 >2 PRINT PAPER 1; INK 5; IMUER
; QUER 1; AT 160,3;"P a FAUSE 1 ı PRINT INVERSE 1; OVUER 1; AT
‚ip NEXT 3
Experimente mit den Farben des ZX Spectrum 39
ATTR
Wie Sie schon wissen, werden pro Bildschirmspeicherstelle nur je eine In-, formation für die Schriftfarbe und eine Information für dıe Hintergrund- farbe notiert. Der Spectrum speichert nämlich die INK-, PAPER-, FLASH- und BRIGHT-Informationen einer jeden Position in einem be- sonderen Speicherbereich für „Attribute“ (von Platz 22528 bis Platz 23295). Dies ergibt 768 Speicherstellen, nämlich 32 x 24, d.h. die Anzahl der Spalten multipliziert mit der Anzahl der Reihen auf dem Bildschirm. Jede dieser Speicherstellen enthält eine Zahl zwischen O und 255, die be- sagt, welche Farben vorhanden sind usw. Diese Zahl können Sie sıch an- schauen, wenn Sie den Sinclair-BASIC-Begriff ATTR (x,y) benutzen. x und y geben wie in PRINT AT die Koordinaten jedes in Frage kommen- den Quadrates an. ATTR liefert eine Zahl, deren Bedeutung Sıe nach einiger Übung sehr schnell interpretieren können. Diese Zahl setzt sich aus der Summe der folgenden Zahlen zusammen:
1280oderO je nachdem ob das Quadrat aufblinken soll (FLASH) 64 oderO jenachdem ob es leuchten soll (BRIGHT) oder nicht 8 mal dem Farbcode für PAPER und schließlich dem Code für INK
Wir können ATTR wie folgt benutzen:
PRINT AT 10,10; FLASH 1; BRIGHT 1; INK 2; PAPER 6; “S“; ATTR (10,10)
Hier schreiben wir den Buchstaben S in Zeile 10, Spalte 10 mit roter Schrift auf gelber Fläche und geben noch zusätzlich den BRIGHT- und FLASH-Befehl. Was, glauben Sie, wird der Computer als ATTR der Po- sition 10,10 angeben” Es müßte 128+64+8%6+2= 242 sein. Das ist ziem- lich einfach, vorausgesetzt, daß Sie die Bestandteile kennen. Wenn Sie die Antwort auf ATTR (x,y) haben und die Bedeutung der Zahl heraus- bekommen wollen, dann benutzen Sie das Attribut-Berechnungs-Pro- gramm (S.u.).
Sie könnten in einem Programm die Variable A mit dem Ergebnis von ATTR (x,y) gleichsetzen und die erhaltenen Werte für INK, PAPER, BRIGHT und FLASH benutzen. ATTR kann gut dazu verwendet wer- den, dıe Eigenschaften eines Zeichens in einer bestimmten Position zu er- mitteln. Vielleicht möchten Sie beispielsweise mit einem Raumschiff fah- ren, bis es an einen Berg stößt. Sie können dann den Berg in einer anderen Farbe zeichnen als den Rest des Bildes. Indem Sie testen, ob vor dem Raumschiff noch Platz für ein Zeichen ist oder ob dieser schon vom Berg besetzt ıst, Können Sie voraussagen, wann der Zusammenstoß passiert.
40 Sinclair ZX Spectrum
BERECHNUNG DER ATTRIBUTE
INFUT "ATTRIELTLERT?" ;3 IF a3-125:8 THEN GO TO 50 LET a3=3-125: FRINT "FLASH
GO TO Bi
PRINT "FLASH AUS," ,
IF 3-5£4:20 THEN GO TO 2a LET 3=3-64: FRINT "ERIGHT
GO TO lad FRIMNT "ERIGHT AUS," , IF 3-"5=INT (3.51 THEM GO TO
FRIHT "FHRFER IST ";IMT (3-5 I," „INK IST ";3-(23=INT (3-.5))
1325 STOR
l4iz FR IT "InMH IST @, FHFER IST
ar
FA -
mb: fi
l2€
In diesem Fall wissen wir, wo sich der Berg befindet. Der Abruf von ATTR wäre hier also ziemlich witzlos. Wir könnten uns jedoch Planeten vorstellen, die ständig in Bewegung sind, so daß wir nicht genau wissen, wo wir auf ein Hindernis stoßen, oder dessen Position erst durch viele IF... THEN-Befehle ermitteln müßten. Dann ist es sinnvoll, ATTR zu benutzen.
Wie ein Regenbogen gezeichnet wird
Jetzt versuchen wir einmal, in hochauflösender Grafik einen farbigen Re- genbogen zu zeichnen. Wir malen farbige Kurven, indem wir den Befehl,
REGEHBÜOGEN “=1
(51: GO SUß Ic6 =1
": BORGCER ia: CL sä=lE8 TOD 252 STEP 15 vl TO 5 . 3(qy1: FLÜT s+0,0: DRAI)I
3 -220+u,FL-Z
NE=T u LET Vay+l IF y=7 THEN Gl TO Zara NET 3 LET &€C1) =5: LET 3(d) 3 I(E1=2 RETUFRHMN 2 FRINT FHAFER SS 5; INK 15"P”"5 ZNR 4.5" GI": INK Bit";
- ZEN FLAT
Experimente mit den Farben des ZX Spectrum 4
Kreisbögen zu zeichnen, etwas abändern. Dabei ist jeder Kreisbogen vom nächsten, andersfarbigen Kreisbogen genau ein Leerzeichen entfernt. Wissen Sie noch, warum das so ist? Pro Bildschirmstelle gibt es nur eine INK-Angabe. Wenn also zwei verschiedenfarbige Linien zu nahe anein- ander kommen, kann an den Berührungsstellen im Bereich eines Quadra- tes nur die Farbe der einen Linie oder die Farbe der anderen Linie gelten, aber nicht beides gleichzeitig. Denn jedes Quadrat kann nur eine, nicht aber zwei Farben aufnehmen.
128 Farben
Die Möglichkeit, zwei Farben (eine für die Schrift, eine für den Hinter- grund) pro Bildschirmspeicherstelle unterzubringen, können wir nutzen, um bis zu 128 Farben auf unserem Spectrum zu produzieren. Dazu müs- sen wir zunächst ein Grafikzeichen erstellen, welches so ähnlich wie ein kleines Schachbrett 8x 8 aussieht (wir erinnern uns: ein solches Zeichen gibt es auf der A-Taste des ZX81).
Indem Sie den PAPER-Befehl in einer Farbe und den INK-Befehl in ei- ner anderen Farbe festlegen, nimmt das Zeichen halb die eine und halb
la REM FRAREEN eu FPRAPER 7: BÖORDER 56: CL5 Sa REM SCHACHERETT - ZEICHEN
j@ FÜR x<=a TO BE STEF 2 Siaı PÜRE USR "P"+x,55 ea FOÖRhE USR "F"+x+1l,170 a NEXT % za FÜR p=i TO 7 sa FOR 128 TO 7 lacı FÜR b=c TO 1 11l=a FPRIMNT FRFER Pp; INH ı;: ERIGH T B5 "PP"; 12a NEXT bi NEXT ii: NEXT pP 152 PAUSE Zaun 42 CL5 : FRINT "UND NUN EIN WO LLEFR EILDCSCHIRM..": FAlUsSsE Za 158 GLS 122 FOHRE z5232 ,1alı ıi7@ FOR P=@ TO 7 15a FÜR ı=a Tl 7 la: FÜR b=a TO 1 ea FÜR kK=a TUI 51 zl@a FRIMNT FHAFER FF; INH i; ERIGH Tb: "FRFFFFFFFFFFFEFFFFFFFFFFFFF FFFFF'" z22 REM ALLE F’S 35INb GRAFIH-ZE ICHEH MIT CER TASTE "P' ea NE=T KHK dia FÜÖÜRE 25632 , 1200: ‚EM ALTOHFATISCHES RüöLlLlLEH e=20 NET Bb: NE=-T i: NE=T p ea STOFF
42 Sinclair ZX Spectrum
die andere Farbe an. Die beiden Farben stoßen unmittelbar aufeinander und vermischen sich deshalb. Rote und gelbe Farben ergeben z.B. ein schönes Orange. Probieren Sie einmal aus, wie viele verschiedene Farben Sie mit dem folgenden Programm auf Ihrem Spectrum produzieren Kön- nen.
Wir erhalten das gleiche Ergebnis, wenn wir mit DRAW- und PLOT-Be- fehlen kreuzweise Linien auf dem Bildschirm zeichnen. Dabei müssen die Linien genau einen Bildpunkt voneinander entfernt verlaufen. Zeichnen Sie jetzt mit einer INK-Farbe auf einem andersfarbigen Hintergrund. Die Wirkung ist die gleiche wıe bei dem graphischen Zeichen im vorigen Pro- gramm.
Der Spectrum zeigt sehr gut, was er alles kann, wenn Sie ıhn mit dem DRAW-Befehl eine Art „durchbrochenes Muster“ zeichnen lassen, wie das z.B. im Programm NETZWERK geschieht.
Hierbei werden vom Mittelpunkt des Bildschirms immer wieder neue Li- nıen zu den Rändern des Bildschirms gezeichnet. Wenn Sıe zu jeder Ecke des Bildschirms Verbindungslinien ziehen, bekommen Sie schließlich ei- nen Farbklumpen. Wenn Sie aber winzige Punkte zeichnen, die immer eıi- ne Punktbreite voneinander entfernt sind, dann bekommen Sie ein sehr interessantes Muster. Das liegt daran, daß der Spectrum keine ganz gera- den Linien zeichnen kann. Je nachdem, welcher Punkt und von welchem Punkt aus gezeichnet wird, unterscheiden sich die Linien beträchtlich voneinander. Das folgende Programm übermalt jede nur mögliche PAPER-Farbe mit jeder INK-Farbe. Das jeweilige Ergebnis hängt von den Farbmischungen ab. Manche Farben überlagern sich sehr gut und bil- den farbige Strudel. Dieser optische Eindruck entsteht durch die Art der Überlagerung.
REH er
RNG+SIı +1 RHD +51 +1 THEHN GO TO
INK tinte: SL
I Lı i=1 IN INBuÜTNHE aa IN BE
M 2 a1 = D.172.STEP 2 . PLOT" 125,95: DRAL l2r7#Z
BE: +. +
EI 7
Fi'fl Je ri: 111... E15
lo Tl 2%
Experimente mit den Farben des ZX Spectrum 43
Das folgende Programm ist mindestens ebenso interessant wie NETZ- WERK. Es heißt EISBLUME und zeigt zunächst einen weißen Stern mit
REM EISELLUME INFE 7: EBÖRDbER 5: FRFER 1. C
Kelt F = ’ » LET t Be ’
FÜR x=20 TO Tag
LET F$=P$+t$
PRINT ".„";: NEXT x
REM EIN STRING IN DER GROES EILECSCHIRMS WIRE HIER AHG
NP
MIETE
rm Am Jim 110217] u
Min
1.
m in
IF
fu u Hacke 04er za = MH“, 1
11
ZT
Hai Gi
IL
FÜR LET LET CET FLOT NE=T
in = mc el
Öl
= I IH vi
ln an mil Hl -
ME: + + 11
I ci
IL m + m 1 7
fu
Nein
m ara fu. Mer H
13
T DI
F&$ AL=E lc: 50 TO 24.
44 Sinclair ZX Spectrum
vielen „Zacken“. Bei der folgenden Technik lernen Sie eine neue Seite Ih- res Spectrum kennen: Über die Schneeflocke wird eine neue PAPER- Farbe gelegt. Sie erinnern sich, wie das normalerweise geht: Um die Far- be der Bildschirmfläche zu ändern, müßten Sie erst die Farbnummer an- geben und dann den Bildschirm mit dem CLS-Befehl löschen. Damit wür- de aber auch das von Ihnen gezeichnete Muster zerstört. Um dieses Pro- blem zu umgehen, wird eine Kette aus Leerstellen in der gleichen Breite wie der Bildschirm (704 Zeichenpositionen) genommen. Durch Überla- gerung des Bildschirms mit diesen Leerzeichen erhalten wir sehr ein- drucksvolle Effekte.
Wir können auch aufeine andere Art und Weise zu diesem Ergebnis kom- men. Können Sie sich vorstellen, wie? Die naheliegendste Möglichkeit ist folgende: Wir tragen im Attribut-Bereich des Speichers direkt die jeweils gewünschte Papierfarbe ein. Der ATTR-Bereich beginnt bei 22528 und endet bei 23295. Klammert man noch die beiden unteren Zeilen aus (2x 32 Stellen), so reicht der für die PAPER-Farbe zuständige Bereich bis 23295—64=23231. Das folgende Programm ändert jetzt die Farben des Bildschirms, ohne den Text oder das Muster zu zerstören:
10 FORx = 22528 TO 23231 20 POKEx,32 30 NEXTx
Erkennen Sie, welche Farbe mit POKE eingegeben wird? Da die PA- PER-Farbe mit 8 multipliziert wird, wurde der Bildschirm mit der Hinter- grundfarbe 4 (grün) versehen.
Das nächste Programm STERNENHIMMEL zeichnet ein sehr hübsches, ausgewogenes Bild auf dem Bildschirm. Dabei werden viele Farb-Befehle gegeben, die in diesem Kapitel schon besprochen wurden.
REM STERNENHIMMEL PRPER @: INK 7: BORDER u: C
(l=E7+RNC) (ST+RHOC) (S+RND! (S+RMND) Ir rı2.5 THEN 50 TO Ida INH = FLOT 127-3 ,57 FLOÜT 12%7+3,57 FLÜT 127-3 .,5% PLOT l27 +3 „ Zu GO TO Ö5£ FLOÖT ÖUER 1; 12 FLÖT QUER 1; ia FLOT ÖOUER 1; "dd FLOÖT ÖLER 1; aa GO TO Zua
=
1:5
1 4 = & 5 =
Sale
11
IR
„Jr
1-11:
IRRIERIERT)
Experimente mit den Farben des ZX Spectrum 45
Es wird Ihnen Spaß machen, farbige Kreise auf Ihrem Spectrum zu zeich- nen. Der wichtigste Befehl hierbei lautet:
CIRCLE INK i;x,y,z
Mit i wird die Zeichenfarbe festgelegt, x und y sind die Koordinaten des (jeweiligen) Kreismittelpunktes, z ist der Radius. Das Programm zeich- net ZUFALLSKREISE; wıe der Name schon sagt, Kreise in beliebiger Anordnung und Farbe.
FEH ZUFALLSKREISE FHFER ia: CL3
LET = (254 ARNO +10 LET =i1S4s&RNGı +10 LET zZz=iS+RNCGı +1 OIROELE INK 2;%,4,; 310 EeO TO 12
ı a 21 iz
1-11:
NN
Das BOWLINGKUGEL-Programm zeichnet, ausgehend von einem ge- meinsamen Mittelpunkt, Kreise, deren Radius jeweils um 0.1 (STEP) größer wird. Das hat den eigenartigen Effekt, daß in den „Kugeln“ fünf weiße Flecken entstehen. Daher rührt der Name dieses Programms (eine Bowlingkugel hat fünf Grifflöcher für die Wurfhand).
46 Sinclair ZX Spectrum
FAFER 6:
iz iz iz iz
I : S
1-11:
T1
Das Zeichnen von Kreisen führt, wie wir beim Programm ZUFALLS- KREISE gesehen hatten, zu mehrfarbigen Kreisen. Das liegt daran, daß die Farbe eines Kreises die Farbe anderer Kreise beeinflußt, wenn die Kreise sehr nah aneinander liegen. Diese Wirkung macht sich das Pro- gramm KEGEL zunutze.
’ „ PR IR?)
' Ä
nun, Irı7) nn"
’ . er “ “ .. ’ .n u.’ Lau TERFIRRFEP SFR ı dd)
u tt
ER an,
aa Mas
FEHN MKEGEL
EORCER 6
FHFER 2: CLS
LET Yy=Sß
FÜR x=50 TO 150 STEP 10 LET Z=iE#&RNEGI +1
DIRCLE INK 2% ,4U, US LET =4+4
HNE=T =
FPFAISE
1
Nr =
1] ıTıl =
Ri Sl:
ı£ı l
Experimente mit den Farben des ZX Spectrum 47
Wie Sıe sehen, sind hıer Kreise in beliebig gewählten Farben gezeichnet, einer immer größer als der andere. Dies läßt den Eindruck eines dreidi- mensionalen Gebildes entstehen.
Das letzte Programm könnte den Ausgangspunkt für ein Programm bil- den, das noch komplexere Figuren in Farbe zeichnet. Sie können damit innerhalb der Grenzen des Bildschirms ein Dreieck beliebiger Größe zeichnen und es mit einer Farbe ihrer Wahl ausfüllen.
REM EREIECKSZE ICHNER BORDER 1: FRFER 7: CLS INPLT "START %-KOORBINFTE?"
INPUT "START Y-KOORDINFTE?T"
INPIT "HÖEHNE®?T" ;h
IF y+h>175 THEN &0 TO 158 IHFLT "LRENGE?T" ;
IF + 4256 TPEM GO TO 158 INFLT "FAREE?T" ; F
CL
FÜR p=a TO H
PET &,9: DRAW INK Fr t,P NE=T F
ZTOr
2 CLS: FRINT "ZU GROS2!1 MOöH
>sO) TO 36
u — r
un ı
IZ[ Hl
Nm
I ENZIENZIENEN
..
49
Kapitel A
Der ZX Spectrum als Musikinstrument
Sie wissen wahrscheinlich schon, wie einfach es ist, mit Ihrem Spectrum Töne zu erzeugen. Benutzen Sie den BEEP-Befehl. (Er ist rot und liegt auf der Tastatur unter der Z-Taste.) Drücken Sie zuerst die CAPS SHIFT-Taste zusammen mit der SYMBOL SHIFT-Taste auf der rechten Seite, und anschließend — während Sıe die rote Shift-Taste herunterge- drückt halten — drücken Sie die Z-Taste.
Um einen Ton zu erzeugen, können Sie beispielsweise folgendes eintip- pen: BEEP 1,0 (danach ENTER). Sie hören dann ungefähr eine Sekunde lang einen Ton in der Tonlage des normalen €. Die erste Zahl bezieht sıch auf die gewünschte Tonlänge, dıe zweite Zahl legt die Tonhöhe fest. Die Zahl, die die Tonlänge angibt, mißt nach Sekunden (von 0,00125 bis ca. 10). Bei einer Zeitdauer kürzer als 0,00125 könnten sie so gut wie nichts hören, und bei einer Zeitdauer von länger als 10 Sekunden würde der Computer die Fehlermeldung „ganze Zahl außerhalb der angegebenen Größenordnung“ bringen.
Die zweite Zahl kann sich zwischen —60 und +69 bewegen. Jeder Schritt bezieht sich auf einen Halbtonschritt über dem normalen C (dem die Zahl 0 zugeordnet ist) oder auf einen Halbtonschritt darunter. Mit BEEP 1,1 bekommen Sie also einen Ton, der über dem normalen C liegt (= Cis). Sie hören ihn eine Sekunde lang. BEEP 1, — 10 klingt 10 Halbtonschritte tie- fer als das C. Vergessen Sıe nicht das Komma zwischen den beiden Zah- len.
Das folgende kurze Programm gibt Ihnen eine Vorstellung von dem Fre- quenzspektrum Ihres ZX Spectrum:
10 FORn= -60T069 20 BEEP.2,n 30 NEXTn
50 Sinclair ZX Spectrum
Wie Sıe hören, gibt es Tonlagen vom kurzen Klicken bis zum hohen Tril- lern. Daraus ergibt sich die Schlußfolgerung, daß am besten in den Tonla- gen um das C herum Musik gemacht wird (ca. +/—20 Halbtonschritte auf jeder Seite). Das erklärt, warum Sinclair dem normalen € (großes C) den Wert 0 zuordnet. Natürlich können auch die höchste und die tiefste Ton- lage sinnvoll genutzt werden, wie wir später sehen werden.
Der Ton ist sehr leise, wie Sie sicher bemerkt haben. Um die Lautstärke zu erhöhen, müssen sie den Spectrum an einen Verstärker anschließen. Die meisten Verstärker mit einer Mikro-Buchse sind geeignet. Sie hören den Ton sowohl mit dem Ohr als auch über die Mikrobuchse hinten am Spectrum. Mit dem Ohr hören Sie ihn etwas leiser. Sie müssen ein wenig herumexperimentieren, um herauszubekommen, wie Sie Ihren Verstär- ker am besten einsetzen.
Ist ein Verstärker angeschlossen, dann hören Sie bei jedem Druck auf ei- ne Taste ein „Klick“. Diese Rückmeldung bei jedem Tastendruck istu. U. sehr nützlich. Leider ist dieses Klicken viel zu leise, wenn Sie keinen Ver- stärker angeschlossen haben. Das können Sie mit einem direkten Befehl ändern: POKE 23609, 100 (dann drücken Sie ENTER).
Jetzt hören Sie bei jedem Tastendruck einen deutlichen Piepton. Das hilft sehr, wenn Sie schnell tippen und dabei nur gelegentlich auf den Bild- schirm schauen. Natürlich wird dieser Ton durch einen externen Verstär- ker lauter. Damit müssen Sie sich abfinden, es sei denn, Sie ziehen es vor, daß Ihr Spectrum nur leise „klickt“, wenn Sie Töne benutzen. Sie können natürlich auch zwischen beiden Möglichkeiten wechseln, aber das ständi- ge Herumhantieren mit der Verstärkerzuleitung ist ziemlich umständlich. Wenn Sie einen externen Verstärker benutzen, müssen Sie ohnehin im- mer die entsprechende Verstärkerzuleitung aus der Buchse nehmen, wenn Sie ein Programm speichern oder sichern wollen.
Zurück zur Musik. Jede Notenzahl beim BEEP-Befehl bedeutet einen Halbtonschritt nach oben (oder nach unten, wenn sie ein negatives Vor- zeichen hat). Somit sind einer Oktave zwölf Notenzahlen zugeordnet: Das normale C ist gleich 0, das C darüber (kleines c) 12 usw. Wenn Ihr Spectrum Musik spielen soll, könnten Sıe durch entsprechende Linierung des Bildschirms Ihre Melodie wie Noten auf Notenlinien eingeben. Dann ordnen Sie jede Note einer BEEP-Zahl zu und jede Tonlänge einer Zeit- angabe-Zahl (0,25 Sekunden für einen Takt). Doch diese Methode ist zeitraubend. So wäre es einfacher: Sie geben die Noten der Melodie mit Buchstaben und die Takte mit Zahlen ein.
Machen Sie das bei unserem Programm MUSIKANT. Dabei haben Sıe die Buchstaben A—-G für die untere Oktave zur Verfügung („C“ ent- spricht hier dem großen C) und die Buchstaben a-g für die nächst höhere Oktave. Sie geben Ihre Melodie wie folgt ein: Auf einer Zeile folgt jeder Note eine Zahl, die die Tonlänge angıbt. Dabei entspricht die 1 einem
Der ZX Spectrum als Musikinstrument 51
Taktschlag, die 2 zwei Taktschlägen usw. Mit folgender Zeile können Sıe sich aussuchen, wie schnell Sie Ihr Musikstück gespielt haben wollen:
5 INPUT “Welches Tempo? 1 ist langsam, 5 ist schnell”; x Sie müssen auch die Zeile mit dem BEEP-Befehl ändern:
370 BEEP X(Z)/X,Y(Z)
l2ı REM CER HMUSIRANT
za CIM =» (Sal: DIM yiızaı
Sa LET K=e9: LET Lei
dia EÖRCER 2: FRAPER 4: INK 2: C L3
Ga PRINT RT @,1G; IMWERSE 1:"6 ER MUSIKAMT" * "
Sa FRINT "TIFFE CEINE NOTEN Al Z= EIME FÜLGE WON EUCHZTABEN UNO IiFFERN EIN.”
ed PRINT " ""BENENNE CIE NÖTEN MIT IHREM EUCHZSTABEN UNE GIE IHR E CRAUER RN."
Sa PRINT ”""ZWEI ORKTAVUEN STEHE MN ECIR ZUR WERFUEGUNG. CIE UNTERE HT "IL 1 HA - 5 UNE CIE OBERE 1G6 INPUT n$ FÜR s3=1 TÜ LEN n$ ZTEF =
IF CObE n$ (a) «37 THEH =
7
pda [TI
Ne nz
Tre LET
TrEN LET
TrEN LET
TrEN LEI " THEH nr ICE n$51(31-5
Plier fü 1 + FRHr N
Lo 0 Pr
12a
11
O LEN n$ STEP 2 UAL n$iIt1I.E
re Bu 4
a ' — “Zı = zZ _ Zı _ e Zı _ . — De = Zı —
TUN I
THEN LET
31="E" THEN LET ‚FT THEN LET K k.
'G" THEN LET (CODE n3$ (31-67
{N
| für 131
EIGENE
fü 2 Ri .JTINF (I EEE
1 -J
l =
52 Sinclair ZX Spectrum
So ist das Programm doch viel leichter durchzuführen, als wenn Sie erst einmal die Musik in Noten umgeschrieben hätten, oder?
Das Klavier
Der Traum, mit dem Spectrum Klavier spielen zu können, erfüllt sich mit Hilfe des nächsten Programms. Mit dem INKEYS$-Befehl kontrolliert der Computer die Tastatur. Er „sieht“, welche Taste Sıe drücken. Das Pro- gramm wurde so geschrieben, daß Sie drei Oktaven zur Wahl haben. Die Note C ist dabei immer auf der T-Taste. Mit Hilfe des Bildschirms können Sie sich einen Überblick über Ihre „Klavier“-Tasten verschaffen. Auf die- se Art und Weise prägen Sie sich am besten ein, mit welcher Taste welcher Ton hervorgezaubert wird. Stellen Sie sich bei den Buchstaben O bis P die weißen Klaviertasten vor. Die Zahlen darüber bezeichnen dann die schwarzen Tasten, mit denen eine Note um einen Halbtonschritt höher oder tiefer gespielt wird. Der Spectrum ist so ausgelegt, daß er eine „wohltemperierte“ Tonleiter spielen kann, die fast so wie auf einem ech- ten Klavier klingt. Die Musik, die er produziert, klingt ganz ordentlich (wenn auch etwas leise).
l2 REM KLANUIER 208 INK 7: BORDER BB: PRPER 2:
sa PRINT AT 5,12; INVERSE 1;"R LAUTER"
42 PRINT FAT 5,8; "DIE WEISSEN T - HZSTEH DES KLAL IIERS SIND GIE TAST EN "WW —- ’pP"
sa PRINT FAT 12,0 "WENN DU "2° CRUECKST, GELANGST DU IN EINE H SEHERE ÖÜKTAUE. MIT "x" GELANGST
23 IM EINE TIEFERE*"
Sie FRINT HT 15,50; INVERSE 1; CE RUECKE "1" FUER \ "IERÄTO 1... 4. 0 MH DEH LAUTSPRECHER AUSZUSCHALTEN
a PRINT AT 123,0; INWJERSE 1;" ML1 °C’ WIRD DAS MITTLERE C AlF CIE TASTE "T'’ FLRZIERT" sa LET Ka: LET X%=90,3 aan PAUSE Sala la REM TASTATUREBELEGUNG 1109 GLS lz=a PRIMT ; IMWERSE 1:HT 1la,d; " WU; AT 1a, 11" ;AT 1,5; "E”"; AT Ic ‚19; "R";AT 18, 12; "T"; AT 10,14; "Y ":arT 18, 18; "U"; AT 15, 15,’ IimT 2 2.29; "O*;AT la,22; "pP" FRIMNT FHFER 5; Zi R } " Fu „ AT = Zi „a A a ; 3,18; "7"; AT 8;%
IF INKE“ IF INKEY
Der ZX Spectrum als Musikinstrument 53
1-1 INKEr$="lC" THEN la IF IMKEW$="\" THEN
1320 IF INKEr$="M" THEN “ısaa IF INKEr$="2" THEN E+K
sam IF INKEY$="5" THEN "Sie IF INKEY$="4" THEN IF INKEY$="8" THEM IF INKEW$="7" THEH IF INKEr$="9" THEN IF INKEr$="0" THEN IF INKEr$="@" THEN IF IHNKEr$="ll" THEN IF INKEr$="E" THEN IF INKEr$="R" THEN IF INKEr$="T" THEN IF INKEW$="i" THEN IF INKEr’$="LU" THEN IF INKEY$="I" THEN IF INKEr$="0" THEN
-] 1
[N
1 ee Pe |
+ - : +
K 13
fu
+ + + P 11T
IF INKEr$="P" THEN
so TO 1:12 =TÜPF
Das Programm fragt Sie, welche Oktave Sie wünschen, wobei Sie, wie ge- sagt, beim Programmlauf zwischen drei Oktaven wählen können. Das je- weilige C liegt in jedem Fall auf der T-Taste. Natürlich können Sie auch die Zeilen 140 bis 350 neu schreiben. Dann bekommen Sie mit anderen Tasten andere Töne. Als letztes werden Sie gefragt, ob Sie ein Vibrato wollen. In diesem Fall wird die Tonlänge von 0.3 auf 0.03 festgelegt. Ver- suchen Sie es auch einmal mit anderen Tonlängen, um die Wirkung zu se- hen. Meines Erachtens wirkt das Vibrato bei Tonlängen von sehr viel mehr als ca. einer Sekunde zu langsam, während es bei Tonlängen von weniger als 3/100 Sekunden zu sehr „klickt“. Vielleicht möchten Sie ein- mal das Tempo ändern und Varianten wie „langsam, schnell, schnell“ ausprobieren. Dann müssen Sie die Tonlänge jeder Note ändern. Versu- chen Sie ein Unterprogramm mit dem GO SUB-Befehl. Dazu müßten Sie erst dıe gewünschte Note in der Ausgangstonlänge spielen und dann zwei
54 Sinclair ZX Spectrum
Noten, die nur 1/2 oder 1/4 so lang sind wie die erste. Denken Sie aber bit- te daran, daß Unterprogramme Zeit brauchen. Wenn Sie das ganze Pro- gramm mit zuviel Sonderwünschen aufblähen, reagiert es etwas schwer- fällıg.
Der Spectrum spielt nicht nur kürzeste Tonlängen, sondern auch kleinste Tonschritte. Machen Sie sıch das zunutze, wenn Sie Ihren Spectrum auf ein anderes Instrument einstimmen wollen. Das läßt sich ganz einfach be- werkstelligen, indem Sıe das Programm um folgende Zeilen erweitern:
355 IFINKEY$ = "K“ THEN LET K=K+0.05 356 IFINKEY$ = “L* THEN LET K=K-0.05
Mit jedem Druck auf die K- oder L-Taste (K für höher, L für tiefer) wird die betreffende Note einen Bruchteil höher odere tiefer gespielt. Mit die- ser Methode ist es sogar möglich, durch minimale Tonschwankungen ei- nen „orientalischen“ Klang zu erzeugen. Die Tonleiter umfaßt dann nicht zwölf, sondern 16 Noten und mehr.
Andere Klangeffekte
Sie können mehr mit dem Spectrum machen, als ihn „nur“ in ein Klavier zu verwandeln. Sıe können die Noten sichtbar machen. Dazu brauchen wir die Fähigkeit des Spectrum, neue Zeichen zu definieren (die einge- hende Erläuterung finden Sıe im Kapitel „Der Spectrum als Spielpart- ner“). Das Programm KOMPONIST bildet die Grundlage für ein länge- res Programm, bei dem Sie Ihre Musik wie im Programm MUSIKANT in Form von Buchstaben, Zahlen und Zeichen eingeben können. Aber jetzt sehen Sie jede Note als Viertel- oder Achtelnote u.a. auf einer richtigen Notenlinie. Sie Können das Programm so ändern, daß Sie, wenn Sie Orgel oder Klavier spielen, die Noten auf dem Bildschirm sehen.
Der ZX Spectrum als Musikinstrument 2)
REM AOHROMFÖNIIST PAPER BE: INK a: BORDER 7:
LET x=151
REH ZEICHNEN NOTENLINIEN FÜR y=1 TO S
PLOT 2,x: DRAL 255,0 LET x=x-&ö
NEST 4
FÜR 3=4 TO 7
READ t
FOKE USR "L"+s,t HEST 3
FÜR Bea TO 7
REAC t
FÜRE USR "E"+b,t HE=T 6
PRINT QUER LAT 3,55
BEEP @.25,0
REM MOTENHALS
DATA 0,4,7,5,4,4.4,4
REH NOTE
CATA 2,E0,124,124,124,568,0,
STOP
Zusätzliche Klangeffekte
Höchstwahrscheinlich haben Sie Spaß an Computerspielen. Sie fänden es sicher faszinierend, wenn Sie noch zusätzlich Geräusche von Feuersalven, Fußschritten oder Zügen einbauen können. Oder etwa nicht? Solche und ähnliche Geräusche könnten den Reiz einiger Spiele erheblich steigern. Andererseits müssen Sie bedenken, daß ein Computer nicht so wirklich- keitsgetreu Geräusche produzieren kann wie ein Musikautomat.
Mit den Programmen FEUER 1, FEUER 2 und FEUER 3 können Sıe ganz gut Geräusche für Spiele herstellen, bei denen eine Schießerei ım Weltall stattfindet.
Hr E
FEH FEUER 1
LET d3=8:.81E5
FÜR x=1 To 2
FÜR y=4 TO 1lE ZSTEP EBEEP OCdJd.4
NE»=-T 4
NEXT %
REH FEUER =
FÜR <=-lc TO 0 EEEF CO,Gl2S,%*
NERT 8
FOR „=a TO _-5 STEP BEEF G,01l25,4
HE=T 4
Fr.ıfıı EISEN
IT
=
alle
ı Zi die ml EB
215
56
ya | Du = ıL = De BE: =
“
[1 U
Sinclair ZX Spectrum
HH 1
REF
FÜR
EEEF NEHT 5 FÜR 4 BEEF
HE=T
FALSE RM
EUER 3 “es "TD
EIS, ®
za STEF 1,5
nn za!
-]l.=Z
en. "ro Z: U 1
STEP
3
Das Programm SPAZIERGANG veranschaulicht, wie Sie Geräusch und Bewegung miteinander verbinden können. Beachten Sie bitte, daß in Zei- le 140 das erste grafische Zeichen ein L, das zweite ein K ist.
E HIT 1
FHErb
UMIeHrHrbH
SFHZIERGSANG
=? TO 7 RERC *
FÜHRE USR "L"+3,% HME=-T 3
FÜR 3=4 TO REAL : FÜORE NEXT : FOR Tt=d TO FRIFHT FAT zZ1I,1t;""”
HE=T
FÜR c=d TO 51
FRINT HT zu,c;"L": PRAUS INT HT u FRARUSE 5:
F! HT zu DEEP &
REH FÜR
FE
J
N LıNd
ge “
IT
De
USA "K"+a.®
Se
Zug
“111121121 all:
JFraflprı
ie 5%: FRI
‚DE ,di
BEER
NE=T
=0O To 1a
FEH ECHATA FUER =
ECATA =4, Ze, 100,
i =4 „ = „a 155 „ l=E a = STÜP
el el:
Ziel
IT 1:
"J =
ll:
SUREH =4+. ‚tes,
ıyı [U
fe = 1
In ED .: =. =#
J, Zt
Fe
Be
11 I!
Im nächsten Programm, das den Abwurf einer Bombe simuliert, wird das Geräusch des Fallens dadurch erzeugt, daß die Noten(Ton-)frequenz vom höchstmöglichen Ton sehr schnell um 20 Halbtöne fällt. Die damit si- mulierte Fallgeschwindigkeit ist von Anfang an sehr groß, nimmt aber noch während des Falles an Geschwindigkeit zu. Sie hören förmlich, wie die Bombe schneller wird, je näher sie dem Boden kommt.
NEL
FEM EOHBE FÜR: =. BEEP MNE=T FÜR BEEF
EEP CO NE=T
y=a0 TO 20 2,0l,-1@: .al,-Ea
4
e li) 7 17
BEEP 0.01,-5
-| Zn
I=1
Der ZX Spectrum als Musikinstrument 57
Mikrocomputer, die noch weiter entwickelt sind, können nicht nur einzel- ne Noten, sondern dreistimmige Musik spielen. Sie variieren dabei die Frequenz (innerhalb eines Frequenzbandes). Manche Computer haben auch einen Rausch-Generator für brandungsähnliche Geräusche. Der Spectrum hat diese Möglichkeiten nicht. Aber mit ein paar Tricks produ- ziert er immerhin mehr als einfach nur BEEP, BEEP-Laute. Mit den Pro- grammen FREQUENZIZEIT- und FREQUENZ-DIAGRAMMEE kön- nen Sie so etwas ähnliches wie ein Frequenzband herstellen.
Im ersten Programm können Sie die Schrittweite zwischen zwei Noten so- wie die Dauer der Noten variieren. Im vorliegenden Beispiel geht das mittlere C zur nächsthöheren ganzen Note. Es beginnt mit einer relativ kurzen Tondauer und wird immer kürzer, je mehr essich dem oberen Ton nähert.
REM FREWUENZ-ZEIT -EIAGRAMHME INK 7: BOÖRDER E: PRPER 1: C
LET dsUuer=0,05S
FÜR rf=a TO = STEF Ga, EEEF Jauer,f
DRAl Gaaedsuer,Za%sf LET JsUuer=dJdsuer—-a,GaS MHE=T F
ERAl Sca,c: EBEEF 3,5,8 -[lo TO lLoo
1 BE Fi al a
“ish le)
HF De I
58 Sinclair ZX Spectrum
Das Diagramm des zweiten Programms steigt in Schritten, die Sie ın Zeile 40 genau festlegen, von einer Frequenz zur nächsten rampenartig an. So springt der Klang nicht unvermittelt von einer Tonhöhe zur nächsten. Er steigt und fällt vielmehr langsam, weil die Tonhöhe immer nur minimal verändert wird.
12 REM FREÜUENZEIASFRHAHM za EOÖRDER +: FHFER 4: $ za REM CIE WRRIRELEN Fi DILERFEHM GEREHCERT WERDEN 329 LET F=B: LET FE: FÜR = 5STEF ERAI-l IE EEEF HE=T ErRAI-)! FÜR 4 ErRAI-)l EEEF HE=T >[L TO 1lF60
N Hm
fu ıı
TI
Di E
ZN EEE
BEEF_ 3.2, re
>
I ni. 1 Icı®
ke ll =
pe \
4
I = |
Vielleicht möchten Sie mit diesen Frequenzbändern ein wenig herumex- perimentieren und beispielsweise mehrere miteinander verbinden, um komplexe Tonfolgen aufzustellen. Dadurch würde der Klang des Spec- trum noch leiser, so daß ich Ihnen den Einsatz eines externen Verstärkers empfehle.
Der ZX Spectrum als Musikinstrument 59
Das Schlußprogramm MUSIKALISCHE MALEREI verbindet die Fä- higkeiten des Spectrum, Klang und Farbe zu erzeugen. Es läßt Noten von beliebiger Tonhöhe und -länge erklingen (wobei Grenzwerte angegeben sind). Je höher die Note, desto weiter oben entsteht auf dem Bildschirm ein Farbklecks. Und je länger die einzelne Note, desto mehr nach rechts plaziert der Spectrum seinen Klecks. Dadurch entsteht eine Farbcollage, bei der das, was Sie sehen, in direkter Beziehung zu dem steht, was Sie hö- ren.
REM A MUSIFKALISCHE MALEREI EÜRDER 2: FHFER 2: 5L5
FÜR =<=ca TO 251
LET note=RNGb+2a
LET dJsuer=RNb#a,.4
LET tinte=i(iRNGseEı+l
FRIMT INK tınte; AT Za-note, EEEF Jasuer,maote
HE=T * >55 : Go TO 38
”
I _
lz
[1 [00
Hr 5 I
.-
61
Kapitel 5
Der Gebrauch des Spectrum ım kaufmännischen Bereich
Wie alle Computer kann der Spectrum nicht selbstständig denken und handeln. Dagegen kann er mit entsprechender Software ein breites Spek- trum von Arbeiten erledigen. Benutzer kaufen ihre Software mit der Vor- stellung, daß vieles davon eigentlich überflüssig oder für ihre Zwecke un- nötig ist. Aber gerade diese Teile der Software sind unabdingbar notwen- dig. Sie merken das erst später (wenn das System gut ist) und verstehen dann nicht mehr, wie Sie jemals ohne diese Softwarezusätze auskommen konnten. Einige Beispiele für das, was ein Computersystem leisten kann, sind im folgenden kurz erläutert. Sie werden schnell sehen, daß Compu- tersysteme, wenn sie gut sind, eine enorme Hilfe sein können.
Wie schon im ersten Kapitel gesagt wurde, können Computer alles aus- führen, was Sie ihnen durch Ihre Befehle angeben. Sie richten sich immer genau nach Ihren Anweisungen. Wenn Ihr Programm, das Rechnungen bearbeitet, z.B. den Befehl erhält: „Schicken Sie jedem eine Mahnung, der in diesem Monat seine Rechnung nicht bezahlt hat“, kann es vorkom- men, daß auch Mahnungen über DM 0,00 ausgestellt werden, sogar mit der Androhung rechtlicher Schritte bei Nichtbezahlung.
Wie sorgfältig Sie bei der Herstellung und Benutzung von Computerpro- grammen vorgehen müssen, hängt davon ab, zu welchem Zweck Sie es einsetzen wollen. Die Anstrengung, die es kostet, wenn Sie beim Pro- grammieren hundertprozentig sicherstellen wollen, daß die Raumfähre z.B. nach oben und nicht nach unten fliegt, wäre für ein Textbearbei- tungsprogramm völlig überflüssig. Der Aufwand bei der Programmie- rung sollte also immer dem Zweck angepaßt sein.
Die Anwendungsmöglichkeiten des Computers kann man in Gruppen zu- sammenfassen (wobei die Grenzen fließend sind):
Datenverarbeitung im kaufmännischen Bereich
Normalerweise werden recht einfache Arbeitsgänge mit einer ziemlich großen Datenmenge durchgeführt. Für eine Kontrolle der Aktienkurse
62 | Sinclair ZX Spectrum
werden im Grunde nur Addition und Subtraktion gebraucht. Allerdings müssen die dazu notwendigen Daten so schnell wie möglich zur Hand sein. Das ist der springende Punkt.
Beim Durchlauf eines Programms ist die Verarbeitung gespeicherter In- formationen besonders zeitraubend. Ein gut ausgearbeitetes „Geschäfts- planungsprogramm“ besteht aus Modulen, die wechselseitig aufeinander einwirken. Jeder Verkauf müßte sowohl im Hauptbuch als auch beim Warenausgang zu Änderungen führen und Rechnungen, Bestellungen u.ä. zur Folge haben. Es ist von Vorteil, wenn Ihr Textverarbeitungspro- gramm Ihr Geschäftsplanungsprogramm beeinflußt und umgekehrt. Al- les sollte so narrensicher wie möglich sein. Vor allem sollte Irrtum erwar- tet und möglichst schon ım Frühstadium berücksichtigt werden (z.B. soll- te das Programm schon bei der Erfassung prüfen, ob die Daten einigerma- Ben vernünftig sind). Von solchen „Geschäftsplanungsprogrammen“ gibt es nur wenige, aber die wenigen sind ıhr Geld wert.
Gute Software ist teuer in der Herstellung und in der Wartung. Z.B. kann ein Spectrum-Paket, das zur Zeit gekauft werden kann, ziemlich an- spruchsvolle Projekte planen. Es ist so gut wie nur irgendein vergleichba- res Programm, das zur Zeit angeboten wird, und kostet weniger als ande- re Planungsprogramme. Allerdings kostet es mehr als ein 16K Spectrum. Wenn Sie es genau betrachten, ist der Aufwand bei der Auswahl eines ge- eigneten Programmpaketes höher als beim eigentlichen Kauf. Es wird viel Zeit in Anspruch nehmen, einem Anwender zu erklären, daß der ge- forderte Preis gerechtfertigt ist. Nur bei angemessenem Preis kann wirk- lich erstklassige Software auf den Markt kommen.
Textverarbeitung
Mit einer zusätzlichen Tastatur kann der Spectrum recht gut zur Textver- arbeitung verwendet werden. Sie sehen Ihren getippten Text auf dem Bildschirm. Sie können ihn ändern, etwas einfügen (INSERT) oder aus- löschen (DELETE). Sie können sogar den Text vollständig neu ordnen — ganz wie Sie wollen. Wenn Sie mit dem Text zufrieden sind, drucken (PRINT) Sie ihn aus. An die äußere Form hat der Computer schon ge- dacht — der Text sieht sauber und ordentlich aus. Sie können ihn jetzt noch einmal durchgehen und Änderungen anbringen.
Wissenschaftliche Berechnungen
Derartige Berechnungen können sehr komplex sein. Dazu werden relativ wenige Eingaben, Ausgaben und Speicherplatz benötigt. Doch wird für den eigentlichen Rechenvorgang viel Zeit verwendet.
Technische Anwendungen
Der Spectrum kann das Leben des Architekten, Planers und Ingenieurs erleichtern. Grundkenntnisse beim Programmieren zahlen sich gerade
x y
Der Gebrauch des Spectrum im kaufmännischen Bereich 63
bei diesen Anwendungen aus, da es auf diesem Gebiet Berechnungen gibt, die nur einmal vorkommen und nicht dem Standard entsprechen. Es gibt natürlich auch Standard-Software für technische Probleme, und sie ist oft ihren Preis wert.
Echtzeit- und Kontrollprogramme
Bei diesen Programmen wird der Computer in dıe „Realität gestoßen“: Am Ende eines Durchlaufs wird kein Ausdruck auf dem Bildschirm, son- dern eine Handlung erwartet, wie z.B. Motoren an- oder ausstellen. Oft sind diese Programme zeitkritisch, d.h. es muß etwas zu einer festgeleg- ten Zeit stattfinden, weder zu früh noch zu spät. Darin unterscheiden sıch diese Programme von anderen Programmen, die nach ihren eigenen zeit- lichen Abläufen arbeiten.
Kommunikationen
Computer können mit einer Vielzahl von Geräten zusammenarbeiten, so- gar mit Computern. Dazu werden nur normale Telefonleitungen benö- tigt, und schon eröffnen sich viele interessante Möglichkeiten.
Der Spectrum ist sehr gut für geschäftliche Belange geeignet. Sie bekom- men mit ihm eine leistungsfähige Maschine zu einem vernünftigen Preis. Wenn in einem Geschäft ein Computer erforderlich ist, dann sprechen viele handfeste Gründe für seine Anschaffung. Fast jeder, der eine Schreibmaschine benutzt, braucht eine Textverarbeitungsmaschine. Der Spectrum kann auch bei Echtzeit-Anwendungen und bei wissenschaftli- cher Arbeit eingesetzt werden.
Im allgemeinen ist es empfehlenswert, sich die Software, die Sie benöti- gen, anzusehen, bevor Sie sich einen Computer anschaffen. Viele Perso- nen waren fasziniert und kauften sich einen Computer mit einer ein- drucksvollen Bandbreite von Anwendungsmöglichkeiten. Sie mußten schließlich entdecken, daß sie keine Software dafür kaufen konnten und daß es ziemlich teuer gekommen wäre, sie extra in Auftrag zu geben. Die- ses Mißtrauen ist beim Spectrum auf Grund seines hohen Marktanteils nicht angebracht. Was immer Sie für ihn brauchen, können Sie jetzt be- kommen bzw. wird in Kürze erhältlich sein. Hınzu kommt, daß Spectrum- Software generell preiswerter angeboten wird als Software für andere Maschinen. Ein Grund dafür ist, daß bei ihm langatmige Erläuterungen, Kundenunterstützung oder individuelle Anpassungen selten vorkom- men. Denken Sie daran, wenn Sıe Software für den Spectrum aussuchen, daß die Qualität von Verpackung und Werbung nicht unbedingt mit der Qualität der Software übereinstimmen muß. Vor allem sollten Sıe Ihre In- formationen aus Empfehlungen erfahrener Benutzer und, bis zu einem gewissen Grad, auch aus Zeitschriften beziehen. Vielleicht wollen Sie ım Augenblick noch keine Software für kommerzielle Anwendungen kau- fen. Trotzdem können Sie sich von Ihrem Computer jetzt schon zeigen
64 Sinclair ZX Spectrum
lassen, wie viele Anwendungsmöglichkeiten es für die Programme gibt, die Sie selbst geschrieben oder überarbeitet haben.
In diesem Kapitel soll Ihnen mit fünf Programmen gezeigt werden, wie Ih- nen der Spectrum zu Hause oder in Ihrem Geschäft helfen kann. Mögli- cherweise entsprechen diese Programme nicht völlig Ihren Vorstellun- gen. Keine Sorge, sie lassen sich leicht abändern und Ihren Bedürfnissen anpassen.
Folgende Programme wurden entwickelt:
Privatausgaben — damit können Sie Ihre laufenden Ausgaben genau auf- schlüsseln. Wie andere Programme enthält dieses Programm ein Menü, das Ihnen u.a. erlaubt, den gegenwärtigen Stand Ihrer Konten auf Kas- sette abzuspeichern.
Terminkalender — dieses Programm sortiert die Eingaben nach Datum und druckt sıe auf Anfrage aus.
Telefonverzeichnis — es nimmt Namen und Telefonnummern auf und sucht im Bedarfsfall den gewünschten Namen aus dem Verzeichnis her- aus. Es kann jederzeit auf den aktuellen Stand gebracht und ergänzt wer- den.
Datenbank — sie speichert bis zu 130 Angaben mit je 24 Zeichen zweimal (dies gilt für die 16K-Version; aufeinem 48K-Spectrum kann eine größere Datei angelegt werden). Auf diese Art und Weise kann die Datei nach ei- nem von zwei Kriterien durchsucht werden. Mit diesem Programm könn- ten Sie z.B. eine Sammlung von 130 Schallplatten speichern. In alphabeti- cher Reihenfolge der Künstlernamen oder (Platten-)Titel kann eine Liste aufgestellt und auf den Bildschirm geschrieben werden, nach der Sie dann das Gewünschte heraussuchen können. Das Programm läßt sich nötigen- falls leicht ändern, wenn Sie z. B. nur eine einzige Datei oder weniger Zei- chen pro Datei brauchen. Dann könnte das Programm mit viel mehr An- gaben und auch günstiger arbeiten (die Reihenfolge der Suchverfahren bleibt dabei unverändert).
Finanzplan/Verkaufsvorhersage — Ein weltweit bekanntes Softwarepa- ket für die Geschäftsplanung ist VisiCalc, ein tabellarisches Kalkulations- programm. Der Benutzer kann aktuelle Aufgaben eingeben und davon ausgehend Pläne für dıe Zukunft entwickeln. Das folgende Programm stellt eine der Aufgaben von VisiCalc vor: Es analysiert den Anfall der Verkaufszahlen innerhalb eines Monats (oder welchen Zeitraum auch im- mer Sie haben wollen). Bei Planungen mit diesen Angaben können Sie dann entweder vom durchschnittlichen Absatz pro Monat für diesen Zeit- raum ausgehen, sofern die Ergebnisse bekannt sind, oder von den Ver- kaufsergebnissen des letzten bekannten Monats.
Diese Programme müssen vielleicht noch etwas abgeändert werden, be- vor sie für Sie zu Hause oder in einem kleinen Geschäft von Nutzen sind.
Der Gebrauch des Spectrum im kaufmännischen Bereich 65
Davon abgesehen sollen sıe vor allem zeigen, wie Geschäftsplanungssoft- ware geschrieben werden kann. Im Gegensatz zu Spielautomatenpro- grammen, die sich durch besonders trickreiche Programmierung aus- zeichnen, werden Geschäftsprogramme übersichtlich und gut lesbar ge- schrieben. Das liegt daran, daß sich die Aufgabenstellung eines Ge- schäftsprogramms schon vorher recht klar umreißen läßt, während ein Spielprogramm erst im Lauf der Programmierung entwickelt wird.
Wenn Sie wissen, was Sie mit einem Geschäftsprogramm machen wollen, werden Sie sehr schnell ein Programm schreiben können oder jemanden dafür finden. Jetzt schauen wir uns die Programme nacheinander an. Bei genauer Betrachtung aller Listen können Sie vielleicht lernen, wie Sie Ge- schäftsanwendungen programmieren können.
Private Ausgaben
Beim Start dieses Programms sehen Sıe zuerst folgendes Menü auf dem Bildschirm:
Gegenwärtiger Saldo ist 0 DM
Eingabe:
1 — Start von Anfang an
2 — Zahlungs-Tabelle ändern 3 — Geld einzahlen
4 — Auf Band speichern
5 — Programmende
Mit solch einem Menü gehen Sie immer sicher, daß das Programm ohne großartige Instruktionen durchgeführt werden kann und ohne einen Pro- grammierer, der Ihnen erklärt, was Sıe als nächstes tun sollen. Vernünfti- gerweise geben Sie beim ersten Programmstart die 1 ein: „Von Anfangan durchlaufen lassen“. Dann erscheint auf dem Bildschirm: „Geben Sie die Anzahl der Posten ein, dıe jeden Monat bezahlt werden müssen.“ Jetzt geben Sie an, aus wie vielen Posten sıch Ihre Fixkosten zusammensetzen, wie z.B. Ihre Hypotheken, die Bezahlung Ihres Autos, irgendwelche Ra- tenzahlungen, Ihre Kreditkarte, andere Daueraufträge u.ä. Geben Sıe beim ersten Durchlauf lieber zuviel Posten an. Nach dem Programmstart können Sie nämlich nichts mehr hinzufügen.
Wenn Sie die 4eingeben, werden Sıe aufgefordert, der Reihe nach die Be- zeichnung für jeden einzelnen Posten der Fixkostenaufstellung anzuge- ben, zusammen mit dem jeweils monatlich fälligen Betrag (genauso zeigt es das Beispiel, das der Programmnliste folgt). Diese Angaben können spä- ter leicht geändert werden, wenn Sie erst einmal die Fixkostenaufstellung vollständig durchgegangen sind (dabei setzten Sie dort Blankoangaben ein, wo Sıe über Ihre gegenwärtigen Bedürfnisse hinaus noch nicht vor- handene Fixkostenpositionen mitgezählt haben). Am Ende der Fixko- stenaufstellung erhalten Sie nämlich vom Computer die Rückmeldung:
66 Sinclair ZX Spectrum
„Wenn alles stimmt, drücken Sie ENTER. Wenn nicht, geben Sıe die Nummer der einzelnen Angabe an, die Sie ändern wollen.“
Falls das Programm Ihren Banksaldo nicht kennt, z.B. beim ersten Durchlauf, meldet es „Geben Sie den letzten bekannten Saldo ein“ und dann: „Geben Sie nacheinander alle Einzahlungen ein, wie z.B. Ihr Ge- halt. Am Ende der Eingaben schreiben Sie ‚E‘.“ Bei Einzahlungen erhöht sich automatisch die Saldosumme (links oben auf dem Bildschirm zu se- hen). Wenn Sie die Eingabe aller Einzahlungen mit „E“ signalisiert ha- ben, müssen Sie sich wieder einmal zwischen zwei Möglichkeiten ent- scheiden: „Geben Sie mit 1 den Befehl zur Subtraktion der gegenwärtigen Kostenaufstellung oder tippen Sıe 2 für das Menü.“ Bei der Eingabe von | subtrahiert der Computer den gesamten Endbetrag aller vorhin aufgeli- steten Fixkostenposten. Mit dem Ausdruck des Saldos sind alle monatlich anfallenden Kosten subtrahiert worden.
Sie sind jetzt wieder beim Start-Menü. Jetzt ist der „gegenwärtige Sal- do...“ (hoffentlich) nicht mehr gleich Null wie beim ersten Durchlauf. Wenn Sie das Programm auf Kassette speichern, werden alle Variablen mitgespeichert. Wenn Sie allerdings beim nächsten Mal das Programm mit RUN oder CLEAR starten, wird der Inhalt gelöscht. Die letzte Zeile des Programms (GO TO 430) stellt sicher, daß es nach dem ersten Pro- grammdurchlauf automatisch startet, ohne den augenblicklichen Saldo- stand zu löschen. Beachten Sie bitte beim Programmdurchlauf, wie Sie INK und FLASH benutzen, um Teile des Programms hervorzuheben. Farbe und andere grafische Effekte sollten dazu dienen, jeden Fehler durch den Benutzer nach Möglichkeit auszuschalten. Ebenso sollte schon der Input möglichst viele „Fehlerfallen“ enthalten, damit kein Benutzer- fehler das ganze Programm zusammenbrechen läßt. Z.B. akzeptiert die Zeile 325 keine Null-Eingabe bei Zeile 320. Eine Leer-Eingabe (dazu drücken Sie ENTER, ohne vorher eine Zahl anzugeben) würde in Zeile
zZ REM FRTIDATAUISGABENH = LET 33 L.dJo = - 5=O To +20 FRIHT °"""WUIEUNIEL FÜITEHN FA HÖNFTLICH AMT" “ ZSHhi: GLS
IR s3=1 TO zahl i ‚dd; "NAME DER FO
Er
u I H
— I 1 “ ZT FH
„as; "WIE MOCH SI MONAT IM DH?"
=4.24e
las IMFI_ Il: FRI: THE 157,"
ZumIoiw NT
1.20;3: THE 7; 381: 2
_r ı
Der Gebrauch des Spectrum im kaufmännischen Bereich
l=2 NE=T 3 132 FRIHT 1: "ENTER" F ILHTIG E HR. Ari" 1415 152
17G PRINT
zZ ST ’
"TIPPEN FLASH ‚, ÖbER LER FEHLERARFTEN ROSTENA
INFLT b$ IF bi-"" 182 LET beurl 6$
"NELE BEZEICHNUNG
FR CIE KOSTENART
11304
HF La
FRIMNT
m
== 11211211: u Ya
INFUT GLS FÜR FRI
fiel
rüteteiee:
—_—
I
mr
IHNFIT
in
Gel el iS) 10
IHPLT
NROSMHT RENNEN III E
ıT in
m
E = TE E T LE:
MX Sner.
ZEN
T
LET aus HE»=-T 3 GLS
412 FRIMT
MI) „N
HH AL N.
l, Zy IA
e
Hr ROSTENABZUG
ZTEN PRÜ
3 (0b)
=1 3; TRE
"LIE
GELBE INGANG SEN, ZB. BEHRLT EIG," ,;
EINGABE
IHNFIT 35 (6
"LIND
W\IIE HOCH
SIE 3 2;", WENN
FLASH C-IES.
GEBEN SIE CI RT
THEH Gl TO zei
FUE
"ib
=ING CI
MHaHlaAT IN GHr"
Tao
zahl
3;3$8(3); TAB 15;
axz»cd THEM GO TO
Or
a$ IF q6=e"" IF q$="
ODER
a
STIP FEH CM LAUFENDEN HF. SSTENPLAH za 5 RAHIEREH , GEHEN!" ; c IF €=2 THEN GO TO 4a LET 3Uu293ben=ü:
za AR GER LETZTE
"TH": 53 Ldü
41 EIN "ENDE FLASH 3:76”
THEN Go TO 22 E" OR
a$="e" THEN GO
an OD BERE- 3%
SIE 2, Wi PLL
2, UM INS MEHU
FÜR sa3=1 TO
.9sben=3Uu293ben+3 13)
"SALbO VOR LAUFENDE
.IAR CH
";e3aldao
420 LET saldo=saldo-ausgaben "AKTUELLER STAND IS
432 FRIMT T DM 45a PRIMT de.a PRINT ANGEHT" da PRINT ERM" za FRIMNT 425 FRIMT PSS5EITE" a2 FRINT Gala IMPFITMT =1& Tao 3 Gala
= la
rn
SO TI
c=1l THEN
,‚sSaldd:
FALSE za: 1
AUSMAHL : " “ AR ABE RR
+2
CL:
THEN THEN TrEN THEHN
un slzl
NOCHMAL NEL ANF KOSTENFPLAN AEND
GELDEELEGUNGEN" SPEICHERN AUF EHE
STOP" Ler SO TO zlu SO TO Zald
SALE "AUSGABEN" =TÜrF
231_LJao=sia: Gl
67
68 Sinclair ZX Spectrum
340 zu einem Fehler führen. Genauso akzeptiert das Programm den Kleinbuchstaben „e“, um die Eingabe der Einzahlungen abzuschließen. Das Programm will zwar (in Zeile 310) das große „E“, aber innerhalb des Programms gibt es keinen Befehl, der sicherstellt, daß CAPS LOOK fest- gelegt wurde.
Probelauf: PRIVATE AUSGABEN
AFRTUELLER SRALDbO IST bDMIS42,.75 LISIJIAHL : - NOCHMAL MEL ANFANGEN - KOSTENFLRAN RENDERH GELCBELIEEGUNGEN SPEICHERN AUF KASSETTE STOP PreIe EHSSE HFÜTHER ECMSad
ALTO DCHd+E. 75 SONSTIGE CMlac
3 4
TIPPEN SIE ENTER, WENN DIES RICH TIG IST, ÖDER GEBEN SIE DIE NR. DER FEHLERHAFTEN KOSTENART AH! CHIS42.75
GELDEINGANG IM EINZELNEN, Z.E.
GEHALT ETC. ENbCE BEI EINGABE WON E
a een KOSTENREZUG ARTUELLER ZSALbO IST CM 4daö HUSLIAHL :
l - NOCHMAL NEU ANFANGEN
Der Gebrauch des Spectrum im kaufmännischen Bereich 69
Terminkalender
Das Terminkalenderprogramm kann natürlich für jedes Planungspro- blem benutzt werden. Obwohl es im Augenblick mit Tagen arbeitet, kön- nen Sie es ziemlich leicht abändern, um gegebenenfalls mit Stunden zu ar- beiten.
Dieses Programm ist das einfachste in diesem Kapitel. Seine Aufgabe ist: (a) ein Datum und ein Ereignis zur Kenntnis zu nehmen; (b) die Ereignis- se in der Reihenfolge ihres Datums zu ordnen und (c) sie auf eine Anfrage hin auszudrucken.
Immerhin ist das Programm nicht ganz so einfach, wie es sein sollte. Das liegt an der Art und Weise, wie Daten geschrieben werden müssen. Daten für das Programm müssen wie folgt eingegeben werden: Tagesdatum, Querstrich(/), Monatsdatum, Querstrich, Jahreszahl. Falls der Computer die Querstriche nicht beachtet und die Daten nach ihrer Größe sortiert, würde er z.B. den 12. Dez. 1901 vor dem 1. Jan. 1999 einordnen (die Zahl 121201 ist größer als die Zahl 10199). Das Programm sollte die Daten bes- ser in ihrer zeitlichen Abfolge schreiben können (die weiter zurückliegen- den Daten würden dann als „kleinere Zahlen“ behandelt), so daß es für den Benutzer einen Sinn ergibt. Auch die Tatsache, daß die Angabe von Tag und Monat einmal aus einer und dann wieder aus zwei Ziffern beste- hen kann, ist ein Problem. Der Computer muß in der Lage sein, einstelli- gen Angaben von Tag und Monat eine Null voranzustellen (und natürlich auch wissen, wann eine Null nötig ist).
Die Routine dafür finden Sie zwischen den Zeilen 40 und 80. In Zeile 40 sollen Sie das Datum in der gewünschten Form eingeben. Zeile 50 ordnet dem Datum eine Zeichenkette zu, so daß es ein paar Zeilen weiter ausge- druckt werden kann. Zeile 60 prüft, ob der zweite Bestandteil des Daten- Strings ein Querstrich ist. Ist das Tagesdatum einstellig, wird ihm eine Null vorangestellt. Zeile 70 prüft, ob das fünfte Element des Daten- Strings ein Querstrich ist (wenn die Monatszahl nur aus einer Ziffer be- steht). Wenn ja, dann wird der Monatszahl eine Null vorangstellt. In Zei- le 80 wird das Datum neu geordnet, zuerst das Jahr, dann der Monat und zuletzt der Tag. (In Amerika müssen Sie übrigens den Befehl 4 TO 5 mit dem Befehl 1 TO 2 austauschen. Denn in den USA wird der Monat vor dem Tag angegeben, wenn das Datum nur mit Zahlen angegeben wird; entsprechend müßten Sie 25/12/84 in Zeile 40 in 12/25/84 ändern.)
Zeile 90 schreibt das Datum in seiner ursprünglichen Form oben rechts aus (weil wir B$ dem eingegebenen Datum zugeordnet haben). Geben Sie jetzt das „Ereignis“ ein, das Sie zusammen mit dem Datum registriert haben wollen. Wie im Programm PRIVATAUSGABEN können Sie nun die Eingabe, so wie sie jetzt aussieht, akzeptieren oder ablehnen und von neuem eingeben.
Nehmen wir an, Sie sind mit der Eingabe einverstanden, dann ordnet das
70 Sinclair ZX Spectrum
Programm das Element des D$-String, der Ihren Kalender enthält, dem Datum und seinem Ereignis zu (dabei muß das Datum schon, für den Computer lesbar, aufbereitet sein).
Ab 220 sortiert die Routine den Inhalt des Terminkalenders und schreibt ihn in verständlicher Form aus. In Zeile 330 wird das Datum so geschrie- ben, daß Sie es gut lesen können. Unterhalb des Programms ist ein kurzer Probelauf angegeben. Vielleicht wollen Sie zur Übung noch ein Menü da- zuhaben, um den Kalender — wie im Programm PRIVATAUSGABEN — speichern oder verbessern zu können. Wenn Sie mit der vorliegenden Form einverstanden sind, können Sie das Programm sofort speichern. Sie können dann später weitere Daten hinzufügen, die dann automatisch an der richtigen Stelle eingeordnet werden; vorausgesetzt, Sie starten das Programm mit GO TO 40 (statt mit RUN).
lz FREH TERMIMF. HLENDER Zu EIHM JH izaa , 52)
FOR d=1 On ZZ IHNFLT "CATUM IiZ.E. "6
Bi
Trees LET
Teen LET
E19
TO Z1+35iI4 TO
-
HR ENTER NEE
+ NDDHET LH HT
21,20; "CATLUM: ";:bS$ ER ÜRZTE: “I IMA=. =
E EN
Ze Jin Ti
Ze Le "HEH) 7
112 INFIT
12:2 CL>
135 FRINT HT ı ES. c&$
145 FRIHMT ° °" Falls ALLES OrFeA,Y I 1; BJ} @ ": INVERSE 1: ENTER”; IMNERSE „ AND 'IERENFALLS EITTE ";
‚Fur: ZH u "-E’"; PLRASPF 9,” TIPPEN
'ı1so INPLIT e$: CL5
lEC IF es::"" THEN GO TO 4a
I’a LET dJ$(id1=3$+C$
150 PRINT °""TIPPEN SIE BITTE ; INWERSE 1; "ENTER"; INUVERSE 0; "
ZÜR EINGABE GES NAECHSTEN Pi SSTE HM,",." ÖbCER IRGENDEINEN ANDEREN BE LCHZTAEBEEH MIT ENTER; UM DEN UEEE RZSICHTSFLAN ZU CRUCKEN!"
132 INPIT e$: CLS
za IF €2$5="" THEN NEXT d
ze1l0 PRINT FRPER 2; FLASH 1; "EIT TE GEDL LE..." : FAUSE loc: CL
EH 50 TO 250 eEiI:d$izı THEN Gl TO =
fa fa gcfüfl -.J Tı ın ei. B
ıfı
GO TO 252
fl n.ı R
[1 Kl
Der Gebrauch des Spectrum im kaufmännischen Bereich 71
Ne U RE
I:
- 103
raid
3=3-1 3:20 THEN 50 TO =
Probelauf: TERMINKALENDER
IL. Ge’ 34 -Zahnarzt aekfzl-eınkasufen ee elf L3U 6
“„"zıt-erzter Arbeıtz2t3J
og -lJeihmachtseinkauf
Telefonverzeichnis
Wahrscheinlich sehen Sie längst, was die Programme TERMINKALEN- DER, TELEFONVERZEICHNIS und DATENBANK miteinander verbindet. Im wesentlichen werden in allen drei Programmen Daten vom Anwender eingegeben, sortiert (bei DATENBANK gibt es mehrere Möglichkeiten) und dann in der richtigen Reihenfolge ausgedruckt bzw. auf eine Anfrage hin durchsucht.
Der Aufbau der drei Programme müßte Ihnen eigentlich mehr als einen Anhaltspunkt dafür geben, wie Sie selbst Programme zur Datenverwal- tung und Sortierung für Ihre eigenen Problemstellungen schreiben kön- nen. Das Hauptmenü zeigt die verschiedenen Möglichkeiten:
72 Sinclair ZX Spectrum
HISIIAHL . 1
- MEUES WERZEICHNIS ANLEGEN
- NELE NAHEN EINTRAGEN
-— SUCHEN MACH EINEM MAMENH
- SPEICHERN DES WERZEICHNISSE: ERUCHEHN DEI WERZEICHNISZSES. Tor
Sie können im Prinzip 200 Zeilen mit bis zu 32 Zeichen eingeben. Wenn Sie sich aber mit Vornamen begnügen wollen, können Sie die Zahl der Eingaben sehr einfach erhöhen, indem Sie die Zeile 20 in DIM D$ (400,16) ändern. Sie geben den Namen und die Zahl ein und können noch einmal diese Angaben bestätigen, bevor sie in das Verzeichnis eingefügt werden.
Für die Eingabe eines neuen Namens drücken Sie ENTER und gelangen so zur Zeile 40, zur Eingabe des nächsten Satzes.
Wenn Sie das Verzeichnis sortieren wollen, drücken Sie irgendeine Taste (außer BREAK) und anschließend ENTER. Das Verzeichnis wird dann alphabetisch neu geordnet, entsprechend dem Anfangsbuchstaben des eingegebenen Namens (wenn das Verzeichnis Nachnamen aufführen soll, müssen Sie natürlich erst die Nachnamen eingeben). Jetzt werden Sie zum Menü zurückgeschickt. Wenn Sie die Nummer 3 drücken „Telefonnum- mer suchen“, geht das Programm zur Zeile 500 und schreibt „Geben Sie den dazugehörigen Namen ein“. Der Computer sucht dann im Verzeich- nis (das nimmt verblüffend wenig Zeit in Anspruch) und drückt entweder die Nummer aus, wenn er sie findet, oder er meldet „Name nicht gefun- den“ (er sucht natürlich nur nach dem Namen, so wie Sie ihn eingegeben haben, mit den gleichen Zwischenräumen).
Mit diesem Programm können Sie wie im Programm PRIVATAUSGA- BEN das Verzeichnis auf Kassette speichern. Wenn es wieder geladen ist, können Sıe es selbsttätig durchlaufen lassen (ohne daß es seinen Inhalt
Der Gebrauch des Spectrum im kaufmännischen Bereich
73
verliert). Wenn Sie es mit Hand starten wollen, ohne den Inhalt zu löschen, fangen Sıe mit GO TO 360 statt mit RUN an.
nz
si To 5ela EC. IM J$ (aa Ga) FÜR dJd=1l TO Zaa
EEE
En FRIMNT AT Ga,c0; BS$; "
Tun ROLE
CHR H
R= E .;: ENTER" ;
IHNJERSE
IHFLT "WELCO ER MHAME” FRIMNT AT u "NAME: INPUT ” LIELE HE TELEFOÖN-NR.
":b8
PRIMHT """TIPFEN SIE x
DIESES RICHTIG IST, ObER
SIE "; FLASH 15" BE; UND DANM ENTER!" 152 INPUT 8$: CLS
FLAS
1550 IF e8<:>"" THEN GO TO Ira LET dSid!=b$+" "+cH
1-1: FF IH-T
-“TIPPEN SIE " RSE 1; "ENTER"; INUVUERSE
HEIHSTEN EINTRAGL INS, ODER EINE TASTE UND CANNM ENTER
JIFTIEREM" 122 INFLT e$: CL3
Be IF 2e$="" THEN NEXT
[N F! =
2
RTIERT ..."
FOÖHE z2692,0
LET b=i&
LET 3=d
LET z=1
LET b=z2+1
IF 6:9 THEN GO TO
[n
"JUN BIT
ıfı
BALEUH INELHEESHLHHLHEIHELHECHECNE NEE RE
= Mi , H
So TO
131 ıLı
ELLI JUNE LITE
HH 6 r
ZSIIAHL : - NEUES
n n H
10 FH ‚ ocLf ı# {2
© n 7 am =
T: nz 5 P F IHT "zZ —- MEUEN
Zaz PR IHT EH MAMEH" Jia PRIFT "" 4 ERZEICHNISSES" as FRIMT °"5 ZELCHKISSES” 412 FRIMT °" ni _ dei: INPL m 5b; GLS 430 IF be THEN So TO 4142 IF b THEM NE=T 452 IF B THEHN GO TO d-ia IF 6b THEHN SALE Eı F E:
I r Mm y. A
SPEIC
STOor"
ey e dES IF THEN FOR 3 HT dgial. N
2 ER will: [ uw Ir THErH STOrF
Ta Fi. N
m
in ll TC I I
IF J$(b) >dgiz) THEN”
Im
esSec
z4n LIEERZ
REM TELEFÜN-WERZEICHNIS
";b5$
‚H
IHLIE JEHM
Liz
GEEEH EI;
IHE ZUR H IRGEND zUM 5
FRIHT FRAFER 2; FLASH 1; "ER
a To 2
E ICHN
HAMEN
J' ZIEHE
"WERZEICHH
:HEFRH - ERUCHREN
ll
® E Sa ne
I
EIN
- ZUCHEN NACH EIM
VER
=T
74 Sinclair ZX Spectrum
"EINGABE DEZ NAMEMNT : LET F=LEN 35 FLASH L; IMNFR 1;" Ic " ‚as
ri=35$5 THEN FRI | si TI DEE
t
le FH SU
&
=. =, FIT = =
IT Fra
"NAHME HMICHT WÖRHRANDE
rl
ea GSOTO Z6E
Probelauf: TELEFONVERZEICHNIS
HLEIEER Ge2T24.-2aaM 1 HEIER Qell-’anl234S5E7
2 TE DS Sr Er TLL ZITZELITZ 239392, oros
Datenbank
Dieses Programm ist eigentlich eine Weiterentwicklung vom TELEFON- VERZEICHNIS. Es soll ein Verzeichnis von einer Schallplattensamm- lung anlegen und speichern, einmal nach Künstlernamen und einmal nach Musiktiteln geordnet. Es ist in diesem Kapitel untergebracht, weil es et- was abgeändert auch bei einer Geschäftsdatei von Nutzen sein kann. Wie bei anderen menügelenkten Programmen, skizziert auch hier das Menü, wie Sie dabei vorgehen können.
1 —- Anlegen einer neuen Datei
2 — Eintragen neuer Daten
3 — Ausdruck nach Künstlernamen
4 — Ausdruck nach Titeln
5 — Suche nach einem bestimmten Künstler 6 — Suche nach einem bestimmten Titel
7 — Speichern der Datenbank auf Kassette 8 — Programmende
Der Gebrauch des Spectrum im kaufmännischen Bereich 75
Das Programm fordert auf, einen KÜNSTLER/KOMPONISTEN, dann einen TITEL und ein SACHGEBIET einzugeben. Dieses Sachgebiet be- zieht sich auf Ihr eigenes Registriersystem. Es wird nicht zum Sortieren gebraucht, aber das Programm veranlaßt, daß es in sortierten Listen ent- halten ist. So erhalten Sie bei der Suche nach einem Titel zusammen mit dem Titel den Künstler und das Sachgebiet. Wenn Sıe dann nach einem Künstler suchen, erscheint ein Künstlername, ein Titel und das (entspre- chende) Sachgebiet. Die Künstlerdatei ist im F$-Feld, und die Titeldatei im E$-Feld enthalten. Bei der Suche nach einem Künstler oder Titel ver- gleicht das Programm nur die ersten vier Buchstaben des Namens. Als Ausdruck sehen Sie einen Ausschnitt von fünf aufeinanderfolgenden Ein- tragungen der Datenbank, einmal nach Künstlernamen und einmal nach Titeln geordnet.
lzı REH C HTENERANF. 2 FRIFT ° " " "AUSIIAHL : ı‘ FRIMT ""1l - ANLEGEN EINER H ELUIEN CHATEI" >32 PRIMT ""z& - EINTRAGEH NEUER CÄTEN" 4a FRIMNT °"5 -— AUSCERUCH MRACH HF LENZSTLERHRAMEN" ia PRIMT ""4 AUSERUCH NACH T TITELN” Ei PRINT ""S SUCHE NACH EINE r KUENSZTLER" ia PRINT ""& SUCHE NACH EINE » Tale Sc PRINT °"7 SPEICHERN CER C FHTEHN HUF KASSETTE" Zia "3 - STOP" Linz \ Ilcı
; =
THEN GO SUE
THEN NEXT J
THEN GO SUE
THEHN GO ZUE
THEM GO SUE wre
THEN GO ZUE Sala THEN SALE "CATEN" THEN STOP
eu
511320,241: DIM esilöo,
4 z =, E& r a 1
3 F
fi
Tri
FÜOHE @) - „&
FOR s=1 TOD 150; GLS
FRIM-T AT 0,0; INK 2; "ZUM EE Hl NEUER EINTRAGUNGEN TIFFEH EITTE “TH
PET FT 12,10; "CHATEN-HR" 1 3
TNBLT "WELCHER HKUENSTLERHPAM 38
IF 3$="Z" THEN GO TO Zea FRINT "3%
INPLUT "WELCHER TETEL? "5753 FRItT "t$
INPUT "WELECHES SREHBEBIET”
FRIMT 'cH
= Tui fu fi Fr fi fh
m
EINES
- INHDELT
I»
m
face fi ci [Tı
IL EI =] EEE
fü 7 H
+# I:
76 Sinclair ZX Spectrum
332 PRINT °"BITTE TIFFEHN SIE ". IHWERSE 1; "ENTER"; IMWERSE 0; " . WENN DIES RICHTIG IST; SONST IR GENCEINE ANDERE TASTE UND DAMM E NTER!" 34 INFLT 2$ IF z$::"" THEN GO TO 24a "tg" +ch "+3$+": "404
ine NEE:
1]
LIES LITEE -11=
Pl ZI 111%
IK. 1; FLASH 1;"BITTE ETIIAS GELCULD BEIM SURT!"
495 LET 9=Jj: LET b=@
323 LET zZ
+40) LET b=Z+i1
4529) IF bBb>93 THIEN LET 3294-1: ZIP ‚at THEM GO TO 4lıa
4SS IF J=d THEN Go TO Sad
‘ea IF Ff$(b1:rf$iz) THEN Gl TO 4 le
TO dd
NIEREN
IN Pie Eid
>93 THEN LET 9=9-1: IF 9
Ei Ü Soo IF 9=8 THEN CLS : GO TO 20 IF esib)<seg(iz) THEN GO TO S5S
Lie
=
He
- | 1Tı Ei
5 = = = S el = S ( =, BE: E BE: BE
1
7
KiLETE
Pole dd ZEHN:
E52 NE=T
EEE RETURHMN
5’@ FOR sl TO J
BS5C LPRIHT 85 Im]
E32 ME=T mM
ala RETUIFRHMN
”ı@a PRINT "WELCHER KUENSTLER? eia INFLT n$: LET n$=n$+" " sa FOR m=1 TO 53
748 IF FSim) f TO A=n$t TO 43 T HEH GO TO Fri
oa NEXT Mi = FRIMNT "EUENSTLER FEHLT": FRA za: RETUFRH
FRIMT F$ im)
FAUSE (G
FRETUFH
FRIrT "LIELCHER TITEL”
IHNF_T ns: LET r$=en&$+"
FÜR m=1l TüÜ u
1 Se TO A eh$gtı TO #9 T 5sco TO 380
HME»-T mM
FRIHT "TITEL FEHLT": FRUSE RETIFHN
FRIMT 85 im)
FRARUSE 0
FETUFHMN
Sn HT = zz
IHREN Ir ll
ENEHEN
L m
1) TUN PL 1131
f1
u.) Pd
Der Gebrauch des Spectrum im kaufmännischen Bereich 77
Probeausdruck der DATENBANK:
BERTLES: HELP: 005
CHÜP IN: WALZER: 34.3
MOZART : FANTASIE:K 3687
TRIO:CA CA bCR:ES
LIDO LINDENBERG: SONDERZUG: DES
CHA EA DR: TRIO:ES
FANTASIE: MOZART : K367
HELP: BEHTLES: 005 SÖNDERZUG : UDO SIR DENBERB! RES .IALZER: CHÖFIN: Dd.-
Finanzplan/Verkaufsvorhersage
Wie schon eingangs erklärt, gibt dieses Programm eine grobe Vorstellung von den vorteilhaften Möglichkeiten, die von Kalkulationsprogrammen wie VisiCalc geboten werden. Unser Programm soll zunächst einmal die monatlichen Verkaufszahlen notieren sowie die Anzahl der Reklamatio- nen, jede Veränderung beim Personal, kurz: jedes Ereignis von geschäft- licher Bedeutung, das ziemlich regelmäßig vorkommt und in regelmäßi- gen Abständen registriert werden muß. Von diesen Informationen ausge- hend soll das Programm die monatlich zu erwartenden Gewinne im vor- aus berechnen, natürlich unter der Voraussetzung, daß die gegebenen Faktoren die gleichen bleiben.
Geben Sie eine 1 ein, wenn Sie eine „hardcopy“ der Programm-Ergebnis- se haben wollen (d.h. eine 1:1-Kopie des Druckers). Dann werden alle bedeutsamen Werte (natürlich ohne die Benutzer-Fragen) ausgedruckt (LPRINT) und zusätzlich auf dem Bildschirm gezeigt. Danach werden Sie gefragt: „Für wieviel Monate sind Angaben erhältlich?“ Tauschen Sie ge- gebenenfalls Monate gegen Tage oder Jahre oder irgendeine andere Zeit- spanne aus, die Sie brauchen. Dann sollen Sie pro Monat eine Angabe machen. Das Programm kann zur Zeit Eingaben für 19 Monate abarbei- ten. Wenn Sie Daten für mehr als 19 Monate haben, tauschen Sie die An- gabe „A-1“ am Anfang der Zeile 100 gegen eine Null aus.
78 | Sinclair ZX Spectrum
Der Spectrum wird dann die angenäherte Differenz zwischen zwei aufein- anderfolgenden Monaten berechnen. Dabeı wird der zweite Monat mit dem ersten, der dritte mit dem zweiten Monat usw. verglichen. Die durch- schnittliche, prozentuale Anderung wird anschließend ausgegeben.
Zur Vorhersage von Umsätzen müssen Sıe die Zahl der Monate angeben, für die Sie Angaben vorausberechnet haben wollen. Es ist auch wichtig, ob diese Voraussage von der Angabe für den letzten Monat oder vom durchschnittlichen Monatsumsatz ausgehen soll.
Sobald das alles geklärt ist, stellt Ihnen das Menü folgende Punkte zur Wahl:
1 — die Vorausberechnung soll von neuem starten (d.h. Sie können für die Ausgangsangabe gleicherweise den monatlichen Durchschnitts- wert oder den letzten Monatsumsatz angeben, wobei der Zeitraum länger oder kürzer sein kann)
2 — noch einmal bis zur Ausgabe durchlaufen, jedoch ohne Eingabe von Zahlen (trotzdem müssen Sie die Fragen für die Vorausberechnung beantworten)
3 — Durchlauf des Programms von Anfang an (dadurch werden alle au- genblicklich vorhandenen Daten gelöscht)
4 — Speichern auf Kassette (ein Rückgriff darauf ist möglich, wenn Sie nach dem Laden von Kassette Punkt 2 des Menüs wählen)
5 — Programmende
Wenn Sie nach einmaligem Durchlauf des Programms ohne Druckeraus- gabe einen Ausdruck wollen, stoppen Sie das Programm mit Punkt 5 des Menüs. Dann starten Sie wieder das Programm, und zwar mit GO TO 10 statt mit RUN, und wählen als nächstes Punkt 2 des Menüs. Jetzt haben Sie Ihre Angaben auf dem Drucker, ohne sie von neuem eingeben zu müs- sen.
Der Gebrauch des Spectrum im kaufmännischen Bereich 79
la REH FINANZPLAH LIERFEAUFZSNLNDRHERSAGE ı1]=> Go SUB 430 zia PRINT °""FUER WIIEWLIEL MÖOHMAT SIND ANGABEN JÜORHANDGEN? " Zi INPIT m: LET zum=& 4: IF m<22 THEM GO TO Io CL5: DIM aim): BIN bim) FOÖHRE =z5692,0 FÜR s3=1l TO m FRIMT FAT Zz2,0; "BETRAG IH MO -ı FLASH 3; Irak =;3 A: INPIT 3(3) la FRINT AT 3-1,0; ERIGHT 1: P FPER 1; INK 75” PMONFT "335" "”;TRA E l I7’-LEN ZSTR$ 31(311;3131;"
ıeS IF Z=1 THEN LPRINT . Hiö MAT ";3;" ";TRAE IiI1lT-LEN ZSTR$ 313 11:3 13135," 5
1l@ LET zum ==! Ü m +3 131: ME=T 3 I1= FRIMT AT hg:
l22 LET mi =s. um. Em: FÜR b=2 TÜ N. 132 LET bibl=(1l1cac- (3 (b-11*+1a0 (b)]))
140 NE=T b
145 PRUSE lc
153 PRINT °"*" FLERSF I: INK 15” bCIFFERENZ ZWEIER MÖNFTE: "
155 Ir z=Ii TreEN LPRIST ” BIFFER ENZ ZUEBEIER MOMFTE;: ”
155 FÜR 3=2 TO M
I7a PRINT "MÖNFT "; INK 1;3-1, INR G; TAE 5; "BIS MÖNFT "; INK 1; a3; INK ®8;" "-3INT 185133 #59 3” %” 175 IF z=1 THEN LPRINT "MONAT " ;3- -1,"6I5 MONFT ";3;" "NT (bi 3 1 +, =) 3 „ ae “
150 NEXT =
155 PRUSE 100
130 LET zumme=üö
2a0 FÜR a=2 TO m
2l@G LET zumme=summe+biä)
220 NEXT 3
250 LET mittelwert=INT (5UMME*1I aG-(m-1))1,.100
FRIHMT " INE
a PRINT °"DURCHSCHNITTLICHE A ENDERUNG:" ; FLASH 1;mittelwert; INK u; FLASH_E; "
245 IF Z=1 THEN LFRIMT " DURCHSC ET TLICHE HENDERLUNG: ";mittelwer
FALSE 100. PRINT
PRINT "VORHERSAGE : " ‚IF z=1 THEN LPRINT "WORHERS
T
INPLT "WIEWIEL MONATE SOLLE WORAUS BERECHNTET WERDEN?" ;
FRIHT ""LETZTER EBERICHT=SHMÖN .IAR ";3 im)
nn
80 Sinclair ZX Spectrum
2aa PRIMT °"MITTELLIERT PRÜ MÖNR . T WAR ";10# (INT mi“l1G)
Sag INPLT "SOLL SICH DIE WÖRHER SAGE ll - AUF GEN LETZTEN MONAT ODER 2 - RUF DEN MITTELLE RT STUETZEN?" ;d
2a PRINT ° INER
e=!/3 Im) AN dJd=1lı+((lasi . mi“lalı ANb dJd=2ı >1= FRIMNT ""MÖNFT 1, EERICHTET: " ; 3 Im] sis IF z=1 IMEN LPRINT "MONFT 1 y er HTET: ";acm) za FÜR 3=2 TO zahl 25 FÜR an 92,0 LET e=€& +M ittelwertse."loc FRIFMT "MONAT ":3:" , ER!IART ; INT (le) IF z=1 THEHN LFRIMNT "HÖOHFAT " a ERIIHFRTET: ";INMT (e! =: NERT : 2 FALSE 1202: FRINT
FRINT E JH =; SE &; HL: '
FRIMT ° ı 0; "1l -— NEUE WüRH SE u
FRIHT Zr PROTOKOLL ERFASSEN"
FRIHT TRAE 5; "5 FRÜOGRAHMM ct HHNFAHG AM"
jaz FRIMT TAB 2; "% SFEICHERH HUF HKHI=2ETTE"
125 FRIMT THE re STOFF" WERr u InKEte
Ip en „THEM GO TO +l&a
Lr THEN Oo TO Zei
Ep Er THEH Gl TO 1Sa
IF THEH RUM
Ir THEHN =ALE "UERERIL
IF 352"85" TREN STOP = GOTO DB 4322 0 IMPIT "FROTO IHEOLLECRIUCH ERFÜR DERLICH 7% - „A ee - NEIN" ie sata IF Z31 R z:=2 THEN GO TO 4a iz
„le RETURN
=1 Iıiz1
m Yı Dcachla
= u
ıZı =
| D zT ıMi
$ $ $ $ a$
Ri
Li die din dd dan
Der Gebrauch des Spectrum im kaufmännischen Bereich 81
Druckausgabe: FINANZPLAN
HOMFAT HOMHAT MHÖOrmAT HOrmAT HÖOrFAT
C IFFERENZ Zu EIER MÖNFTE : HOT EIS MÖOHNFT HMOMAT EIS MÖHNFT MHÖöNMFT 5 EIS HMÖOHFT MÖOrFAT 4 EIS MÖOHNFT
BENDERUNNG
nF
EIURCÖCHZSCHHNITTLICH: BE. 50%
HOrIAT HOrmAT HOFFT MHOrmAT HOrmAT HOMHNFT
(NPBLInH
BERICHTET: ERLIARTET: ERLIARTET: ERLIAFRTET: ERLIAFRTET: ERLIARTET:
MEILE „WÜRHERSRAGE FROÜTÖRÖLL OHNE ERFASZSUHNG FRÜGRAHH OH ANFAHG AH SPEICHERN AUF KASSETTE ZTORr
Vorschläge für weitere Literatur zu diesem Thema:
Struble, George: Business Information Processing with BASIC, Addison- Wesley Publishing Company, USA, 1980
Sternberg, Charles D.: BASIC Computer Programs for Business, Hayden Book Company, Inc., USA, 1981
Gilder, Jules H.: BASIC Computer Programs in Science and Engineering, Hayden Book Company, Inc., USA, 1981
Poole, Lou und Borchers, Mary: Some Common BASIC Programs, Osborne/McGraw-Hill, USA, 1981
82 Sinclair ZX Spectrum
Miller, Alan R.: BASIC Programme. Mathematik — Informatik — Stati- stik, SYBEX Verlag GmbH, Düsseldorf (erscheint Juni 1983)
Bui, X. T.: Executive Planning with BASIC, SYBEX Inc., USA, 1982 Hergert, D.: BASIC for Business, SYBEX Inc., USA, 1982
83
Kapitel 6
Der Spectrum als Lehr- und Lernmittel
Dieses Kapitel befaßt sich mit dem Einsatz des Spectrum im Unterricht. Es soll dem Lehrer Hilfestellung bei der Entwicklung von Lehrprogram- men geben; es soll gegebenenfalls auch den Eltern helfen. Nicht zuletzt wird auch derjenige, der in der Ausbildung steht, einen Gewinn von die- sem Kapitel haben, sei es, daß er hinter dıe Tricks von Lehrprogrammen kommt, oder sei es, daß er sich selbst oder seinen Mitschülern einige hilf- reiche Programme schreibt.
Im kommerziellen Bereich krankt Unterrichtssoftware sowohl beim Spectrum als auch bei anderen Computern an ein bis zwei elementaren Fehlern: Entweder sie ist zu einfach bzw. zu allgemein, so daß jeder nur einen minimalen Gewinn davon hat, oder aber sie ist so spezialisiert, daß sie wiederum nur für ganz wenige tauglich ist. Nutzen wir jedoch den Computer, um uns selbst eigene Lernprogramme zu schreiben, können wir beide Extreme vermeiden. Wir können die Software exakt auf unsere eigenen Bedürfnisse abstimmen und vornehmlich die Teile behandeln, welche der besonderen Aufmerksamkeit bedürfen. Die ın diesem Kapitel behandelten Routinen und Programme werden so aufgestellt, daß sie leicht an die eigenen Bedürfnisse angepaßt werden können.
Das Kapitel konzentriert sich auf Programme, die praktische Übungen in elementaren Techniken bieten, so z.B. das Arbeiten mit Zahlen oder das Erwerben von Kenntnissen in Französisch. Es gibt viele andere Arten von Lehrprogrammen, die neue Lehrinhalte vermitteln oder die vielleicht bei der zeitraubenden Laborarbeit eingesetzt werden könnten, z.B. Misch- versuche mit Chemikalien bei vorgegebenen Mengen. Wir werden sehen, daß eines oder mehrere der hier angegebenen Programme uns in die Lage versetzen werden, Programme nach eigenen Vorstellungen anzupacken.
Lehrprogramme müssen nicht langweilig sein. Manche Lehrprogramme kann man sogar ganz bewußt als Spielprogramme schreiben. Spiele mit Unterrichtsinhalten verlangen von den Spielern, eigene Kenntnisse zu
84 Sinclair ZX Spectrum
entwickeln und einzusetzen, um den Wettbewerb mit anderen zu gewin- nen. Richtig angewendet sollte der Erfolg denjenigen zukommen, die ih- re Kenntnisse am wirkungsvollsten einsetzen. Sicherlich werden auch Zu- fallsfaktoren eine gewisse Rolle spielen, aber sie sollen nicht spielent- scheidend sein.
Programme, die neue Lehrinhalte vermitteln, können u.U. sehr lang sein, da der Programmierer alle nur denkbaren Fehler und Irrwege auf- fangen und korrigieren sowie Anleitungen dafür vorsehen muß. Außer- dem muß der Inhalt unter verschiedenen Perspektiven dargeboten wer- den, damit der Anwender, welcher die Erklärungen nicht gleich beim er- sten Mal versteht, möglicherweise doch Erfolg hat, wenn die Informatio- nen noch auf eine andere Weise dargeboten werden.
Das klingt alles sehr anstrengend, ja fast unmöglich. Vielleicht ist es eine ganz gute Hilfe, zu wissen, daß der oder die Schüler in den meisten Fällen immer noch ein begleitendes Buch zur Hand haben. Dann kann das Pro- gramm mehr als intelligenter Führer zum Buch und weniger als ein Allein- unterhalter gesehen werden. Das Programm könnte z.B. sagen: „Nun, nachdem Du gezeigt hast, daß Du den Lamaismus und den aus der Ma- hayana-Form des Buddhismus abgeleiteten Ritus verstanden hast, möch- te ich Dich auf Seite 26 des Textbuches verweisen. Dort kannst Du lesen, wie der Ritus nach Tibet gelangt ist. Wenn Du es gelesen hast, wende dich wieder dem Computer zu! Ich werde dir dann einige Fragen darüber stel- len!“ Danach kann mit den Fragen der Inhalt von Seite 26 geprüft werden. Hat der Schüler einiges davon verstanden, so kann er zu einem bestimm- ten Punkt auf dieser Seite oder auf eine weitere Ausführung über das The- ma irgendwo anders im Buch verwiesen werden. Wenn man das Pro- gramm so aufbaut, spart man wertvolle Zeit und braucht nicht endlose PRINT-Befehle zu schreiben, um alle erdenklichen Fälle abzudecken. Dies bedeutet auch, daß man den Spectrum dazu verwenden kann, Ge- genstände zu unterrichten, die anderenfalls für den Computereinsatz zu komplex sınd.
Oft haben die Schüler Probleme, geeignete Informationen zu finden. Der Spectrum kann dazu verwendet werden, die Information selbst zu spei- chern, welche dann über Menü-Zugriffe wie beim Bildschirmtext zugäng- lich ist. Er kann aber gelegentlich auch dazu dienen, geeignete Quellen- hinweise zu geben. Abgesehen von den unmittelbaren Vorteilen für den Schüler dürfte dies auch den Eindruck vermitteln, wie wichtig Informa- tionsverarbeitung in der modernen Gesellschaft ıst. Wenn eine Schule, oder wie in diesem Fall ein Haus, keinen Zugriff auf Bildschirmtext hat, kann man versuchen, dieses System mit einer begrenzten Zahl von Wahl- möglichkeiten nachzubilden. Hierdurch wird der Schüler mit dem Um- gang mit Menü-Techniken und dem Zugriff auf Informationen, die nach einer Art Baumstruktur mit Querbeziehungen gespeichert sind, vertraut gemacht.
Der Spectrum als Lehr- und Lernmittel 85
Auf der anderen Seite helfen Simulationen, Untersuchungen anzustellen, die man im täglichen Leben nicht nachvollziehen kann. Der Spectrum kann ein mathematisches Modell benutzen, um den Einfluß von System- änderungen auf das Ergebnis vorherzusagen. Man möchte beispielsweise feststellen, welchen Einfluß der jeweilige Grad der Verschmutzung auf Fische, Insekten und Pflanzen hat. Im wirtschaftlichen Bereich erlaubt die Simulation, Veränderungen des Kapitals und dessen Einfluß auf den Beschäftigungsgrad zu studieren.
Bei einer chemischen Simulation kann man den Katalysator, die Tempe- ratur und den Druck verändern, um z.B. das Ausbringen an Schwefeldio- xyd in einer Fabrik, die Schwefelsäure herstellt, zu optimieren. Natürlich kann eine Simulation nur dann realitätsbezogen sein, wenn das mathema- tische Modell eine genaue Wiedergabe des Systems liefert. Selbst wenn es nicht ganz genau ist, so kann es doch zumindest lehrreich sein, solange nur der Schüler über die Vereinfachungen informiert wird.
Am Ende dieses Kapitels werden einige zur Unterrichtssoftware typische Wege, die sich als erfolgreich für andere erwiesen haben, aufgezeigt und eine Idee davon vermittelt, welche Dinge leicht in Lehrprogramme über- tragen werden können. Zuerst jedoch sollen Programme (z.T. von Jeff Warren) vorgestellt werden, welche die unterschiedlichen Schritte zur Herstellung derartiger Software zeigen. Selbst wenn die Programme in dieser Form nicht unmittelbar benutzt werden können, so dürften sıe doch als Vorlage dienen, um eigene Programme herzustellen.
Viele Lehrprogramme benutzen die RND-Funktion, um Zufallswerte zu bilden oder um Fragen in zufälliger Folge auszuwählen. Hierdurch soll vermieden werden, daß der Schüler mit einer vorhersehbaren Folge von Fragen gelöchert wird. Unser erstes Programm erzeugt einfache Divi- sionsaufgaben mit Zufallswerten. Es läßt sich jedoch leicht abwandeln, um andere mathematische Techniken zu üben.
Zeile 5 verwandelt das frei definierbare graphische Symbol D in ein Divi- sionszeichen, wie es gewöhnlich ın der Schule verwendet wird. Danach wird der Punktestand S auf O0 gesetzt. Das Programm stellt 20 Fragen. Hierzu wird die FOR/NEXT-Schleife mit Q als Nr. der Frage verwendet (Zeilen 20-120). Die Fragen benutzen die Form „Wieviel ist 32 dividiert durch 47“. Der Spectrum setzt hierfür x/y. Zeile 30 liefert einen Wert für Y zwischen 2 und 12 und Zeile 40 für X einen Wert, der als Ergebnis einen ganzzahligen Wert zwischen 1 und 12 liefert. Zeile 50 zeigt die Aufgabe und nimmt die Antwort mit INPUT a entgegen. Zeile 50 wählt je nach Er- gebnis die Zeilen 60 und 80 zur Angabe von Korrekturen oder Zeile 90, die den Schüler lobt und außerdem das Punktekonto enthält. Zur Erinne- rung: Um den Grafik-Cursor zu erhalten, muß in Zeile 80 gleichzeitig CAPS SHIFT und Taste 9 gedrückt werden. Während des Programmlaufs ändert sich das D in einen Schrägstrich.
86 Sinclair ZX Spectrum
Zeile 100 gibt dem Anwender die Möglichkeit, mit dem nächsten Problem fortzusetzen, sobald er soweit ist. Wie schnell der Schüler die Information vom Bildschirm aufnimmt, ist sehr unterschiedlich. Eine feste Pause ist daher nicht so gut. Sicherlich könnte der Befehl PAUSE benutzt werden. Dabei müßte jedoch eine ausreichende Zeitspanne berücksichtigt wer- den, da sonst der Text von der Bildfläche vor dem Lesen verschwindet und der Leser keine Chance hätte, den Text nochmals wiederzusehen. Der Benutzer sollte niemals durch feste FOR/NEXT-Warteschleifen ge- zwungen werden, auf den nächsten Teil zu warten, da dies auf Dauer sehr frustrierend wirkt. Zeile 100 erlaubt, das Programm mit der Eingabe S und ENTER zu stoppen. Die letzte Zeile schließlich zeigt zum Schluß den Punktestand.
DIVISIONSUBUNGEN FOR
"d"+f et ,a, 15, ‚DO, 2
Zu 1
Ir
IRNEC#11I01 IRNEG+l1=+1)
FHAFER E "FRAG
"ar PRINT WITELTEL Ist =
oidın IERT DURC :H 4 .. INPLT 3 IF 3=x.y THEN Gü rn Zuz
=) PRINT FAFER Ey rıPrANSerns DI E AHTLIUÖRT IST MIC HT 4
Sa FRIMT ° "x e
[7 fiel
«m "u 24 = 4Iı a w
= J sy; FF IMT ‚PAPER 6 "> IE 22 -T, NAEH CH ";:u 2 "X Fe I": GO
"Ti 55
3: PRENT "BUT, "38:" 2387 RZE HrTiS,.”": LET 55414
15 a INPUT "ZUR FORTSETZUNG BITT E EIN-GEEEHN" ; c$: IF o$="2" al ST UP
139 EL
lz22 NE=T 4
1>02 PRINT FT G,4; "SIE ERREICHTE Mi” ;=;" PUNKTE VON 23 MOEGLICHEN
Der Schwierigkeitsgrad der Aufgaben muß auf die Fähigkeiten des Schü- lers abgestimmt sein. Der Rechner sollte diese Aufgaben nicht etwa in der Art: „Wieviel ist 19 geteilt durch 7?“ stellen, wenn der Schüler nichts von Divisionsresten und Dezimalzahlen versteht.
Das Programm kann besser auf den Anwender eingestellt werden, wenn der Punktestand den Schwierigkeitsgrad der Aufgaben berücksichtigt. Eine Möglichkeit hierzu wäre beispielsweise, die Zeile 30 abzuändern in:
30 LETy=2+ INT (RNDx (3+ (s>=5) x4 + (s>=10) x4))
Der Spectrum als Lehr- und Lernmittel 87
Y erhält Werte im Bereich von 2 bis 4, solange der Punktestand unter 5 liegt, denn die logischen Ausdrücke (s>=5) und (s>=10) sind beide nicht erfüllt, also wertmäßig null. Wenn der Punktestand über oder bei 5 liegt, ist der Ausdruck (s>=5) wahr und hat dann den Wert 1. Hierdurch wird y Werte zwischen 2 und 8 annehmen. Wenn schließlich der Punktestand den Wert 10 erreicht hat, erhält y Werte bis maximal 12. Entsprechend läßt sich auch Zeile 40 ändern:
40 LETx = yx INT (RNDx (5+ (s>=5) #7) +1)
Der Vorteil dieser Art von Programmkontrollen liegt darin, daß der Übergang zu schwierigeren Aufgaben langsam erfolgt. Die Übungen WErT- den dadurch einfacher und zugleich spannender.
Das Programm wurde zwar als Divisionsübung geschrieben, läßt sıch aber leicht für andere Rechenarten abändern. Wır können den zweiten Teil von Zeile 50 ändern in:
„Wieviel ist 1/"sy;” von "x;
Dies liefert Aufgaben der Art „Wieviel ist 1/4 von 32?“ zum Üben von Brüchen. Zeile 80 muß dann entsprechend geändert werden. Es ist leicht, Programmversionen zu erstellen, die die Addition und Subtraktion (Ach- tung: Die erste Zahl muß dann größer sein als die zweite, es sei denn, der Schüler kennt sıch mit negativen Zahlen aus) sowie die Multiplikation be- handeln.
Etliche Programmierer ziehen den persönlichen Stil vor und sprechen den Benutzer mit seinem Namen an. Die Maschine erscheint hierdurch etwas menschlicher. Alles was man hierzu braucht, ist ein Unterprogramm, wel- ches etwa in folgender Weise abläuft:
Spectrum: „Hallo! Wie heißt Du?“
Schüler: „Sabine“
Spectrum: „Gut, Sabine! Ich hoffe, Du bist bereit, einige Fragen zur Ana- tomie der Ratte zu beantworten!“
Dieses kann mit einer Liste von „lobenden Redewendungen“ fortgeführt werden, welche wahlweise bei einer korrekten Antwort verwendet wer- den:
„Das ist richtig, Sabine! . . . stimmt!“ oder „Gut gemacht, Sabine! ...... war richtig!“
Diese Vorgehensweise kommt denjenigen entgegen, die sich für spre- chende Computer oder Science-fiction-Roboter begeistern.
Der Spectrum kann auch zum Wettkampf anspornen, indem er das je-
88 Sinclair ZX Spectrum
weils beste Ergebnis speichert. Zusätzlich kann noch die kürzeste Ant- wortzeit festgehalten werden. Dies hilft besonders dann, wenn ein Schü- ler die eigene Leistung verbessern möchte. Es kann jedoch auf die langsa- meren Schüler in einer Gruppe entmutigend wirken. Wir sollten daher sehr vorsichtig damit umgehen.
Im nächsten Programm, dem Rechen-Quiz, wird der Name des Schülers vom Computer verwendet, und die ganze Ansprache ist wesentlich freundlicher als zuvor beim Divisionstest. Außerdem erlaubt es noch dem Schüler, zwischen den verschiedenen Aufgabenbereichen (Addition, Subtraktion, Multiplikation, Division) zu wählen.
FREH RECHEHNSUIZ PRIHNT ° Hallo ı ee OLLEH EIH PAAR SUMMEN BILE
FHALU=SE zuam
1]. 55
PRINT "WIE HEISSEN SIE?”
IHF_T 35
iL.=
PRINT "ES FREUT MICH. STE SEEN, "5; FLASH 3: BRESFHT 1; IHr. 1:38
ige PRINT '"""BRUECKEN SIE EINE
THZTE, NIENMNMH SIE STARTEHM HMOERCH Teils."
Ill FAUSE 2: LET punkte=iüä
Tietz TEILE
122 FRIMNT ""MUN, ";35;", ICH EA HH FRAGEN STELLEN LEBER: "
14a FRIMNT ""1l - AECITION; "
l1=2 FRIMT ""2 - SUETRAFTIÖOH; "
l2.ı5 FRIMT ""5 - HULTIFLIERAT ION ; ODER"
l1”a FRIMT "4 DIVESTON .
152 FRIMNT OR UREHLEN SIE EINE N NINE VO ";: PLPSH 33" BIS 4” ’F LASH 2;" UM DIE RECHEHNART ZU LIAE HLEN.,. IN: BER SIE 3IcH VEBEN WOLL En?
1=a2 INPIT E$: LET b=euAl 6b&$
ea IP bil ÖR b>:4 THEN GO TO 19
I] ea5 LS zl@ FRIMNT °"""IN ÖRbHNUNG, ":38$; " IR UEEEN ETLRAS "|; 2 FRINT INH 2; FLASH 1; ÜO"ACcODI AHb b=1!+(" SUETRAKT ION" An =1 +1" MULTIFLIERT ION" AN 6b=5 UTS TON“ AN. b=4) BALSE ag
TTArPEN SIE ’2°, S SHTE" "OBER °'5°, WENN > SCHLITERIGE AUFGREEH HOECHTE HM." "SIE KOENNEN AUcH °2° DER "4° WIAHEHLEN, WENM SIE NICHT zu EINFACHE, ARBER ALcH NICHT ZU ZCHLITERIGE AUFGREEH WUENZCHEH." zB IMPLT 58: LET c<=URL 58 BE 2:1 OR 2:5 THEN GO TO
hl
-.J ıTıı ZIEHEN
> ip ZIEH
fu:
-2- ı <
NEN. Hl
NZ HI m
Der Spectrum als Lehr- und Lernmittel 89
AN b=1)+i"-" A b=21+("." AND E&
Li IRNDG+(lo+cI1 + (FNG+(lO+4#+cC11+C TR$ 3+4$+3TFR$ b | AL a1 x: HUAL 35
„" “
IHHHR
H 7 3 m LH IN
GL) TUÜO 35 gI PRINT "NUN, ";a$;", CAS IST "TAB 5; "FRAGE NR. ";e >42 PRINT "URS ERGIET 3 hen, FAUSE Su SB2 PRINT °"""WERSUCHEN SIE ES EITTE „JETZT ,UND TIFPEN SIE IHRE ANTWORT EIN." 3720 INPUT F 375 PRIHT °° ss2a IF F=UAL 9$ THEN EEEF O.©OS,F +punkte: EEEF l1,2+(f+punkte): FR INT FLASH 1; INK RNDbD#?; PAFER 3; "GUT GEMACHT, ";3a$: LET punktesp unkte+l s92 IF F<>W AL 9$ THEN PRINT "ES TLT MIR LEIG, ";38$;", ABER DIE AHTLORT IST "VAL 9% dam PAUSE 50 41a PRINT °*"""IHRE FUNKTERHL BE TRRAEGT NUN"; INK 1; FLASH 1; punkt e; INK G; FLASH 8;"” VON ";e 4220 IF e<la THEN PRINT *"*""CRUE CKEN SIE BITTE EINE TASTE FUER DIE MAECHSTE FRAGE.": PAUSE ©: CLS: NEXT e 450 PAUSE 100 440 CLS 45a PRINT "DAS QUIZ IST ZUEND E,";RA$; . “En 450 PAUSE 100 485 PRINT "IHRE PUNKTZAHL BEE TRUG ";INK 1; FLASH 1; punkte; INK a; FLASH ©;" WON ";e; TAB 5; FLA SH 1; BRIGHT 1; INK 2; punkte #10 Eee ; Fa 47a FRIHT °""MOECHTEN SIE EIN N ELES SPIEL?" ""TIPPEH SIE ENTER, .IENM SIE FORTSETZEN MOECHTEN, 00 ER IRGENGEINE ANDERE TASTE, WENN SIE AUFHOEREH MOETCHTEHT!" d4sca INPUT YS dam IF y$="" THEN G0 TO 1anı saa FRIHNT °"""ES HAT MIR SPAS3 SEMACHT, MIT IHNEN, ";38$;" ZU RE CHNEHMT " s2e2 print °"" FLASH 1; "BIS ZUM HRAECHSTEN HALL!" SI STOR
Wie man während des Programmablaufes feststellt, werden Farbe und Blinken benutzt, um bestimmte Dinge hervorzuheben (z.B. beim ersten Mal den Namen des Schülers). Der Dialog wird von diesem Programm wie folgt durchgeführt:
’
9% Sinclair ZX Spectrum
als, ="
„Wir wollen ein paar Rechnungen probieren.“
„Wie heißt Du? (Der Schüler gibt seinen Namen ein)“ „Guten Tag (Blinken, ..., blaue Schrift), Sabine“ „Lippe irgendeine Taste, wenn’s losgehen soll.“
Pause 0 wird hier (Zeile 110) benutzt, um mit dem Bild so lange zu warten, bis eine Taste eingetippt wurde. Die Variable PUNKTE (welche den Punktestand festhält) wird auf Null gesetzt. Der Bildschirm wird gelöscht (Zeile 120). Der Computer greift den Dialog wieder auf mit:
„Sabine: Ich bin bereit, dir Aufgaben zu stellen über:
1 — Addition
2 — Subtraktion
3 — Multiplikation oder 4 — Division.
Wähle eine Zahl zwischen (FLASH an) 1 bis4 (FLASH aus), um mir mit- zuteilen, welchen Aufgabentyp Du versuchen möchtest.“
Der Schüler gibt eine Zeile an. Diese wird, wie man in Zeile 190 sieht, als String angenommen und dann (mittels VAL) in eine Zahl umgeformt.
Übrigens: Programme müssen so geschrieben werden, daß sie bei fehler- haften Eingaben möglichst nicht abstürzen. Dies wird von dem ersten Programm dieses Kapitels nicht voll abgefangen. Die Eingabe eines Buchstabens statt einer Ziffer Könnte das Programm veranlassen, mit ei- ner Fehlermeldung abzubrechen. Der Benutzer wüßte nicht, was zu tun ist. Dieses Problem läßt sich vermeiden, wenn man die Eingabe mit einer Stringvariablen durchführt.
Man kann die CODE-Funktion verwenden, um sicherzustellen, daß die Eingabe, sofern erforderlich, numerisch ist. Danach kann man den String mittels VAL in eine Zahl umwandeln. Mit den folgenden Zeilen soll eine Ziffer erfaßt werden:
10 INPUT n$
20 IFLENn$ <> 1 THEN PRINT “Bitte nur eine Ziffer!“: GOTO 10
30 IF CODE n$ < 48 OR CODE n$> 57 THEN PRINT “Bitte nur Zahlen!”:
40 LETn=VAL n$: PRINT “Das war's.“
Wie wir sehen, kann das Programm nur mit einer einstelligen Zahl been- det werden (Anmerkung: Die Ziffern O bis 9 belegen in der ASCII-Tabel- le die Plätze 48 bis 57 und werden daher im Rechner mit ihrer Platznum- mer notiert).
Der Spectrum als Lehr- und Lernmittel 91
Bei mehrstelligen Zahlen muß man die Eingabe in Einzelzeichen zerlegen und die Zeichen des Strings nacheinander überprüfen. Stattdessen kann man auch den Befehl INKEY$ verwenden, um die Zahl ziffernweise zu erfassen. Mit dem Code INKEY$=13 (welches die Platznummer für das ENTER-Zeichen ist) wird dann die Eingabe als beendet angesehen.
Nun zurück zu unserem Rechen-Quiz. Der Computer hat den Benutzer nach einer Zahl von 1-4 gefragt, um den Aufgabentyp auszuwählen. Der Dialog setzt, falls die 2 gewählt wurde, folgendermaßen fort:
„Okay, Sabine! Wir wollen ein paar Subtraktionen probieren.“
Man beachte, wıe der Spectrum in Zeile 220 den logischen Ausdruck AND berechnet und je nach Ergebnis für B eines der vier Wörter (Addi- tion, Subtraktion, Multiplikation oder Division) auswählt. In Zeile 230 befindet sich eine Pause. Der Bildschirm wird gelöscht und der Spectrum fährt fort: „Gib eine I ein, falls du leichte Berechnungen, oder tippe eine 5, wenn Du die schwierigeren Aufgabenstellungen wünschst. Du kannst aber auch eine 2, 3 oder 4 tippen, um mittelschwere Aufgaben zu erhal- ten.“ Hierdurch erhält der Benutzer ein Gefühl der Kontrolle über seinen Computer und gewinnt den Eindruck, daß er mit einem intelligenten Ro- boter spricht. Die Eingabe wird als String akzeptiert und anschließend in eine Zahl umgewandelt. Der Bildschirm wird gelöscht. Zeile 280 nutzt er- neut die logische Berechnung AND, um die arithmetische Operation (+, —,x* oder /) auszuwählen und dem Benutzer in der Aufgabenstellung vor- zulegen.
Mit Zeile 290 startet eine Schleife, in der zehn Fragen an den Schüler ge- richtet werden; mit Zeilen 300 und 310 werden Zahlen ausgesucht, deren Größe vom in Zeile 260 gewählten Schwierigkeitsgrad (Variable C) des Problems abhängt. Zeile 320 packt die Zahlen und den Operator in einem einzigen String zusammen; Zeile 325 prüft, ob das Ergebnis ganzzahlig (dies könnte bei einer Division passieren) und positiv ist (bei Subtraktio- nen). Die Kontrollzeile kann weggelassen werden, wenn Dezimalbrüche und negative Zahlen erlaubt sein sollen.
Zeile 330 zeigt die Aufgabenstellung und spricht dabei den Schüler direkt an:
„Nun, Sabine! Jetzt kommt Frage 4.“
„Wieviel ist 7 + 3?“
(In Zeile 350 wird eine kurze Pause gemacht) Danach sagt der Spectrum:
„Überlege jetzt und gib dann Deine Antwort!“
Zeile 380 prüft die Antwort und lobt den Schüler mit mehreren Tönen, falls die Antwort richtig war. Die Tonhöhe richtet sich nach der Zahl der bisherigen, richtigen Antworten. Die Worte „Gut gemacht, Sabine“ er- scheinen auf dem Bildschirm mit zufällig gewähltem, blinkenden Farb-
92 Sinclair ZX Spectrum
ton. Hierbei wird Shift 9 verwendet, um sicherzustellen, daß jetzt keine blinkenden Wörter und keine Töne erzeugt werden. Bei einer richtigen Antwort erhält der Schüler also eine bessere „Belohnung“ als bei einer falschen Antwort.
Es folgt eine weitere kurze PAUSE. Danach sagt der Spectrum:
„Dein Punktestand ist nunmehr (INK 1, FLASH) 1 (FLASH aus, INK normal) von 3.“
Vor der zehnten Frage sagt der Spectrum: „lippe irgendeine Taste für die nächste Aufgabenstellung.“
Dieses Warten auf den Tastendruck erlaubt dem Schüler, in der eigenen Geschwindigkeit voranzuschreiten.
Am Ende der zehnten Frage, nach einer PAUSE, erscheint auf dem Schirm:
„Das bringt uns zum Ende des Quiz, Sabine.“ PAUSE
„Dein Punktestand war (INK 1, FLASH) 8
(INK normal, FLASH aus) von 10, (INK 2, FLASH 1) also 80%. „Möchtest Du eine neue Runde machen? Wenn ja, tippe ENTER. Ande- renfalls tippe irgendeine Taste, um das Programm zu beenden.“
Obwohl es eine ziemlich lange Zeit in Anspruch nimmt, ein solches Dia- log-Programm zu schreiben, macht sich dieser zusätzliche Aufwand für den Schüler sicherlich mehr als bezahlt.
Falls der Schüler einen weiteren Test machen möchte, beginnt der Com- puter nicht wieder ganz von vorn (RUN), sondern springt zur Zeile 100. Hierdurch wird vermieden, daß der Schüler seinen Namen noch einmal eingeben muß. Der Eindruck, daß der Computer ein intelligenter, hilfrei- cher Roboter ist, bliebt dadurch erhalten. Wenn der Schüler auf die Frage nach einem weiteren Test nicht mit ENTER antwortet, sagt der Compu- ter:
„Das Rechnen mit Dir, Sabine, ging ganz gut (FLASH an). Bis zum näch- sten Mal.“
Obwohl diese Erläuterungen wesentlich länger geraten sind als das ei- gentliche Programm, sehen wir, wie wirkungsvoll man ein Programm mit Dialog-Texten gestalten kann. Der Vergleich der Ausgabe des Arithme- tik-Quiz mit dem Divisionsprogramm zeigt, daß das zweite Programm wesentlich benutzerfreundlicher ıst als das erste.
Programme werden dadurch benutzerfreundlicher, daß die Meldung „Gut gemacht“ etwas ausgestaltet wird. Viele Schüler haben solchen Spaß an dieser zusätzlichen Motivation, daß sie Schulübungen mit einer Art Spiel verbinden oder mit optisch interessanten Belohnungen anrei- chern. Wir nehmen uns jetzt das erste Programn dieses Kapitels vor und statten es mit Farbe und Ton aus.
Der Spectrum als Lehr- und Lernmittel 93
Im folgenden Programm sehen Sie jetzt oben auf dem Bildschirm einen Fluß mit einer unvollständigen Brücke. Auf dem linken Flußufer steht ein Panzer. Bei jeder richtigen Antwort wird die Brücke ein Stück weiterge- baut. Sind alle 20 Antworten richtig, dann wird eine Siegeshymne ge- spielt, der Panzer überquert die Brücke und feuert.
Zuerst müssen wir Zeile 5 des DIVISIONS-Programms umändern in: 5 GOTO 150
Dann fügen wir am Ende der Zeile 90 den Befehl an: :GO SUB 250
und ändern Zeile 110 in:
110 PRINT AT 8,0;: FOR n=1 TO 11: PRINT b$:NEXT n
Das DIVISIONS-Programm wird jetzt um folgende Zeilen erweitert:
s=2u0 THEN PAUSE 75: GO Te
Ss STÜOr Saı FOR n=1l TO 4: RERO 1E0 FOR m=a TO 7 REHL: LISFR =25+m1,3: MNE=T 172 NE=-T BATR
6 HTA ‚24, 125 EHTA EÄTH
EST BE=" an IHT HT
5 = gm ie
ER 4;
'$; b$
} a1 HIT la
Sa FRIMNT AT 4,3+3;
'ETUFRH
FOR nmn=a TO la: FÜR m=4 TO ' „EG: EEEF a,.ul.m+nm HE=T
N 71: N,
N nn Hl HH NETTER DI
Fr iaıfı zz
fü N.
Iı
Mn)
IH n mı IMEnı:
..
ıfi
"fi II
en; FÜR n=a TO =: FRIMT AT u: nn SE =E NE=T rn Sid: FLOT 2: PLOT ii: NEXT ‚la; "GILT
94 Sinclair ZX Spectrum
Die Zeilen 150-170 legen vier graphische Zeichen fest, die der Benutzer im einzelnen zuordnet. Die Daten dafür sind in den Zeilen 180 bis 210 ent- halten. Mit b$ (in Zeile 210 definiert) löschen Sie in Zeile 110 lediglich ei- nen Teil des Bildschirms. Das Bild von der Brücke und dem Panzer bleibt erhalten. Es wurde mit Zeile 230 „gemalt“. Bevor sie AB tippen, müssen Sie mit dem Cursor den Panzer zeichnen. Das gleiche gilt für das C in Zei- le 250 und für das AB ın Zeile 270.
Zeile 250 zeichnet nach jeder richtigen Antwort ein weiteres Stück der Brücke. Zeile 260 spielt die Siegeshymne, wenn alle Antworten richtig sind. Zeile 270 läßt den Panzer über die Brücke fahren, und mit Zeile 280 feuert er.
Hier sehen Sie den Panzer in Aktion:
Der Spectrum als Lehr- und Lernmittel 95
ven en 2 u TRAGE 17 ı13 vv aäaı rrı = rn A I ER DE ee ee! B er lien = WET en Bann TI En Zn Ban a Tu — u N - mu wa ar r ZI SS ——n ee 3 u ed nn umge m: mmnn mm nn Be 3 % r Er — mmi_Dil,nmn. 7:37 034735 HiS77 9 32.210 TE ist Fand — — um nn - gs — m z > — m im,
Ya, Ken» .. im - .. > Pr n Pr — “ IC a 8 SR eh ter “ nf — u
SIE FRRETICHTEN Z@ PUNKTE SM ea MOFGLITCHENT!
m PFBoWsanmıT ine; u el
96 Sinclair ZX Spectrum
Sie können natürlich die Szene mit dem Panzer zur besseren Motivation der Schüler mit jedem Lernprogramm verbinden. Wenn Sie es aber zu oft benutzen, verliert es seinen Reiz. Versuchen Sie, selbst etwas zu erfinden, aber beachten Sie dabei ein paar wichtige Punkte. Alles, was zur Beloh- nung gehört, darf nicht die Lernelemente des Programms beeinträchti- gen. Es darf auch nicht länger als ca. eine Sekunde nach jeder Frage dau- ern; sonst wird’s langweilig. Auch sollte der Anreiz positiver Art sein: Es ist besser, wenn der Schüler durch Belohnungen ermutigt wird und weiter versucht, erfolgreich zu sein, als daß er für etwaiges Versagen bestraft wird, so daß er in ständiger Angst vor Mißerfolgen lernt. So macht Lernen nämlich keinen Spaß.
Legen Sie sich beim Schreiben von Erziehungsprogrammen nicht auf eine Möglichkeit fest. Der Computer muß z.B. nicht immer beides tun: Auf- gaben stellen und Lösungen prüfen. Das nächste Programm GLEI-
FEH AOGLEICHUMNGEN IHr. 7: FHFER 1 SORBER 1: CES ’ FN Men! sSINT 4 mc le m KL) m K Lie m Elia m Lie .J]| m Cola % +b#4
IFRHEG#nMI +1
JUN FT He ZEN
12 Erf
Il. mi:
FFFrH If
Re IHR =; "DIE BLETEH PIE
14
Ho= 2 PRINT "TAB_S; + "bye"
IHLERSE 1;3
INVERSE. I; cC
” 150 RIM "TAb 5;
a“ # "det la BRIMT " IMN\IERSZSE GE "s; ZWNUER: AUFSELOEST 1a FRIMT THZTE FUER 122 FAUSE a2 CL> za FRIFMT FRINHT
[ ü pa 1 ZI
fuı-- fü =] 7 = 7
ZT
nl
- I =fü- N+FP ı I 3
ÄL
PRIHMT ME TR: re"
fü 1.) LM ıTı Img
nm
ni fiıızı
FAUSE RM
11%
SIE
= "oh
"DIESE MHLUESZSSEHN HACH I; Kt, IMJERSE ©; IM SE 1;"4"; IMUERSE is; " ERBEN"
"OO BRUEFCHEN CIE LOESUNG” al
IE: EINE
"TAB GLEICH GLEICH + ";Bb Dee
SIE EITI EINE NEUE Au
Fin CRUECKEN FUER
Der Spectrum als Lehr- und Lernmittel 97
CHUNGEN (für Gleichungen des Typs ax+by=z) stellt z.B. nur eine Aufgabe. Sie wird auf den Bildschirm geschrieben. Wenn der Schüler die Antwort sehen will, drückt er nur eine beliebige Taste (außer BREAK) und erhält die Lösung. Dabei sind die entsprechenden Werte in die Aus- gangsgleichung eingesetzt. Sie könnten dieses Programm Ihrem Spec- trum eingeben. Zur Übung können Sie durchgehend Dialog-Teile und ei- nen Punktestandzähler sowie ein Hilfsmittel einbauen, um die Lösungen des Schülers entgegenzunehmen und auszuwerten.
Probestart: GLEICHUNGEN
EIE GLEICHUNGEN SIND: Gz + 14
Fk + 14 = 35
DIESE MUESSEN NACH = UND 4 AUFGE LOEST WERDEN
CRUECKEN SIE EINE TASTE FUER DIE LOESUNG
x + 414 = 13
7KH+U=5
SLEICH 3 SLEICH 4
L#4. = 15 is = 325
ERUECKEN SIE BITTE EINE TASTE FLIER EINE NEUE AUFGABE
Unser nächstes Programm KATZEN UND ANDERE DINGE ist für ganz kleine Kinder gedacht. Durchgehend wird INKEYS$ benutzt. Die In- put-Prüfung ist streng. Eine frei gewählte Anzahl Panzer, Lastwagen oder Katzen erscheint auf dem Bildschirm. Die richtige Anzahl muß eingetippt werden.
Beachten Sie den Unterschied beim Gebrauch von INPUT und INKEYS$. Mit dem INPUT-Befehl können Sie Fehler während der Eingabe korri- gieren. INKEY$ hat den Vorteil, daß Sie zur Eingabe von einzelnen Zei- chen nicht ständig ENTER drücken müssen. Dadurch kann das Pro- gramm schneller abgearbeitet werden. Es sieht auch professioneller aus.
Die Panzer, Lastwagen oder Katzen werden mit den vom Benutzer er- stellten graphischen Zeichen A und B geschrieben; die dafür nötigen Da- ten stellen die Zeilen 510 bis 530 bereit. Sie wählen die Art des Gegen-
98
Sinclair ZX Spectrum
KATZEN UND ANDERE DINGE
et 273
1S
1112111
f
J-JTINn Fi.
TE
= 7 all
Zug Kl] -. Ian
ff! |
Bee IPFEFHrFHerbrb
J-J Immun
namaonc
furl
in
= ala Zt Re ar a tn
a # ‚Jia ıTı
ji El
7 u]
LNOENNIN Tu =
ı£ı
Nminine£e£h Fein
LINEARE Bin
Ir
ZH
- iM zz
nie
zT =
F- If
| fu fl - IT INENIN- z
tl pi
I
ımı
FIT AT 7,0;
„Men:
= in
= 1Tı
fu fü
IND LING - Linn Dco-
r K- -
LET b$="
LET i=1+INT_ (iRNE=#5)
Sul SsWAHL UND ZUSRAMMENBALU REZSTOÖRE Saa+lüas+i FREHC n$
FÜR n=1l to 2: RERAb FÜR m=a TO 7
FEHC 3: FÜHE USER
HE=-T m: NET rm
REH AUSGEBEN a en IRND+=N
S$
zZ 5 H+H ,3
R OBJEKTE
LET z=1+INT REZTÜÖRE Eia FOR rı=1 TO z RER[L = ‚4 FR IHT HT NE#T N FRINT AT 15.0, >LEMST DLR So SUB 410 IF CODE ı8<485 51 TO_ 222
” A Br ” HE"
WIE WEE
IR CODE 15:57
7
PRIHT FAT 15,20, b6$ REZSTÖRE Prim nei TO 2
FREHL : 1 FRIHT AT BSEEF ı,;n NEXT MR
sl TO 250 FEH MG] FRIHT FAT 15,0,"
‚4-1: FRFER &,n
SEHR GUT." FLASH 1:2 m=-a TO 4 ZSTEF .1 NEXT m: BEEP ‚eu PRINT AT 7,0;z FRINT AT 21,0;
FÜR EEEF
"IiPPrE BITTE
ER’ |"
SOSUB 117 IF EODE ı8€>5
LS : GO TO BE rn paeial=in IF INKEYS<>""
IF INKEYS="" LET i$=-INKEr$ FRETUFH
R EH PR
13 THEM GO TO 2 La THEH
THEHN
Oo TO 41
50 TO dei
c3'
Tıin- Im unHine-
- 0 N
=. 10,5, =:11:13108., ar, 10,24
Der Spectrum als Lehr- und Lernmittel 99
standes in Zeile 20 nach Belieben. Mit RESTORE ordnet der Computer dann den DATA-Zeiger der richtigen Zeile zu. Die Zeilen 30 bis 70 wei- sen dann n$ den Namen des Gegenstandes zu und legen die graphischen Zeichen fest. Die Zeilen 80— 140 wählen die Anzahl der Objekte und Zei- chen auf dem Bildschirm entsprechend den in Zeile 600 angegebenen Po- sitionen. Dann wird das Kind gefragt, wie viele Objekte zu sehen sind. Beachten Sie, daß Sie für die Eingabe von AB in Zeile 120 den G-Cursor benötigen. BEEP wird nur in Verbindung mit dem sichtbaren Bild be- nutzt. Die Aufmerksamkeit des Kindes soll nämlich auf den sichtbaren Bereich gerichtet sein (Zeilen 180 bis 230). Mit ansteigender Tonfolge in den Zeilen 250 und 260 wird Lob ausgesprochen.
Sie könnten dieses Programm noch interessanter gestalten, wenn Sie Punkte zählen und nach jeweils 10 Fragen den Punktestand ausdrucken lassen. Sie können auch die Bildschirmdarstellung attraktiver machen, in- dem Sie z.B. in Zeile 140 eine INK-Farbe nach Ihrer Wahl einführen. Zeichnen Sie aber nicht weiße Katzen auf weißem Grund. Kinder fühlen sich betrogen, wenn sie dadurch beim Zählen verwirrt werden. Nehmen Sie noch andere Arten von Objekten dazu — wie wär’s mit Vögeln oder Spinnen? Geben Sie ihnen kariertes Papier und lassen Sie sıe etwas selbst ausdrucken. Schreiben Sie zusätzliche DATA-Zeilen ab 540. Geben Sie statt der Zahl 3 in Zeile 10 die Gesamtzahl der verschiedenen Objektarten ein. Und wenn Sie glauben, daß ein dominoartiges Muster zum Denken in Formen und Strukturen anregt, dann versuchen Sıe noch eine andere Pro- grammivariante: Lassen Sie die Objekte auf dem Bildschirm freiwählbare Positionen einnehmen.
Beispiellauf: KATZEN UND ANDERE DINGE
de
WIEVIELE FRNZER
100
=—E
WIEUTELE LKU”’S
r
WIEN ZELE KATZEN
Sinclair ZX Spectrum
Der Spectrum als Lehr- und Lernmittel 101
Bis jetzt haben wir uns in diesem Kapitel auf numerische Aufgaben kon- zentriert. Die sind am einfachsten zu schreiben. Es ist aber auch nicht all- zu schwierig, Programme mit verbalen Antworten für den Spectrum zu schreiben.
Das nächste Programm FRANZÖSISCH-VOKABULAR speichert Fra- gen und Antworten in DATA-Befehlen. Es kann leicht ergänzt oder auf ähnliche Frage- und Antwortspiele übertragen werden. Denken Sie dar- an, daß in diesem Programm CAPS LOCK enthalten sein muß. Denn die vom Computer überprüften Fragen und Antworten werden alle in Groß- buchstaben geschrieben. In Zeile 80 des Programms kann der Schüler die Fragen wählen, an die er sich heranwagen will. Diese Zeile brauchen Sie für die FOR/NEXT-Schleife in Zeile 100.
Sie glauben vielleicht, es sei wichtig für Programme dieser Art, sicherzu- stellen, daß die gleiche Frage nicht mehr als einmal pro Durchlauf gestellt wird. Vielleicht wollen Sie dann den in diesem Programm angewandten Mechanismus, der dies gewährleistet, benutzen oder anpassen. Zeile 30 stellt eine Reihe auf und setzt, wie Sie wissen, jedes Glied der Reihe gleich Null. In den DATA-Befehlen sehen Sie, daß auf jedes deutsche Wort ein französisches, und diesem jeweils eine Zahl folgt. Bei jeder Wahl eines Wortpaares (indem Sie zufällig den Data-Befehl durchlesen, siehe Zeile 110 bis 130) wird der Variablen x ein Wert zugeordnet. Zu je- dem Wortpaar gehört eine Zahl. Diesem Element wird in Zeile 160 der Wert 1 zugeordnet. Nachdem Zeile 150 kontrolliert hat, ob das schon pas- siert ist, wird die Frage ausgedruckt und mit dem Befehl RESTORE wie- der neu gestellt. Ein neues Wortpaar wird gewählt (einschließlich dazuge- höriger Nummer). Am Ende eines Quiz ist es zwar etwas schwerer als am Anfang, ein noch nicht gebrauchtes Wortpaar zu finden, aber sie werden beim Durchlauf schon sehen, daß die dadurch verursachte Verzögerung das Programm eher bereichert, als ihm abträglıch ist.
Auch dieses Programm entfaltet bei einer richtigen Antwort ein Feuer- werk. Beachten Sie, daß eine falsche Antwort des Schülers berichtigt wird.
10 REM FRANZOESTSCHE VORREBELN an LET Fi! AFIE te =: PRPER 1: INK
; ©; "WILLKOMMEN E
"VOKABELTEST! " | 6; "WIEVIELE VOR
"MOECHTEN SIE T
‚<1 Or >22 THEN GO TO ©
102 Sinclair ZX Spectrum
ıac FOR c=1 TO kb
I1lza FÜR J=1l TO IMT (RNbsZzal+l
lzezı RERAb =&: RERC rf$: RERADb =
152 ME=T d
14 BEAT UME: CL>3
15a IF 3i8}=2 THEN GO TO 118
E90 LET 3ix)=1
l17@ PRIMT °"" INH RNob#+7; FRAFER =“;" FRAGE NR. ";cC;":
1=2 FRIMNT °"" "WIE HEISS HF FR PHZOESISCH" ;TRAE 45858; r
ıa2 IHMFLT 38
IF a3$=rf$ THEM LET punktespu BEEFU, 1,8, 53punKTe FRI 'H 1; IMH =; FRHFER SS; IA N IST RICHT EIG ” IF 3$::f$ THEM FRIMT """MEI ICEF: FALSCH." "DRS FRAHZÜE OFT FUER "oe," La
eb TriEh FRIMT "7 EMRK 3% 1; ERIGHT 1;' IHR ‚FUNFTES a HM ";punkte; "
AUSE 150
HET u
IHH =: FRAPER 7: FLASM I. CL FRIHT AT 6,5; "IN DIESEM TEST „AATTEHN SIE " ; punkte, " PINFTE
Im Mm oz IM #D+
DIE
Bi me Ül
Ci
in " ei
in n . H- fu =
Ui
ib: Sg
rıTı ii Z UHIH
-MEPIZTT
F TA
FALSE za: FLASH a RUM DATA "UEBERALL“ „"FARTOLT“ "SELTEN" „"RAREMENT" 2, "ORT" LNENT" ‚3, "NIEMALS" ." JAMAIS" MMER" ,"TOLULOURS" ‚5 za: GATA "SEHR" "TRES" „8, "MEHR" "PLUS" ,7,"LIEMIGER" ‚"MOINS" 8," A" , "OUT" ,3," NEIN” "MOM" , 1a Sam DATA "DANKE" ‚"MERCI" ‚11, IS” ," UN" „128, "ZWEI" ‚"DEUX" ‚13,"DR I" „"TROIS" ‚14, "UIER" ‚"ÜUATRE" 5:
sıa D "FUENF” „"CING" IB,”
5" ‚"Ere® ‚27 "SIEBEN" "SERT" ‚U "Acht"; " ‚19, "NEUN" ‚,"NEUF" ‚2 21
wi
ae Is
Beispiellauf: FRANZÖSISCHE VOKABELN
JIILLF.ÖOFMMEN EEIM W\ORRBELTEST .
WIIIEULTIEL "ÜÖRRABELH MOECHTEN SIE TESTEN (1-20)
Der Spectrum als Lehr- und Lernmittel 103
FRAGE HR. 1
.IIE HEI=S=ST AUF FRAÄANZOEZIICH HEHFT FLUS A, FLus IST RICHTIG IHF FUNFTEZTRAHND IST MUnN 1
FRAGE NR. =:
WIIE HEISST AUF FRANZÜOESISCH LIEBERRAL.L.? FARTIOT
MEIN, LEIDER NICHT.
CAZ> FRANZOESISCHE LORT FUER LIEBERALL IST PARTOUT
IHR PUMNFTESTAND IST NUN 1
FRAGE MR. I
.IIE HEISST AUF FRAÄAMZÜOESTISTH FLlEiNP
Z. IrJc
„A, CIMd IST RICHTIG IHF FUNFETEZSTAHO IZST NUN =
Das nächste Programm QUIZMASTER können Sie für alles benutzen, von „Buchstabier“-Listen bis zur Hauptschulbiologie. Der Haken ist, daß Sıe selbst dıe Fragen dazu liefern müssen. Das ist leichter, als Sie glauben.
Das Programm wird dazu benutzt, um eine Auswahl Fragen oder entspre- chende Definitionen zusammen mit den richtigen Antworten zu spei- chern. Hier sind ein paar Beispiele, mit denen Sie anfangen können:
Wie heißt das französische Wort für „geben“ (Antwort: donner)
104 Sinclair ZX Spectrum
Wie ist der Name des Minerals in St. Austin? (Antwort: weißer Ton)
Welcher Atomkernteil hat die Masse 1 und keine Ladung? (Antwort: das Neutron)
Welche Zellorganismen enthalten die Zellatmungsfermente? (Antwort: Mitochondrien)
Für den Buchstabiertest dürfte es reichen, wenn die entsprechenden De- finitionen, die einen Anhaltspunkt für das zu ratende Wort geben sollen, einfach sind: Die Angabe „bewaffneter Reiter“ gibt beispielsweise einen recht guten Fingerzeig für den Begriff „Ritter“ auf der Liste. Überreden Sie Ihr Kind dazu, eigene Anhaltspunkte und Wörter einzugeben. Dann gehen Sıe die Übung selbst durch, um sicherzustellen, daß die Recht- schreibung stimmt.
Das Programm wirft mit FLASH zuerst die gesamte Menge der Antwor- ten, eine nach der anderen, kurz auf den Bildschirm. Dann werden die Fragen in zufälliger Abfolge, aber diesmal ohne Antworten, vorgelegt. Wenn Sie einen Fehler machen oder einfach ENTER drücken, wird Ih- nen ein Anhaltspunkt gegeben: „R....r“ für Ritter oder „d....r“ für don- ner (geben). Mit Run 500 können Sie eine neue Frage- und Antwort-Serie aufstellen.
QUIZ-MASTER
12 REM INITIALISTIERUNG eu2 LET 35=0: sem: LET BE="=> ie Ee5="
sa FOR n=2 TO nn: LEI ums: © ext NM
da GO SUE dia: CLS FR r n&I 7 a m: FRIMT AT 12,5; 3$in1: FRALUSE z SL : NEST DO ı REM HAUFTFRÖGRAHM ı LET z=IT (RNGsx +10 er =
ei
a FÜR ne se IT) % LEI Wind zu Ne NE=-T rn
aa DLS [ET % =*
lanz FRIMT AT 2,2: 0$171 INFIT i & 139 IF isSsastqa) < TO Lfgiı THEN
» ._
ıL
zZ ‚Ei. -r iz — \
in
HH
Der Spectrum als Lehr- und Lernmittel 105
2.=2+1 IS za SO SLUE 41m: [3 IF x >a THEN 5 Blei 1-2 REM ENESTAND aa PRIMT AT 5,2; "5I HAEEH ";= Or ":;:m#Zzs;" FUNFETEH" STOFF FREH LOB FRIFMT FAT 7,2; "GUT GEMACHT , ;" WIAR RICHTIG." ; HAT =3,10;€e5 SU TO 150 EM FALSCHE AMTLGÖRT i$5=-"" THEN GO TO za FRIHT FAT 7,20;1i1$;" WAR FHALSC ;HAT 3,5; Ei I SUB. 41a Ft=z= THEN GO TO Z1lo FRIMT AT 7,0; "DIE RICHTIGE ORT IWIAR:";e$; AT 3,15;:35$ 17] 0 TO 122 REM HIMHLEIS-ZUEITER ULER2UCH BET Tu FRIHT FAT Fa ‚SER EIM HIHI "ses; HT Zz1l,2;e$ FRIHT AT 3a ‚15;3$i94,11+bsi1l (3-2) +aK lg, LIig}) Sun Oo TO lcd jaeaa REM FÜRTISETZUNG 4la FRIMNT AT 21,0; "ZUR FÜRTIETZ _NS ENTER EINGEBEN! " ‘er GO SUE 4dE2 ‘2 IF CcobE KS$=15 THEM RETUFRMH la 50 TO 420 4=a REM EINE TASTE EINGEEEN jeia IP o INKEr$::"" THEM GO TO de 22} 7a IF IMNEEr$="" THEN GO TO da 22 LET EKS=-INKETS$: RETURH la REM EINGAEE CER FRAÄGEH UND AMHTLIORTEH la FRIMHT "WIEWIELE FRAGEHM?T": I NFIT m S2m DIM <$im,&d): DIM a$1(1m,151: CIM Limi: DIM im) SS FÜR 9=1 TO M S4ia CL5S : FRINT "FRAGE ";4° " Gl PRINT "GEEEN SIE EITTE CIE FRAGE ÜDER UIHSCHREIEUNG AM!": I NEUT cH ig) sEE2 FRIFHNT’C$(I91"""GEEEN TIE EIT TE CIE ArMTucorkT EIN!": IMPFIT I$ e72 FRIMNT °i$; AT Za,0; "TIFFEHN = LE O2, WENM CIE FRAGE ÖOFR“ IST, HN, WENN SIE CIE EINGABE NO MACHEN MOECHTEH!" Oo ZUE 412 IF kK$="MN" THEN GO TO Die IF kKS$::"0" THEN GO TO Soda LET Lie LEN 31%: LET 3814)
14 NENENE
R&B]
- fafcnl- Tode — Mi Tı ar 17
Hi
zT
TI
zZ Teafufu min ZT EHNENEI
ze „‚SeeBDT
SUH LI LaLaf Kl
Ne m
a SPEICHERN UND STARTEN INFLT "NAHE DES FROGR
PS LINE 20
TEN TH 1
ZITTERN EN
ıTı J7 IL
I! = _. = -. res
106 Sinclair ZX Spectrum
Um den Ablauf des Programms gut zu verstehen, sollten Sie am besten bei Zeile 500 anfangen, wo die Fragen und Antworten eingegeben wer- den. Die Gesamtzahl der Fragen m wird in Zeile 510 gegeben. Sie wird da- zu benötigt, um vier Felder in Zeile 520 anzulegen. Feld c$ enthält m Fra- gen, jede bis zu 64 Zeichen (2 Zeilen) lang. Feld a$ enthältm Antworten, jede 15 Zeichen lang. Für längere Fragen oder Antworten müssen Sie den DIM-Befehl ändern. Feld 1 gibt die reale Länge der Antworten an: Die Antwort-Zeichenketten werden mit Leerstellen ausgestattet, wenn sie in dem Feld gespeichert werden. Die Antwort-Länge ist nötig, um die Ant- wort des Kindes mit der richtigen Lösung vergleichen zu können. Die Lö- sungen werden eingangs mit Input i$ akzeptiert. So kann ihre Länge vor ihrer Speicherung in Feld a$ bestimmt werden.
Die Zeilen 660 und 670 zwingen Sie, Ihr Programm zu speichern. Die Fra- gen und Antworten können dann nur noch mit RUN gelöscht werden. Wenn Sie das Programm von neuem starten wollen, müssen Sie den Be- fehl GO TO 20 geben, denn dann bleiben die Fragen und Antworten er- halten. Mit ein paar zusätzlichen Zeilen am Ende des Hauptprogramms können Sıe das Programm jederzeit wieder starten.
Jetzt gehen wir wieder zum Ausgangspunkt des Programms zurück. Die Zeilen 20 und 30 stellen Variablen vor: s für die Punktzahl, x für die An- zahl der Fragen, die noch gestellt werden müssen, b$, um die Anzahl der Bindestriche in den Hinweisen festzulegen, und e$ zum Löschen einzel- ner Zeilen auf dem Bildschirm.
Zeile 40 schreibt alle Antworten mit FLASH auf den Bildschirm. Das ist eine gute Gedächtnishilfe für kurze Frage-Serien. Machen Sie das aber nicht, wenn es allzu viele Fragen sind.
Das Feld Y (in Zeile 520) speichert die Fragenummern so, daß ärgerliche Wiederholungen beim Programmdurchlauf vermieden werden. Zeile 30 legt die Elemente wie folgt fest: y(1) = 1, y(2) = 2 usw. Bei nur vier Fra- gen in der Übung gibt Zeile 60 dem z einen Wert zwischen 1 und 4. Ange- nommen, daß z = 2 ist, dann würde die Fragenummer q mit y(2) gleichge- setzt und erhielte so den Wert 2. Zeile 70 läßt x kleiner werden, d.h. die Zahl der noch verbleibenden Fragen. Zeile 80 löscht die Nummern der Fragen, die schon verwendet wurden:
vor Zeile 80 nach Zeile 80 y1)=1 y()=1 y2)=2 y(2) =3 y(3)=3 y3)=4 ei ne
Sie bekommen zwei Punkte, wenn Sie die Frage auf Anhieb, und einen Punkt, wenn Sie sie beim zweiten Anlauf richtig beantworten. Zeile 110
Der Spectrum als Lehr- und Lernmittel 107
benutzt die Länge l(q) der Antwort, um die Leerstellen aus der Antwort zu entfernen. Sie müssen diese Leerstellen entfernen, weil
[77
„Constantinople“ <> „Constantinople “ ist. Sıe brauchen die Länge der Antwort in Zeile 330 noch einmal, um für die Vorgabe „C--------- “ die richtige Anzahl Bindestriche von b$ vorzulegen.
Dieses Programm kann dazu benutzt werden, um den Schülern in vielen Fächern bei den Schulaufgaben zu helfen. Wenn Sie Ihren Spectrum re- gelmäßig mit Französisch-Vokabeln, Chemie-Definitionen und Fragen zur englischen Literatur füttern, dann haben Sie sıch bald einen beträcht- lichen Grundstock an Wiederholungsmaterial aufgebaut (dabei werden Sie selbst wahrscheinlich auch ein wenig lernen). Das einleitende FLASH bei den Antworten und die Hinweise führen dazu, daß Sie sich bei Wie- derholungen des Programms im Laufe des Jahres gut erinnern werden. Das gibt dem Anwender Sicherheit beim Gebrauch grundlegender Be- griffe und Strukturen, ohne die er in keinem Fach Fortschritte machen kann. Um das Programm noch zu erweitern, könnten Sie in einem zusätz- lichen Feld Erläuterungen und ergänzende Informationen speichern. Der Benutzer kann sıe dann ganz nach Belieben abrufen oder unberücksich- tigt lassen. Man könnte diese Programme noch auf eine andere Art und Weise weiterentwickeln: Man prüft eine Reihe falscher Antworten an- hand einer Liste verwandter Begriffe nach. Der Spectrum soll dann die richtige Bedeutung für die Antwort herausfiltern.
Von diesem sehr allgemein gehaltenen Lehrprogramm gehen wir jetzt über zu einem ganz anderen, sehr speziellen. Es testet die Lesegeschwin- digkeit und die Aufnahmefähigkeit für das Gelesene. Die Idee stammt aus dem Buch „The Standard Reading Tests“. Der Computer trifft seine Wahl unter Sätzen, die in DATA-Befehlen ab Zeile 160 enthalten sind, und bringt sie auf den Bildschirm. Dort bleiben sıe entsprechend ihrer Länge (siehe Zeile 60) eine Zeitlang stehen. Dann wird der Bildschirm ge- löscht. Der Schüler wird dazu aufgefordert, den Satz einzugeben, den er gerade auf dem Bildschirm gesehen hat. Der vom Schüler eingegebene Satz (der Anfangsbuchstabe kann groß oder klein geschrieben werden) wird mit dem Satz des Computers verglichen (mit Ausnahme des An- fangsbuchstaben).
Wenn beide übereinstimmen, meldet der Bildschirm „Gut gemacht“. Wenn ein Satz gelöscht ist, kommt der nächste an die Reihe. Hat der Schüler etwas falsch gemacht, dann wird der Satz nach einer kurzen Pause wiederholt. Das geschieht so oft, bis der Satz richtig eingegeben ist.
Sıe können die 20 am Ende der Zeile 60 ändern, um den Satz so lange auf dem Bildschirm stehenzulassen, wıe es für die Lesefähigkeit des Schülers nötig ist. Auch die Sätze selbst sollten jeweils an das Alter und die Fähig- keiten des Schülers angepaßt werden. Sie können sich auch stellvertre-
108 Sinclair ZX Spectrum
tend für den Computer die Sätze mündlich wiederholen lassen. Dann brauchen die Sätze nicht eingetippt zu werden, wenn das Ihrer Meinung nach eine bessere Übung ist.
LESETEST
15 INH 1: FHRFER 7: BürRbER 7: 5 LS
za PAUSE Sa: REZSTÜRE
za FÜR i=1l TO IMT iRNGC#11)1 +1
+ EEEF 1." ıi.,5#+ul: RERAb 3%$: NE=-T
„|
Sa FRINT AT 10,20;3$
Ba FAUSE ILEN 3$) +20
Fe GLS
az INPLT INH =; "GEBEN SIE ETZ T DEN IERT BEN, DEN SIE GERACE
GSELESEH HABEH" , ,bS$
a2 PRIMT IMWERSE 1;" ";b$;"
lana FALUS =zir
ga IF 3812 TO ]I]=b&t2 TO 1 THREN
EEEF (.Z,LEMN 3$: FRIMT °°" INH 5; FLRZH 1; "GUT GEMACHT, CRA=Z WAR FI IHTIG!": FAUSE Gas: Run
l=2 FRIMT """BECRAURE, CAS LIAR HM ILHT RICHTIG!"
12 FRIHT °""HIER IST EZ NÜOCHHRA L"
14: FALSE Zam: CLS
Sn 50 TO Sa
lE20 DATA "WORSICHT EISSIGER HM BD“
L 7 je) [: -T A ”- [: T. = HF. FT = E = \: H i;: E T r) HT m HN GEH EREI"
150 CATA "WARUM IST CAS EI ERAU r-J er "
19m CATA "CIE SONNE BRENNT HEISE
fü = ZI
ERTR "FISECHERS FRITZE FISCH
"el
Tr HJIschEe'
e13189 DATA "BIE ENTE SEHWEMHT Ser NELL”
zei DATA "DHAE KEAMEL HAT EINEM H DECKER"
ea CHTA "ES IST GLEICH 5 WÜR 1 4a CHTHA "NICHT HMUR FISCHE HABE HJ SCHUFFEHN"
eoa CHTA "CER ELAUITERST IMMER FL IHMFERT "
ee CHATA "CER EUSFAHRER EUNMMELT
Mit dem nächsten Programm DUDELSACK machen Kinder gern Skiz- zen und Bilder. Wir zeichnen jetzt damit Landkarten und Diagramme. Mit den unten angegebenen Tasten können Sie waagerechte, senkrechte und diagonale Geraden zeichnen:
Der Spectrum als Lehr- und Lernmittel 109
Die Taste H im Zentrum hat keine Bedeutung.
DUDELSACK
EIrRCER 6 INFLT "ANFANGERÖOürROIHMFTE =:
INPLIT "ANFANGSRÖOÖOREINATE '
Sa LET Yey+ics="t"! ea Feier" Fi. rs 1
1m IE
116 1
l1=1% ZTÜRr 1 Sl SE
Geben sie das Programm ein und starten Sie. Wählen Sie Ihre Startposi- tion mit der x- und y-Punktkoordinate. Zeile 70 kontrolliert, welche Taste Sie drücken, und ordnet ihr c$ zu. Entsprechend ändern sich die x- und y- Koordinaten in Zeile 80 und 90. Wenn Sie „m“ drücken. dann ist (c$ =
110 Sinclair ZX Spectrum
„m“) wahr und nimmt den Wert 1 an. Der restliche Inhalt der Zeilen 80 und 90 ist nicht wahr und also gleich 0. Demnach sindx = x+1l und y = y+1, und der nächste Punkt wird eine Position weiter südöstlich gezeigt als der erste. Die Zeilen 100 und 110 verhindern, daß Sie über die Gren- zen der Zeichenfläche hinausgehen. Dann würde nämlıch alles „zusam- menbrechen“. In Zeile 120 können Sie mit der Taste s das Skizzieren ab- brechen.
Sie können Ihre Kunstwerke mit dem Befehl SAVE „Skizze“ SCREEN$ speichern. Unter der Überschrift „Skizze“ wird Ihr Bild jetzt auf Band ge- speichert. Dieses simple „Skizzenblock“-Programm können Sie u.a. wie folgt verbessern. Schreiben Sie die Zeile 120 neu:
120 IFc$ = “c*“ THEN GO TO 140
Bei Taste „c“ geht das Programm zur Zeile 140. Dort können Sie z.B. Be- fehle wie INPUT „Ink-Farbe“; Tinte eingeben. Schreiben Sie in Zeile 40 nach dem PLOT-Befehl INK. Jetzt können Sie in Farbe zeichnen. Wenn Sie zusätzlich ähnliche Befehle wie PAPER, OVER, FLASH, BRIGHT und INVERSE ins Programm einbringen, wird das Ergebnis entspre- chend interessant ausfallen. Das zeigt folgendes Beispiel:
Probedurchlauf DUDELSACK:
Der Spectrum als Lehr- und Lernmittel 111
Für die Karte von Australien wurde das ursprüngliche Skizzenblockpro- gramm abgewandelt. Zwei Zeilen sind neu hinzugekommen:
50 IFINKEY$ <> *“ THEN GO TO 50 60 IFINKEY$ = ““ THEN GO TO 60
Das verlangsamt das Programm, so daß mit jedem Tastendruck nur ein Punkt gezeichnet wird. Sie brauchen eine Landkarte, die genauso groß ist wie der Teil der Bildschirmfläche, auf dem gezeichnet wird. Übertragen Sie die Landkarte auf ein Stück Zeichenfolie und heften Sie sie auf Ihren Bildschirm. Etwas Platz muß für Fragen und Antworten frei bleiben.
Speichern Sie die fertige Skizze. Zur Vervollständigung Ihrer Landkarte können Sie direkte Befehle geben wie z.B.: CIRCLE 55,50,2. Das ergibt einen kleinen Kreis für eine Stadt. Mit Hilfe des Programms suchen Sie sich die Koordinaten für Orte auf der Landkarte. Ziehen Sie eine Linie zu dem gewünschten Punkt, halten Sie das Programm an und schreiben Sie die x- und y-Werte ın eine Ecke des Bildschirms. Starten Sie das Pro- gramm wieder mit GO TO 40 und wiederholen Sie diesen Vorgang. Ge-
112 Sinclair ZX Spectrum
ben Sie zum Schluß noch einmal eine saubere Kopie der Landkarte ein, fügen Sie kleinere und größere Städte ein und speichern Sie diese Endver- sion.
Die gleiche Technik können Sie in fast jedem Fach anwenden, von Schal- tungsdiagrammen in der Physik bis zu Querschnitten von Pflanzenstielen in Biologie.
Als nächstes sollen Sie Ihre Landkarte oder Ihr Diagramm mit einem Fra- ge- und Antwort-Programm verbinden. Wenn Sie vom Quizmaster-Pro- gramm ausgehen wollen, müssen Sie es etwas abändern. Ersetzen Sıe Zei- le 40 durch:
40 LOAD “Landkarte“ SCREEN$
Alle PRINT-Befehle müssen an das untere Ende des Bildschirms gepackt werden. Das läßt sich mit folgendem Unterprogramm bewerkstelligen:
350 REM3 Zeilen am unteren Rand löschen 360 PRINT AT 19,0; e$; e$; e$
370 PRINTAT 19,0;
380 RETURN
Geben Sıe mit RUN 500 Ihre Fragen und Antworten ein. Wenn Sie alles gespeichert haben, geben Sie den Befehl BREAK und holen Sie Ihre Landkarte wieder von der Kassette zurück auf den Bildschirm. Speichern Sie dies mit dem Befehl SAVE „Karte“ SCREENS$ auf dieselbe Kassette direkt hinter dem Frage- und Antwort-Programm. Wenn sie jetzt das Pro- gramm QUIZMASTER laden, wird automatisch auch das Bild geladen. Danach geht das Programm sofort zu den Fragen über.
In diesem Kapitel haben wir also einige Programme entwickelt, die den Schülern sicherlich großen Spaß machen werden und die auch ohne gro- Ben Zeitaufwand eingetippt werden können. Diese Programme gehören zur Kategorie der Lern- und Übungsprogramme.
Um mit Erfolg zu lernen, braucht ein Schüler
1. viele Übungsmöglichkeiten 2. die sofortige Information, ob die Antwort richtig oder falsch ist 3. die Möglichkeit, das Lerntempo selbst festzulegen und, was sehr wichtig ist, 4. die Befriedigung, die sich bei erfolgreichen Ergebnissen einstellt.
Es sind auch andere Lehr- und Lernprogramme möglich, wie z.B. Pro- gramme, bei denen unter mehreren Antworten ausgewählt werden muß, oder solchen, bei denen Figuren zur darstellenden Geometrie verwendet
Der Spectrum als Lehr- und Lernmittel 113
werden. Aber darauf wollen wir hier nicht eingehen. Das vorgelegte Ma- terial dürfte sicherlich eine gute Starthilfe zur Entwicklung eigener Soft- ware geben.
Wenn Ihnen die nötigen Ideen fehlen, bestellen Sie sich einen Katalog über Lernprogramme für irgendeinen Computer. Beim bloßen Durchle- sen der Programmbeschreibungen wird Ihnen sicherlich die eine oder an- dere Idee kommen. Auch die vorliegenden Programme basieren zum Teil auf solchen Katalogen.
Nun sind wir am Ende unseres Kapitels angelangt. Wir haben einige ein- fache und doch recht wirkungsvolle Programme kennengelernt. Diese Programme können als Grundstock zur Entwicklung einer eigenen Pro- grammbibliothek dienen. Sei es, daß Sie die Programme selber schreiben, oder sei es, daß Sie Programme kaufen. Sie sollten auf jeden Fall die fol- genden Punkte beachten:
1. Sie sollten sich beim Programmstart nicht erst durch mehrere Erläute- rungstafeln quälen müssen.
2. Der Bildschirm sollte nicht mit Informationen überladen sein. Nur die wesentlichen Informationen gehören auf den Bildschirm.
3. Beim Text sollten Farben nur dann verwendet werden, wenn dies sinn- voll erscheint.
4. Das Programm sollte abbruchsicher sein.
5. Wenn eine Antwort falsch ist, muß die richtige Antwort gezeigt wer- den.
6. Das Tempo der Bearbeitung sollte vom Anwender und nicht vom Pro- gramm bestimmt werden. So sollten Informationen erst dann vom Bildschirm verschwinden, wenn der Anwender sie gelesen hat. Außer- dem sollten die Programme keine allzu langen Pausen zwischen den einzelnen Fragen machen.
Ein gutes Programm erkennt man daran, daß es dıe gesteckten Ziele be- wältigt und dabei noch Freude macht.
Vorschläge zur weiteren Lektüre:
Orwig, Gary W. und Hodges, William S.: The Computer Tutor, Winthrop Publishers, Inc., USA, 1981
Daniels, J. C. und Diak, Hunter: The Standard Reading Tests, Chatto Educational Ltd., 1958
114 Sinclair ZX Spectrum
Rogowski, Stephan J.: Problems for Computer Solution, Creative Computing Press, USA, 1979
Maddison, Alan: Microcomputers in the Classroom, Hodder and Stoughton, London, 1982
Oliva, Ralph A. (Hrsg.): Understanding Calculator Math., Texas
Instruments Inc., Dallas, Texas, vertrieben durch Tandy/Radio Shack, 1978
115
Kapitel /
Der Spectrum als Spielpartner
Ganz gleich, aus welchen Gründen Sie Ihren Spectrum gekauft haben: Sie werden sicher auch gelegentlich ein Spiel mit ihm spielen wollen. Es gibt für einen Computerbesitzer kaum etwas Faszinierenderes, als sich eigene Programme (Spiele oder anderes) auszudenken und sie Schritt für Schritt in die Tat umzusetzen.
In diesem Kapitel wollen wir uns einige Spiele anschauen. Alle werden im Detail erklärt, damit Sie ein paar Tricks lernen, wie solche Programme geschrieben werden. Auf diese Weise werden Sie bald Ihre eigenen Spiel- Programme schreiben können.
Es ist zwar verständlich, wenn Sie gleich die fertige Version der Spielpro- gramme eingeben wollen, ohne vorher alle Erläuterungen davor und da- hinter durchzulesen. Wenn Sie das machen, werden Sie zwar ein lauffähi- ges Programm erhalten, aber das ist nicht der Sinn dieses Kapitels. Haben Sıe lieber ein wenig Geduld. Folgen Sıe Zeile für Zeile der Beschreibung und geben Sie bei den schrittweise erläuterten Programmen jeden Schritt erst dann ein, wenn Sie zu der entsprechenden Anleitung kommen.
Die ersten beiden Programme NÄCHTLICHER ÜBERFALL und RE- BENKLAU sind besonders ausführlich erklärt. Diese beiden Beschrei- bungen sollten Sie auf jeden Fall sehr sorgfältig lesen, selbst wenn Sie die Erläuterungen der nachfolgenden überspringen. Die beiden Programme enthalten sehr viele nützliche Ideen, die nicht nur zum besseren Verständ- nis der Programme beitragen, sondern auch bei anderen Programmie- rungs-Problemen Anwendung finden.
Nächtlicher Überfall
Im ersten Spiel fliegt ein Flugzeug über eine Stadt mit dem Ziel, die Wol- kenkratzer dem Erdboden gleich zu machen. Das Flugzeug fliegt über den Bildschirm und verliert bei jedem Zeilenende an Höhe. Schließlich
116 Sinclair ZX Spectrum
stürzt es beim Zusammenprall mit einem Wolkenkratzer ab, falls Sie nicht schon vorher das Gebäude zerstört haben.
Zunächst einmal müssen wir die Wolkenkratzer zeichnen. Das geht sehr einfach mit einer FOR/NEXT-Schleife von O bis 31 (dies entspricht den Spalten des Bildschirms). Diese Schleife muß eine weitere Schleife ent- halten, mit der die Wolkenkratzer von unten nach oben aufgebaut wer- den.
Zur Verdeutlichung möge folgendes Programm dienen:
Die Wolkenkratzer, die Sie jetzt sehen, sind alle gleich hoch. Sie können die Höhe des gesamten Häuserblocks variieren, indem Sie die Werte von b in der Zeile 20 entsprechend ändern.
Mit dieser Routine haben Sie noch immer keine interessante Silhouette. Das Ganze sieht eher wie ein Schuhkarton und nicht wie eine Stadt aus. Um den Wolkenkratzern unterschiedliche Höhen zu geben, brauchen wir einen Zufallsfaktor. Versuchen Sie einmal, folgendes in Zeile 20 einzuge- ben:
20 FORb = INT (RNDx22) TO 21
Die Silhouette bekommt jetzt schon Konturen. Das sieht schon besser aus, wirkt aber zu unregelmäßig. Was wir brauchen, ist ein Durchschnitts- wert, eine mittlere Höhe. Der Zufallsfaktor soll dann diese Höhe gering- fügig variieren. Jetzt entscheidet nicht mehr der Zufallsfaktor über den Spielverlauf, sondern wir legen durch die mittlere Höhe den Schwierig- keitsgrad des Spiels fest. Um eine Stadt zeichnen zu können, benötigen wir also die mittlere Bebauungshöhe. Einige der Wolkenkratzer werden etwas höher ausfallen, andere werden geringfügig unter dieser Richthöhe liegen.
Im letzten Beispiel lag die mittlere Höhe bei elf Stockwerken; einige wa- ren 21 Stockwerke hoch, andere nur ein Stockwerk. Ein schweres Spiel würde also eine mittlere Höhe von 18 Stockwerken haben. Denn dann würde das Flugzeug ziemlich schnell mit einem Gebäude zusammensto- ßen und dann abstürzen. Sehr einfach wäre das Spiel z.B. bei einer Durchschnittshöhe von fünf Stockwerken. Das Flugzeug würde dann
Der Spectrum als Spielpartner 117
ziemlich lange brauchen, bis es mit einem Wolkenkratzer zusammenstie- ße. Verständlicherweise wäre es nicht sinnvoll, bei einer Durchschnitts- höhe von fünf plötzlich ein oder zwei Gebäude mit 20 Stockwerken dazwi- schen zu haben. Das Spiel wäre dann schon als schwierig einzustufen.
Zu Beginn wollen wir also den Spieler nach dem Schwierigkeitsgrad fra- gen (z.B. zwischen 1 und 9). Damit können wir Wolkenkratzer bauen, de- ren ungefähre Höhe von dem gewählten Schwierigkeitsgrad abhängt. Versuchen Sie einmal folgende Routine:
IHFIT "SCHWIERIGHKEITISGRAG ii
Hr I
I IF J:1l ÖÜrR dJ:= THEHN GO TO 10 LET J=12-J
> =,
FÜR 3=C TO 351
FÜR b=dJ+IT (IRNGsgJd) TO 21 FRIMT AT 6.3: '$"
HET EB
HE=T 3
So TO 10
ii
1 _ ni Lo L =, B —_ en)
Geben Sie eine Zahl von 1 bis 9 ein. Der Spectrum zeichnet dann eine ziemlich realistische Silhouette. Probieren Sie eine kleine Zahl und Sie er- halten eine entsprechend flache Bebauung. Was passiert, wenn Sie eine Zahl außerhalb des zulässigen Bereichs eingeben? Warum? Jedes Pro- gramm, das Sie schreiben, sollte eine Routine haben, die eine ungültige Eingabe zurückweist.
Es kommt öfter vor, daß man sich bei der Eingabe vertippt. Wenn ein sol- cher Fehler nicht bemerkt wird, kann das zu einem Programmabbruch führen oder aber verwirrende Ergebnisse produzieren. Eine einzelne Zei- le, welche den zulässigen Bereich einer Zahl prüft, schafft hier Abhilfe.
Ist Ihnen das Programm bis zu diesem Punkt klar? Dann gehen wir einen Schritt weiter: Wir stellen ein Flugzeug her, das über die Stadt hinwegflie- gen kann. Zuerst überlegen wir uns, wie unser Flugzeug aussehen soll. Auf der Tastatur finden wir jedoch kein Symbol, das im entferntesten wie ein Flugzeug aussieht. Es sieht so aus, als ob wir uns mit Grafik befassen müssen. Hier ist ein Weg, wie wir Schritt für Schritt vorgehen können.
1. Zeichnen Sie ein Gitter mit einen 8x8-Raster.
2. Füllen Sıe jetzt so lange Quadrate aus, bis das Ganze von der Seite her einem Flugzeug ähnelt. Keine Angst! Auch wenn es ein bißchen ko- misch aussieht, auf dem Bildschirm wird es wahrscheinlich prima aus- sehen.
118 Sinclair ZX Spectrum
Hier ist das Flugzeug, welches im Programm benutzt wird:
Jetzt gehen wir jede Reihe durch und schreiben eine Null für jedes nicht ausgefüllte und eine Eins für jedes ausgefüllte Quadrat. Wir erhalten dann folgende Tafel:
00000000 6000060000 9 01100000 % 01111110 %6 STILE TITAI = 00001000 f 0600100600 ! 00100000
Jede Reihe ist eine binäre Zahl. 3. Mit Hilfe des Spectrum gehen wir jetzt die Reihe durch und tippen: PRINT BIN (die Reihe der Nullen und Einsen)
Notieren Sie sich die Zahl, die der Computer angibt, direkt neben der bi- nären Zahl. Wenn Sie z.B. die dritte Reihe tippen:
PRINT BIN 01100000
Der Spectrum als Spielpartner 119
würde der Computer die Zahl 96 ausgeben. Schreiben Sie diese Zahl ne- ben die entsprechende Reihe, also
01100000 3%
Passen Sıe auf, daß keine Null fehlt! Jede Null hat eine bestimmte Bedeu- tung. Wenn Sie z.B. rechts zwei Nullen vergessen und die binäre Zahl 011000 eingeben, erhalten Sie statt 96 nur die Zahl 24.
Sie müssen jetzt acht Zahlen haben. Im obigen Beispiel sind das der Rei- henfolge nach: 0,0,9,126,127,8,16 und 32.
Löschen Sie jetzt den Spectrum (mittels NEW) und tippen Sie folgendes ein:
la CAÄTHAH .„...ihre en FÜR 3=2 TO 7
>a RERE bi PORE USR " da ME=T 3
Die DATA-Anweisung sollte die acht Zahlen enthalten, durch Kommata getrennt. Wenn Sıe dies laufen lassen, rührt sich scheinbar nichts. Wenn Sie aber den Buchstaben a tippen, erscheint plötzlich ein winziges Flug- zeug auf dem Bildschirm. Selbst wenn Sie jetzt das Programm löschen, bleibt doch das Flugzeug weiter einsatzbereit, es sei denn, Sie ziehen den Stecker heraus oder konstruieren sich ein anderes Flugzeug. Statt des Buchstabens a können Sie auch sagen: CHR$ 144. Nach dieser Methode können Sie sich beliebige andere Flugzeuge Konstruieren.
Mit Hilfe des Flugzeugs können wir nun an die weiteren Aufgaben des Programms herangehen. Wir können das Flugzeug in Bewegung setzen und an Höhe verlieren lassen. Fügen Sie der letzten Häuserblockroutine noch die folgenden Zeilen hinzu (das Flugzeug steht in Zeile 140):
LET Well LET Ball 2 FRINT FT u,Pr; CHRS$&S 144 a Lei P=P-+il FRIMT FAT u,r-l;" " de TrieEN LET PRs=sß LET u a 5
50 To 14n
120 Sinclair ZX Spectrum
Sie werden nach dem Schwierigkeitsgrad gefragt. Die Stadt wird aufge- baut. Danach fliegt ein kleines Flugzeug quer über den Bildschirm und verliert von Malzu Mal an Höhe. Dabei ertönt gleichzeitig ein BEEP. Die ansteigenden Töne sollen die Spannung erhöhen. Bald fliegt das Flugzeug durch das erste Gebäude hindurch. So senkt es sich langsam, bis es schließlich am unteren Rand des Bildschirms verschwindet. Danach stoppt das Programm mit einer Fehlermeldung.
Wir brauchen jetzt eine Zeile, die die jeweilige Position des Flugzeuges notiert und das Flugzeug explodieren läßt, wenn es aufeinen Wolkenkrat- zer trifft. Dafür brauchen wir zwei Routinen: eine, um die jeweilige Posi- tion und den Zusammenprall zu ermitteln, und eine, die die Explosion darstellt.
Zuerst die Routine zur Überprüfung des Zusammenstoßes. Dafür gibt es zwei Möglichkeiten:
SCREENS: Ersetzen Sie Zeile 60 durch:
60 PRINT AT b,a; INVERSE 1; “xX“ und Zeile 140 durch: 140 IF SCREENS$ (u,p) = “X“ THEN STOP
SCREENS$ kann Buchstaben lesen. Daher stoppt das Programm, wenn nun das Flugzeug mit einem „X“ zusammenstößt. In diesem Fall muß die Routine zum Zeichnen der Wolkenkratzer geändert werden. Statt Gra- fik-Blöcken müssen inverse „X“ erzeugt werden, da SCREENS$ keine Grafik-Blöcke lesen kann.
ATTR:
Um die Attribut-Funktion zu verwenden, müssen wir Zeile 60 ersetzen durch:
60 PRINT AT, b,a; INK 5; PAPER 0; "Grafik-Block“
und Zeile 140 durch: 140 IFATTR (u,p) = 5 THEN STOP
Mit diesem Befehl wird das Programm immer dann gestoppt, wenn das Flugzeug auf ein Bildschirmquadrat stößt, welches grün auf schwarz ist, nicht blinkt und extra hell erscheint. Der Nachteil dieser Methode liegt darin, daß sie ein wenig kompliziert ist. Wenn nämlich in einem Pro-
Der Spectrum als Spielpartner 121
gramm eine Vielzahl verschiedener Farbflecke und Quadrate benutzt wird, wird es recht mühsam, für jede Position die Farbe und die Farb- eigenschaften auszuarbeiten.
Soll das Flugzeug bei einem gelben, blinkenden Fleck abstoppen, müssen Sıe Zeile 140 ändern:
140 IFATTR (u,p) = 134 THEN STOP
Zur Erinnerung:
128, falls das Quadrat blinkt (0, falls nicht) 1*128 = 128 64, falls das Quadrat besonders hell erscheint 0x 64= 0 8* Papierfarbe (schwarz = 0) & 0= 0 1x Farbe der Schrift (gelb = 6) l# 6= 6
Summe: 134
Am verständlichsten ist sicherlich die Form mit dem Befehl SCREENS:
PRINT AT b,a; INVERSE 1; X“ IF SCREENS$ (u,p) = "X" THEN...
Da das Flugzeug nur zwei verschiedene Zeichen passiert, Hımmel und Wolkenkratzer, genügt diese Form. Also:
140 IFSCREENS$ (u,p) = “X" THEN STOP zusätzlich:
142 PRINT AT u,p; CHR$ 144
und vergessen Sie nicht: 60 PRINT AT b,a; INVERSE 1; *X“
Das Programm stoppt jetzt, wenn das Flugzeug auf ein Gebäude trifft.
Der bloße Befehl