Ausgewählte Kapitel der Basic-Programmierung

Die größte Anzahl der Computer-Einsteiger bevorzugen die Sprache Basic, um ihre ersten Schritte in Sachen Programmierung zu unternehmen. In dieser Serie wollen wir deshalb auf die Eigenschaften dieser Sprache einge-hen, und zwar nicht als Kurs von A...Z, sondern jedesmal ein anderes Kapitel der Basic-Programmierung aufschlagen und dabei sowohl auf die Einsteiger als auch auf diejenigen eingehen, die der Sprache Basic schon mächtig sind. Daß dabei die einen oder anderen zu kurz kommen können, ist leider unvermeidlich, aber wir tun unser Bestes. In diesem ersten Teil werden wir uns ausführlich mit der Bildschirmausgabe beschäftigen, die auf den zweiten Blick schon einiges zu bieten hat. Viele Beispiele in GFA- und Omikron Basic sollen Ihnen dabei das Verständnis erleichtern.

Heraus mit den Daten?

Im Inneren eines Rechners geht einiges vor, Bits und Bytes fliegen nur so im Rechnerspeicher umher. Der Prozessor ist am Keuchen und kommt bei all den Rechnungen leicht ins Schwitzen. Die Speicherchips (RAM) werden mit für sie selbst unverständlichen Zahlen beschrieben, und nach all der Arbeit auch noch dazu aufgefordert, diese Zahlen jederzeit wieder preiszugeben. Der Festwertspeicher (ROM) ist wie ein Telefonbuch, er ist nur zum Lesen geschaffen und auf ihn wird ständig zugegriffen. Aber was interessiert das ganze Innenleben der grauen Kiste, auf das äußerlich Sichtbare kommt es an, und dazu wird meist der Bildschirm mißbraucht. Doch wie kommen die Informationen darauf?

Wenn man die Sache von der Hardware angeht, muß man sagen, daß die Hersteller eigens dafür einen weiteren Krabbelkäfer (CHIP) entwickelt haben - den Videochip. Er macht alles sichtbar, was er soll. Aber wie sagt man ihm, was er zeigen soll?

Um nun etwas auf dem Bildschirm erscheinen zu lassen, gibt es mehrere Befehle. Der erste ist PRINT. Er ist wohl allseits bekannt und auch recht einfach. Er bringt sowohl Text als auch Zahlen auf den Schirm - und dies recht einfach, wie Sie gleich sehen werden.

Generell bringt PRINT alles auf den Bildschirm, was hinter ihm steht. Dabei unterscheidet er prinzipiell zwischen Text und Zahlen. Alles, was zwischen zwei Anführungszeichen steht, also Text, wird genau so auf den Bildschirm gezaubert. Steht hinter Print eine Variable, so erscheint nicht sie, sondern ihr Inhalt auf dem Bildschirm. Als einfaches Beispiel geben wir der Variablen ’A’ den Wert 462657 und lassen ihn uns anschließend ausgeben (Für Kenner: die Zahl ist nicht irgendeine Zahl, sondern spiegelt das Ergebnis eines Tennisspiels zwischen Boris Becker und Iven Lendel wieder).

Hinter PRINT können aber auch komplizierte Rechenvorgänge erscheinen; dabei wird zunächst der Ausdruck errechnet und dann das Ergebnis gePRINTet. Einfacher geht’s nicht, oder?

Die Anweisungen hinter einem PRINT-Befehl können aber noch wesentlich mehr fordern. Will man mehrere Zahlen oder Textabschnitte hintereinander, also in einer Zeile ausgeben, so steht einem dabei nichts im Wege. Als einfaches Beispiel sei hier eine einfache Addition genannt. Der Rechner fragt nach den zwei Zahlen und gibt sogleich die Summe aus.

INPUT a 
INPUT b
PRINT "Die Summe von ";a;" und ”;b;" beträgt ";a + b

Nach der Eingabe von

7 (Return) 14 (Return)

erscheint folgendes Ergebnis:

Die Summe von 7 und 14 beträgt 21

Neu an diesem Beispiel ist das freundliche Miteinander von Zahlen und Text auf dem Bildschirm. Daß dies sehr praktisch ist und sehr oft angewendet werden kann, kann man voraussehen. Neben Text und Zahlen erscheinen auch zwei Semikolons. Diese bewirken, daß die benachbarten Ausdrücke direkt hintereinander gedruckt werden. Man kann das Semikolon meist auch weglassen, der Interpreter fügt sie dann selbst hinzu. Hauptsache, man weiß, was sie bewirken; die Arbeit kann ruhig der Rechner erledigen.

