Lektion 4

Willkommen zu deiner AOZ Studio Lektion 4 angepasst von Dave Baldwin – Februar 2020

Wir werden lernen wie wir viele zufällige Balken (Rechtecke) oder Dreiecke gefüllt mit zufälligen farbigen Mustern auf den ganzen Bildschirm zeichnen können.

Klicke im Editor auf das Papier Symbol ganz links um ein neues Projekt anzulegen. Gebe dem neuen Projekt den Namen Lektion 4 und speichere es wie in Lektion 1 beschrieben.

Befehle die auch in dieser Lektion vorgestellt werden sind: SET PATTERN, SET PAINT, BAR und POLYGON

				
					#manifest:"aoz" // Stellt die Programmier Umgebung auf AOZ Modus
#fullScreen:true // Benutze einen Vollbildschirm
#fps:true // Schaltet den FPS (Bilder pro Sekunde) Zähler in der linken oberen Ecke ein. Ändere es zu >false< wenn du die Anzeige nicht sehen möchtest
Curs Off // Schaltet den blinkenden Cursor aus.
sw=Screen Width // Definiere Variable sw als die Bildschirmbreite
sh=Screen Height // Definiere Variable sh als die Bildschirmhöhe
BARS=1 // Definiere Variable zum Schalten der Rechtecke AN(1) oder AUS(0)
TRIANGLES=0 // Definiere Variable zum Schalten der Dreiecke AN(1) oder AUS(0)
SPEED=0 // Definiere Variable zur Kontrolle der Geschwindigkeit. Langsam(0), Schnell(1)
Cls // Löscht den Bildschirm vor dem Start.
				
			

Hauptprogrammschleife. Der gesamte Code zwischen Do und Loop wird so lange wiederholt, bis wir das Programm anhalten.

 

				
					Do // Starte die Programm Schleife.
x1 = Rnd(sw) // Definiere zufällige x und y Koordinaten für die erste Ecke des Polygons (Vieleck).
y1 = Rnd(sh)+100 // Rnd(??) erzeugt eine zufällige Zahl zwischen 0 und dem beliebigen Wert in den Klammern.
x2 = Rnd(sw) // Definiere zufällige x und y Koordinaten für die zweite Ecke des Polygons (Vieleck).
y2 = Rnd(sh)
x3 = Rnd(sw) // Definiere zufällige x und y Koordinaten für die dritte Ecke des Polygons (Vieleck).
y3 = Rnd(sh) // Als erstes werden wir das Polygon ausgefüllt mit der zuletzt benutzen Farbe zeichnen so das Reste auf dem Bildschirm überdeckt werden.
Set Pattern 0 // Das stellt das Füllmuster auf eine Vollflächige Farbausgabe (mit der zuletzt benutzeten Farbe)
Set Paint 0 // Das stellt den Umrandung Modus um. >0< heißt keine Umrandung, >1< heißt die Form wird mit Umrandung ausgegeben
If BARS=1 then Bar x1,y1 to x2,y2 // Überprüfe ob Balken gezeichnet werden sollen, wenn ja (BARS=1) dann zeichne ein Rechteck und benutze 2 Paar Koordinaten welche den gegenüber liegenden Ecken entsprechen.
If TRIANGLES=1 then Polygon x1,y1 to x2,y2 to x3,y3 // Überprüfe ob Dreiecke gezeichnet werden sollen, wenn ja (TRIANGLES=1) dann zeichne ein Dreick mit 3 Paar Koordinaten welche den drei Ecken entsprechen.


				
			
Jetzt werden wir die gleiche Form mit Umrandung und zufälligen Mustern zeichnen. Es gibt 34 voreingestellte Muster (Pattern) und Pattern 0 welches einen ausgefüllten Block erzeugt . Diese Muster werden durch 2 Farben erzeugt, Farbe 0 (welche bei Grafikausgaben als transparent behandelt wird) und der aktuellen eingestellten Zeichenfarbe.
				
					Set Pattern rnd( 34 ) // Stellt das Muster auf eine zufällige Zahl zwischen 0 and 34. Dieses Muster wird in allen folgenden Grafikausgaben benutzt bis es geändert wird.
