Klasse: Stift |
Oberklasse: |
Beschreibung: Der Stift ist ein Werkzeug, das sich auf dem
Bildschirm bewegen kann. Er befindet sich stets auf einer genau definierten Position des
Bildschirms, die durch Zeichenkoordinaten (horizontal nach rechts, vertikal nach unten)
angegeben wird, und zeigt in eine Richtung, die durch Winkel beschrieben wird (00 rechts,
Drehsinn mathematisch positiv).
Der Stift kennt zwei Zustände: Ist der Stift abgesenkt (runter) und bewegt er sich
über den Bildschirm, so hinterläßt er eine Spur, die von einem Zeichenmodus abhängig
ist. Ist der Stift angehoben (hoch), hinterläßt er keine Spur.
Beim Zeichnen kennt der Stift drei Modi:
Normal - der Stift zeichnet eine Linie in der Stiftfarbe; Wechseln - der Stift zeichnet
eine Linie, wobei die Untergrundfarbe in die Stiftfarbe und die Stiftfarbe in die
Untergrundfarbe geändert wird; Radieren - der Stift zeichnet eine Linie in der Farbe des
Untergrunds. |
Bezugsklassen: |
Protokoll: |
Auftrag Stift() nachher Der Stift ist initialisiert. Die
Zeichenebene steht zur Verfügung und der Stift befindet sich angehoben oben links an
Position (0,0) mit Richtung 00 im normalen Zeichenmodus. |
Auftrag bewegeUm (Zahl distanz) nachher Der Stift wurde
von seiner aktuellen Position in die aktuelle Richtung bewegt. Distanz gibt die Länge der
zurückgelegten Strecke an. |
Auftrag bewegeBis (Zahl h, Zahl v) nachher Der Stift
wurde unabhängig von seiner vorherigen Position auf die durch die Parameter angegebene
Position bewegt. |
Auftrag dreheUm (Zahl winkel) nachher Der Stift wurde
ausgehend von seiner vorherigen Richtung um die durch winkel angegebene Winkelgröße im
mathematisch positiven Sinne weitergedreht. |
Auftrag dreheBis (Zahl winkel) nachher Der Stift wurde
unabhängig von seiner vorherigen Richtung auf die durch winkel angegebene Winkelgröße
gedreht. |
Auftrag runter() nachher Der Stift ist abgesenkt. |
Auftrag hoch() nachher Der Stift ist angehoben. |
Auftrag schreibe (Zeichnekette text) nachher Der Stift
hat den angegebenen Text auf die Zeichenebene unter Verwendung seines aktuellen
Zeichenmodus unabhängig vom Zustand geschrieben. Die aktuelle Stiftposition war die linke
obere Ecke des Textes. Die neue Stiftposition ist die rechte obere Ecke des Textes. |
Auftrag normal() nachher Der Stift arbeitet im
Normalmodus. |
Auftrag wechsle() nachher Der Stift arbeitet im
Wechselmodus. |
Auftrag radiere() nachher Der Stift arbeitet im
Radiermodus. |
Auftrag zeichneRechteck (Zahl breite, Zahl hoehe) nachher
Der Stift hat unabhängig von seinem Zustand im aktuellen Zeichenmodus ein
achsenparalleles Rechteck mit der aktuellen Position als linker oberer Ecke und der
angegebenen Breite und Höhe gezeichnet. Die Position und die Richtung des Stiftes sind
unverändert. |
Auftrag zeichneKreis (Zahl radius) nachher Der Stift hat
unabhängig von seinem Zustand im aktuellen Zeichenmodus einen Kreis mit der aktuellen
Position als Mittelpunkt und dem angegebenen Radius gezeichnet. Die Position und die
Richtung des Stiftes sind unverändert. |
Auftrag zeichneLinie (Zahl x1, Zahl y1, Zahl x2, Zahl y2) nachher
Der Stift hat unabhängig von seinem Zustand im aktuellen Zeichenmodus eine Linie von
(x1,y1) bis (x2,y2) gezeichnet. Die Position und die Richtung des Stiftes sind
unverändert. |
Anfrage hPosition(): Zahl nachher hPosition liefert die
horizontale Koordinate der aktuellen Stiftposition. |
Anfrage vPosition(): Zahl nachher vPosition liefert die
vertikale Koordinate der aktuellen Stiftposition. |
Anfrage winkel(): Zahl nachher winkel liefert die
momentane Bewegungsrichtung des Stifts. |
Auftrag gibFrei nachher Der Stift steht nicht mehr zur
Verfügung. |
zusätzliche Methode:
Auftrag Stift(Bildschirm b)
nachher Der Stift ist mit seinen Standardeinstellungen initialisiert. Er zeichnet
auf dem Bildschirm b. |