PRINT "Hallo mein Meister"          Hallo mein Meister

PRINT 3+4                           7

A$= "Hier bin ich wieder"
PRINT A$                            Hier bin ich wieder

A=462657
PRINT A                             462657

PRINT "A"                           A

PRINT SIN(1)                        .84147098

PRINT "Drei plus Vier = ";3+4       Drei plus Vier = 7

Listing 2a

Ein anderes Zeichen ist das Komma. Mit ihm hat es etwas ganz anderes auf sich. Es bewirkt nämlich, daß bei seinem Auftreten immer zum nächsten Tabulator gesprungen wird. Ein Tabulator ist in jeder achten Spalte anzutreffen. Bei einem Komma springt der Rechner also immer zum nächsten Tabulator und füllt den Platz dazwischen mit Leerzeichen auf. Hier gilt - wie fast überall in der Rechnerwelt - das Motto: Probieren geht über Studieren. Aber nehmen Sie es nicht allzu ernst, es gehört schon eine Menge Wissen dazu, aber Probieren ist trotzdem sehr hilfreich.

Natürlich fordert das Beispiel dem Rechner keine Denkverrenkungen ab, die prinzipielle Arbeitsweise wird jedoch (hoffentlich) klar.

Zum Abschluß von PRINT noch etwas anderes:

A$ = ”Ich bin ein String und mache Bing”
PRINT A$;chr$(7);

Die PRINT-Anweisung schreibt den angegebenen Text und bringt - noch einen ’Bing’ auf den Bildschirm, oder exakter ausgedrückt: auf den Lautsprecher des Bildschirms.

Da hat sich ein neuer Befehl eingeschlichen. ’CHRS’ bewirkt die Umwandlung einer Zahl in einen Buchstaben. Man versuche einmal folgende Zeile.

