|
 |
Das Grafiktool Blinkenlights ist ein sehr einfaches Beispiel einer Anwendung für die Pixelgrafik, vergleichbar mit der Erstellung von Icons oder Handylogos.
Durch den geringen Attribute- und Methodenumfang ist diese Grafikanwendung besonders für die Einführung der Objektorientierung im Bereich der Pixelgrafik nach einem vereinfachten, didaktisch angepassten UML-Standard geeignet.
Und so müssten die Klassendefinitionen für Blinkenpaint aussehen. Als Klassen ergeben sich:
- BLINKENPAINTFILM
- BLINKENPAINTBILD
- BLINKENPAINTFENSTER
Aus der Unterrichtserfahrung in der Klasse 8 hat sich dabei folgend Vorgehensweise als günstig erwiesen:
- Zeigen eines kleinen fertigen Filmes, der mit Blinkenpaint erstellt wurde.
- Einführung der Klasse BLINKENPAINTFILM und der dazugehören Attribute und des Attributwertebereich (AWB).
- Auswahl eines konkreten Bildes aus diesem Film.
- Einführung der Klasse BLINKENPAINTBILD und AWB.
- Betrachtung der einzelnen Fenster.
- Einführung der Klasse BLINKENPAINTFENSTER und AWB.
Hier die entsprechenden Klassendefinitionen:
Klasse BLINKENPAINTFILM in der Darstellung als Mindmap
BLINKENPAINTFILM |
name : herz_s, schlange_s, ... <<Dateinamen ohne Dateiendung>>
einzelbildanzahl : 1, .. , 10, ...
wiederholung : ja, nein
breite : 1, ..., 18
hoehe : 1, ..., 8
|
oeffene_blinkenpaintfilm(Name)
speichere_blinkenpaintfilm()
speichere_unter_blinkenpaintfilm(Name)
neuer_blinkenpaintfilm()
einfuegen_leeres_blinkenpaintbild()
einfuegen_kopiertes_blinkenpaintbild()
loeschen_aktuelles_blinkenpaintbild()
duplizieren_aktuelles_blinkenpaintbild()
setze_wiederholung(Wert) |
Klasse BLINKENPAINTBILD in der Darstellung als Mindmap
BLINKENPAINTBILD |
nummer : 1, ... , 10, ...
inhalt : Herz, Schlange, ... <<Inhaltsbezeichnung>>
pausenzeit : 50 ms, 100 ms, 150 ms, ...
farbtiefe : 1 Bit
aufloesung : 18 wpf <<windows per floor>>
|
veraendere_inhalt(neuer Inhalt)
setze_pausenzeit(Zeitspanne) |
Klasse BLINKENPAINTFENSTER in der Darstellung als Mindmap
BLINKENPAINTFENSTER |
farbe : gelb, schwarz
position : (1;1), (1;2), ... (18;8) <<(Spalte;Zeile)>>
|
veraendere_inhalt(neuer Inhalt)
setze_pausenzeit(Zeitspanne)
|
|