Set Paint 1 // Stellt den Umrandungs Modus auf 1.
Ink Rnd( 32 ) // Stellt die Zeichenfarbe ein. (Das wird für das nächste Polygon benutzt sowie für den nächsten vollfarbigen Block in der nächsten Schleife (Loop)
If BARS=1 then Bar x1,y1 to x2,y2 // Überprüfe ob Balken gezeichnet werden sollen, wenn ja (BARS=1) dann zeichne ein Rechteck und benutze 2 Paar Koordinaten welche den gegenüber liegenden Ecken entsprechen.
If TRIANGLES=1 then Polygon x1,y1 to x2,y2 to x3,y3 // Überprüfe ob Dreiecke gezeichnet werden sollen, wenn ja (TRIANGLES=1) dann zeichne ein Dreick mit 3 Paar Koordinaten welche den drei Ecken entsprechen. Als Abschluß fügen wir einige Tastatur Befehle ein um die Sache interessanter zu machen.
				
			

Schließlich fügen wir noch einige Tastatursteuerungen hinzu, um die Sache interessanter zu machen.

				
					Locate 0,0
Centre "Drücke B für Balken, D für Dreiecke, L für LANGSAM, S für SCHNELL, Q zum Beenden" // Gibt die Zeile am oberen Bilschirmrand aus. Die Ausgabe jetzt stellt sicher das nichts darüber gezeichnet wird
I$=Inkey$ // Überprüfe ob eine Taste gedrückt wurde und falls ja definiere I$ mit dem Wert. Wenn du die >T< Taste drückst wird dir Variable I$ zum >T<
If I$="B" or I$="b" then BARS=1 : TRIANGLES=0 // Überprüfe ob >B< gedrückt wurde und wenn ja dann schalte Rechtecke (BARS) an und Dreiecke (Triangles) aus. Wir testen auf Groß und Kleinschreibung falls die Umstelltaste eingeschaltet ist.
If I$="D" or I$="d" then TRIANGLES=1 : BARS=0 // Teste ob  >D< gedrückt wurde und wenn ja dann schalte TRIANGLES ein und BARS aus.
If I$="L" or I$="l" then SPEED=0 //Teste ob >L< gedrückt wurde und wenn ja dann stelle die Geschwindigkeitsvariable (SPEED) auf 0 für langsam.
If I$="S" or I$="s" then SPEED=1 // Teste ob >S< gedrückt wurde und wenn ja dann stelle die Variable SPEED auf 1 für schnell.
If I$="Q" or I$="q" then Exit // Wenn >Q< gedrückt wurde beende das Programm.
If SPEED=0 then Wait 0.2 // Teste ob SPEED auf langsam gestellt ist und wenn ja bremse das Programm ein wenig vor dem weitermachen.
Wait 0.001 // Eine sehr kurze Pause für das Programm.  Wenn wir diese Pause nicht machen wird das Programm zu schnell ablaufen und den Browser zumüllen.
Loop // Ende der Hauptprogrammschleife, geht wieder zurück zum >Do< und startet die nächste Schleife.
				
			

**Klicke auf den „Run in Browser“ Knopf oder F1 um das Programm im Browser zu starten oder auf „Run in AOZ Viewer“ (F2) um es im Editor zu starten.

#####################
# Programmier Übungen #
#####################

1. LEICHT Kannst du statt Rechtecke zufällig große Quadrate und Ellipsen zeichnen lassen ?, siehe unten

2. MITTEL Was ist mit gleichseitigen Dreiecken ?

3. SCHWER Füge ein viertes Paar Koordinaten hinzu. Denke darüber nach wie ein ganzes vierseitiges Objekt gezeichnet werden kann.

Ähnliche Befehle sind : POLYLINE x1,y1 to x2,y2 to x3,y3 to … – Zeichnet ein hohles Vieleck mit so vielen Ecken wie du willst.

BOX x1,y1 to x2,y2 – Zeichnet ein hohles Rechteck oder Quadrat.

CIRCLE x1,y1,r – Zeichnet einen holhen Kreis (Circle) mit der Mitte x1,y1 und dem Radius r.

ELLIPSE x1,y1,r1,r2 – Zeichnet eine hohle Ellipse mit der Mitte x1,y1 und einem horizontalen Radius r1 und einem vertikalen Radius r2.

Super, du kannst nun mit Lektion 5 weitermachen.

Aktualisiert 23.07.2023
Getestet mit AOZ Studio™ Version 1.0 Update 44 am 23.07.2023

RayShell Computer Department
Datenschutz-Übersicht

Diese Website verwendet Cookies, damit wir dir die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in deinem Browser gespeichert und führen Funktionen aus, wie das Wiedererkennen von dir, wenn du auf unsere Website zurückkehrst, und hilft unserem Team zu verstehen, welche Abschnitte der Website für dich am interessantesten und nützlichsten sind.