PRINT chr$(72),chr$(65),chr$(76,chr$(76),chr$(79)

Nach dem Eintippen erscheint ein allseits bekanntes Grußwort auf dem Bildschirm, das wir aber hier nicht verraten möchten. Man sieht daran aber, daß jedem Buchstaben eine Zahl zugeordnet ist. Diese Kodierung nennt man ASCII-Code. Darin entspricht ein ’A’ beispielsweise der dezimalen Zahl 65, ein ’C’ der Zahl 67. Dem oben verwendeten Wert 7 ist im ASCII-Code das Bing zugeordnet -des Rätsels Lösung. Läßt man eine Schleife von ’0’ bis ’255’ laufen, wird man außer den normalen Buchstaben auch noch einige ST-Sonderzeichen sehen, zwar nicht alle, aber doch ziemlich viele.

For I=0 To 255 
    Print chr$(i);
Next I

Wie man auch die anderen zu Gesicht bekommt, erläutern wir später.

PRINT Wohin?

Beim Ausprobieren werden Sie sicher schon gemerkt haben, daß die Ausgabe mehrerer PRINT-AnWeisungen immer untereinander erscheinen. Der erste Text in der obersten Zeile, der Rest darunter oder - nach Abschluß eines PRINT-Befehls - mit folgendem Semikolon dahinter. Aber eine bestimmte Position ist damit nicht zu erreichen. Abhilfe schafft ein anderer Befehl. In GFA-Basic lautet dieser PRINT AT und hat folgende Syntax.

PRINT AT(Spalte,Zeile); irgendwas

Dabei kann irgendetwas das Gleiche sein, wie bei PRINT, also eine Zahl oder Text.

100 ' Demo Print AT 
110 ' OMIKRON 
120 '
130 CLS
140 PRINT @(12,0);"Links" 
150 PRINT @(12,73);"Rechts" 
160 PRINT @(0,35);"Oben"
170 PRINT @(24,35);"Unten"; 
180 WAIT 5

Listing 1

' Demo Print AT 
' GFA
'
Cls
Print At(1,12);"Links" 
Print At(73,12);"Rechts" 
Print At(35,1);"Oben" 
Print At(35,25);"Unten"; 
Pause 500

Listing 1a

Die Wirkung ist folgende: Der Cursor wird an der angegebenen Stelle positioniert und der Text oder die Zahlen werden an diese Stelle gedruckt. Das ist für viele Anwendungen unverzichtbar, da nur so ein geordneter Bildschirmaufbau erfolgen kann. Ein einfaches Beispielprogramm zeigt die Anwendung dieses Befehls.

In OMIKRON-Basic sieht es ein wenig anders aus: Die Syntax lautet dort

PRINT (Zeile,Spalte); irgendwas

Ansonsten sind beide Befehle identisch, außer, daß die Zählung der Zeilen, bzw. Spalten in OMIKRON-Basic bei Null in GFA-Basic jedoch bei Eins beginnt, sowie die unterschiedliche Reihenfolge der Koordinatenangabe. Warum dies so ist, frage man die Programmierer der Interpreter.

Ein etwas größeres Beispiel der PRINT AT-Nutzung sehen Sie in Listing 2 und 2a. Die Programme erzeugen eine Laufschrift, die an jeder Stelle des Bildschirms und in beliebiger Länge erscheint. Es mag sein, daß der PRINT AT-Befehl in den Programmen eher eine nebenstellige Rolle spielt, aber dafür ist es eine Routine, die schon recht brauchbar ist.

Ausgabe mit Format

So einfach die bisherigen Befehle waren, so leicht erreicht man auch ihren Leistungshorizont. Und zwar dann, wenn es um formatierte Zahlenausgabe geht.

Sie werden sicherlich festgestellt haben, daß Basic immer soviele Stellen hinter dem Komma ausgibt, wie errechnet wurden. Meist ist dies aber ziemlich überflüssig, wenn nicht sogar unschön. Hat man zum Beispiel bei der Haushaltsrechnung ausgerechnet, daß im vergangenen Monat exakt DM 16,86445231 pro Tag für Süßigkeiten verprasst wurden, so sähe die Zahl aber schöner aus, wenn man sie auf DM 16,86 runden würde. Dafür gibt es nun den Befehl PRINT USING. Er sorgt dafür, daß eine Zahl genauso formatiert erscheint, wie es gewünscht wird. PRINT USING kann allerdings noch wesentlich mehr als die Abrundung der Nachkommastellen. Da wäre auch generell die Festlegung, ob eine Zahl mit oder ohne Exponent ausgegeben wird, ob das Vorzeichen erscheint oder ob nicht. Einige Beispiele sehen Sie in den Listing 3 bzw. 3 a.

Interessant ist hierbei, daß beide Basic-Versionen doch einige Unterschiede zeigen. Da wäre zum einen die wesentlich höherer Genauigkeit des OMIKRON-Basics, doch auch ansonsten zeigen sich Unterschiede. So rundet GFA-Basic die Nachkommastellen auf den angegebenen Wert, während OMIKRON-Basic die nachfolgenden Stellen abschneidet. GFA-Basic zeigt recht merkwürdige Ergebnisse, bei der Ausgabe in Exponentialdarstellung, die schlichtweg falsche Ergebnisse liefert.

100 ' Beispiel PRINT USING
110 ' OMIKRON
120 '
130 PRINT PI *1000
140 PRINT USING "#####.###"; PI *1000
150 PRINT USING "#####.#######----";PI *1000
160 PRINT USING "+####.#######.....; PI *1000
170 PRINT USING "Es kostet ####. DM und ## Pfennige ";235.76 
180 PRINT USING "Bitte überweisen Sie DM *x########.##",3663.76

3141.5926535897932
3141.592
   3.1415926D +3 
  +3.1415926D +3 
Es kostet 235. DM und 76 Pfennige 
Bitte überweisen Sie DM xxxxxx3663.76

Listing 3

' Beispiel PRINT USING 
' GFA
'
Print Pi*1000
Print Using "#####.###",Pi*1000
Print Using "#####.#######.....,Pi*1000
Print Using " + ####.#######"'"",Pi*1000
Print Using "Bitte überweisen Sie DM *########.##",3663.76 
Print Using "\.\","ABCDEFGHIJKLMN"

3141.5926536 
 3141.593 
31425.9265360E+0 
+3141.6926536E+03
Bitte überweisen Sie DM *****3663.76 
ABC

Listing 3a

Auch ansonsten gibt es Differenzen, aber das soll hier ja kein Basic-Vergleichstest sein - jedem das Seine. Man erkennt aber, daß dieser Befehl sehr wirkungsvoll ist.

Noch ein Tip: Besitzer eines Druckers sollten anstatt PRINT USING doch einfach einmal LPRINT USING eingeben; der Drucker freut sich.

Wie hätten Sie’s gerne?

In vielen Programmen haben Sie sicher schon unterschiedliche Schriftarten bemerkt, die entweder kursiv, fett oder sonstwie erscheinen. Der ST, oder besser gesagt das GEM hat da schon Vorsorge getroffen und sdtellt diese verschiedenen Schriftformen zur Verfügung. Doch nicht nur in Form, sondern auch in der Größe sind sie frei einstellbar. In Basic gibt es nun (glücklicherweise) Befehle, mit denen diese Schriftarten und Schriftgrößen anwählbar sind und an jeder Stelle des Bildschirms plaziert werden können. Doch alles der Reihe nach.

Zunächst sei erwähnt, daß entgegen des normalen PRINT-Befehls bei TEXT, das ist der betreffende Befehl, die Ausgabe an jede beliebige Bildschirmstelle erfolgen kann, also nicht - wie bei PRINT AT — an die vorgegebenen Zeilen gebunden ist, sondern auf den vollen Bildschirmbereich erfolgen kann. Man muß hierbei beachten, daß bei Verwendung eines Farbmonitors die maximalen Koordinaten kleiner sind, die Schrift dementsprechend größer.

Die etwas Fortgeschrittenen können ja einmal versuchen, eine Laufschrift mit dem TEXT-Befehl zu erzeugen, die nicht buchstaben- sondern pixelweise scrollt.

110 ' SCROLLROUTINE 
120 ' OMIKRON
130 ' Erzeugt eine einfache Laufschrift variabler Länge 
140 ' z.B.: Ausschnitt = 45
150 '
160 '
170 ' Jetzt kommt der Text 
180 '
190 A$="Die aktuellen NEWS .... BONN - Im Bundestag nicht's Neues"
200 A$=A$+" .... OBERAMMELSBACH - Bauer Heums Kuh Elmeretta gab heute" 
210 A$=A$+" 17 Liter Milch in des Bauerns Milchkanne "
220 A$=A$+" .... LONDON - Lady Di ernannte Christian Schormann zu " 
230 A$=A$+" Ihrem neuen Hofmusikanten !! "
250 CLS 
270 REPEAT
280     Scroll(10,10,A$,30)' x,y,Text,Ausschnitt 
290 UNTIL INKEYS <>""
320 DEF PROC Scroll(Xpos,Ypos,Satz$,Ausschnitt)
330     LOCAL A$,I,Xpos,Ypos,Ausschnitt
340     IF Ausschnitt>79-Xpos THEN Ausschnitt=79-Xpos: ENDIF 
350     A$= SPACES(Ausschnitt)+AS
360     FOR 1=1 TO LEN(AS)
370         PRINT @(Ypos,Xpos); MIDS(A$,I,Ausschnitt)
380         WAIT .1
390     NEXT I
400 RETURN

Listing 2

' SCROLLROUTINE 
' HS
' Nun mit GFA 
'
'
' Wieder brandaktuell
'
A$="Die aktuellen NEWS .... BONN - Im Bundestag immer noch nicht's Neues” 
A$=A$+" .... OBERAMMELSBACH - Bauer Heums Kuh Elmeretta gab heute"
A$=A$+" überhaupt keine Milch, da Bauer Heums die Melkzeit verschlief”
A$=A$+" .... LONDON - Lady Di's neuer Liebhaber heißt Christian Schormann " 
A$=A$+" - Prinz Charles versucht sich als Hofmusikant ! ! "
Cls
Repeat
    Gosub Scroll(10,10,A$,30) ! x,y,Text,Ausschnitt
Until Inkey$<>""
'
Procedure Scroll(Xpos,Ypos,Satz$,Ausschnitt)
    Local I
    If Ausschnitt>79-Xpos 
        Ausschnitt=79-Xpos 
    Endif
    A$=Space$(Ausschnitt)+A$ 
    For I=1 To Len(AS)
        Print At(Ypos,Xpos);Mid$(A$,I,Ausschnitt)
        Pause 5 
    Next I 
Return

Die Syntax ist bei OMIKRON- und GFA-Basic etwas verschieden, aber das entnehmen Sie ja den Listings hierzu. Im Grunde ist die Wirkung gleich, da beide Interpreter auf die gleiche GEM-Funktionen zurückgreifen. Diese erlaubt es, optional den angegebenen Text auf eine bestimmte Breite zu bringen. Da sich die Text breite normalerweise aus der Breite der einzelnen Buchstaben zusammensetzt, muß man die gewünschte Breite entweder durch Dehnung der Buchstabenzwischenräume oder des Platzes zwischen den einzelnen Worten erzeugten. Man erreicht damit leicht einen ordentlichen Bildschirmaufbau, aber schauen Sie sich doch einfach die Demos an.

Die oben angesprochenen, verschiedenartigen Textformen lassen sich auf diesen TEXT-Befehl leicht anwenden -beginnen wir mit OMIKRON Basic. Dort bestimmen die Befehle

TEXT STYLE 
TEXT HEIGHT 
TEXT COLOR

das Aussehen des Textes. Der Textstil kann beim ST die Werte von 0 bis 31 annehmen. Probieren Sie sie einfach einmal durch.

FOR I = 0 to 31
    Text Style = I : Text 100,100," Hallo ich bein ein Testsatz"
    Wait 0.5 
Next I

Sie werden sehen, daß dabei manchmal recht skurrile Kombinationen entstehen. Der Grund dafür liegt darin, daß verschiedene Grundschriftarten gemischt werden. Jeder Schriftart ist ein bestimmter Wert zugeordnet. Sie kommen folgendermaßen zustande.

1 Fettschrift
2 Hellschrift
4 Kursiv
8 Unterstrichen
16 Umrandete Schrift

Will man nun z. B. eine fette Kursivschrift erzeugen, so gibt man an:

TEXT STYLE =1 + 4

Somit kann jede Schriftkombination gezielt erzeugt werden.

Bild 4: Einige Schriftproben

Nach gleichem Prinzip ist die Textgröße verstellbar. Der dazugehörige Befehl lautet:

TEXT HEIGHT = 1..26

Bei Verwendung von GFA-Basic gibt es dafür nur einen Befehl. Er beinhaltet sämtliche Einstellungen der Textform. Er lautet:

DEFTEXT Farbe, Stil, Winkel, Größe

Die Variable 'Winkel’ bewirkt die Textausgabe in vier verschiedenen Richtungen, also normal, nach oben, nach unten und umgedreht. 'Winkel' nimmt dabei Werte von 0 bis 3600 an. Trotzdem sind, das liegt leider am Betriebssystem des Rechners, nur vier Richtungen möglich.

Die Variable 'Farbe' gibt zusätzlich die Farbe an, in der der Text ausgegeben wird. Bei monochromem Betrieb des Rechners sind natürlich nur die Farben Schwarz oder Weiß möglich.

Im Farbbetrieb allerdings vier oder sechzehn, je nachdem ob mittlere oder niedrige Auflösung eingestellt ist.

In den folgenden Listings sind einige Beispiele angeführt, die die verschiedenen Schriftarten zu 'Schirme’ bringt.

Bild 5: Exakte Breite
100 ' TEXTSTIL-Demo
110 ' OMIKRON
120 '
130 DATA 1,2,4,8,16,5,13,11 
140 DATA 0 
150 '
160 CLS 
170 '
180 REPEAT
190     READ Stil
200     TEXT STYLE =Stil
210     Ypos=Ypos+30
220     TEXT 100,Ypos,"Hallo hier ist der ST"
230 UNTIL Stil=0 
240 '

Listing 4

' TEXTSTIL-Demo 
' GFA
'
Data 1,2,4,8,16,5,13,11 
Data 0
'
Cls
'
Repeat
    Read Stil 
    Deftext ,Stil 
    Ypos=Ypos+30
    Text 100,Ypos,"Hallo hier ist der ST" 
Until Stil=0

Listing 4a

Der TEXT-Befehl hat zudem noch die Eigenschaft, sämtliche Sonderzeichen des ST zu drucken, angefangen bei den Pfeilen, über die Digitalziffern, bis hin zu Wurzel etc. Die etwas komplizierte Koordinatenangabe bei diesem Textbefehl bewirkt lediglich, daß die Zeichen in mehreren Zeilen ausgegeben werden. Der darin verwendete Befehl 'MOD' bewirkt, daß die erste Zahl durch die zweite dividiert wird und davon der Rest genommen wird. ’I MOD 32’ bewirkt also, daß die resultierende Zahl immer von 0 bis 31 läuft und dann wieder bei Null anfängt. Somit kommt die X-Position der Zeichen zustande. Die Y-Position wird bei jedem 32sten Schleifendurchlauf um 20 erhöht.

Ein Zeichen, oder besser gesagt vier, haben wir nochmal herausgegriffen und daraus ein kleines Programm gemacht. Gemeint ist der Pfeifenkopf, der sich aus den Zeichen '28,29,30,31’ zusammensetzt. Das Programm kann diesen Kopf an jeder Stelle des Bildschirms zeichnen und vor allem in allen möglichen Größen. Keinesfalls sollte man den Pfeifenkopf als Sympathieerklärung mit Rauchern sehen, dafür ist ATARI verantwortlich, nicht wir.

Das Berechnen der vier Positionen, die Zeichen müssen ja schließlich zusammen passen, übernimmt die Prozedur; im eigentlichen Aufruf werden nur die Position und die Größe übergeben.

Wem die Arbeitsweise von Prozeduren zu kompliziert ist, der sollte einen Blick ins (hoffentlich) hilfreiche Handbuch werfen, das Thema Prozeduren und Funktionen wird ein andermal behandelt.

Wir hoffen, daß wir Sie ein wenig in diesen Bereich der Basic-Welt einführen konnten, und daß Ihnen die Serie einen Nutzen bringt. Für Anregungen und Vorschläge sind wir jederzeit dankbar.

(HS + MM)

110 ' Beispiel Textformatierung 
120 ' OMIKRON
130 '
140 CLS
150 TEXT STYLE =0: TEXT HEIGHT =13 
160 A$="Wie ist das Wetter?"
170 BOX 95,90,215,170 
180 '
190 '
200 TEXT 100,130,A$,200,1,0 
210 '
220 TEXT 100,160,A$,200,0,1 
230 '
240 TEXT HEIGHT =6: TEXT STYLE =4 
250 '
260 TEXT 100,190,A$,200,1,0 
270 '
280 TEXT 100,220,A$,200,0,1

Listing 5

' Beispiel Textformatierung 
' GFA
'
Cls
Deftext ,0,0,13 
A$="Wie ist das Wetter?"
Box 95,90,300,250
Text 100,130,-200,A$
'
Text 100,160,200,A$
'
Deftext ,4,0,6
'
Text 100,190,-200,A$
'
Text 100,220,200,A$

Listing 5a

Bild 6: Der gesamte ST-Zeichensatz
' Ausgabe des ST-Zeichensatzes »
CLS
FOR I=1 TO 255
    TEXT 100 + 8 *(I MOD 32),100+ INT(I/32)* 20, CHR$(I) 
NEXT I 

Listing 6: Zeig her deine Zeichen

100 ' Pfeifenkopf 
110 ' OMIKRON 
120 '
130 CLS
140 TEXT HEIGHT =25: TEXT STYLE =8 
150 TEXT 200,50,"Pfeifenkopfdemo"
160 TEXT STYLE =0 
170 '
180 FOR G=1 TO 55
190     Pfeifenkopf(G*30-250,100, G)
200 NEXT G 
210 '
220 END 
230 '
240 DEF PROC Pfeifenkopf(X,Y,Groesse)
250     ' Bringt den Pfeifenkopf mit verschiedenen
260     ' Groessen, irgendwo auf den Bildschirm
270     LOCAL A!
280     IF Groesse>=13 AND Groesse<=25 THEN 
290         A!=8/13
300         TEXT HEIGHT =Groesse
310         TEXT X,Y, CHR$(28)
320         TEXT X+Groesse*A!,Y, CHR$(29)
330         TEXT X,Y+2*Groesse*A!, CHR$(30)
340         TEXT X+Groesse*A!,Y+2‘Groesse*A!, CHR$(31)
350     ENDIF
360 RETURN

Listing 7

Bild 7: Raucher unter sich
' Pfeifenkopf 
' GFA
'
Cls
Deftext ,8,0,25
Text 200,50,"Pfeifenkopfdemo"
Deftext ,0
'
For G=1 To 55
Gosub Pfeifenkopf(G*30-250,100,G)
Next G
'
End
'
Procedure Pfeifenkopf(X,V,Groesse)
    ' Bringt den Pfeifenkopf mit verschiedenen 
    ' Groessen, irgendwo auf den Bildschirm 
    Local A
    If Groesse>=13 And Groesse<=25 Then 
        A=8/13
        Deftext ,,,Groesse
        Text X,Y,Chr$(28)
        Text X+Groesse*A,Y,Chr$(29)
        Text X,Y+2*Groesse*A,Chr$(30)
        Text X+Groesse*A,Y+2*Groesse*A,Chr$(31) 
    Endif 
Return

Listing 7a



Aus: ST-Computer 06 / 1987, Seite 138

Links

Copyright-Bestimmungen: siehe Über diese Seite