objektorientierte modellierung und programmierung mit hilfe dreidimensionaler simulationen
DESCRIPTION
Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen. Volker Quade. Februar 2014. I. Grundlegendes. Oder: Was heißt eigentlich Modellierung und Programmierung?. II. Einführung in GLOOP. Oder: Was ist GLOOP eigentlich?. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/1.jpg)
Objektorientierte Modellierung und Programmierung mit Hilfe
dreidimensionaler Simulationen
Volker Quade
Februar 2014
![Page 2: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/2.jpg)
I. Grundlegendes
Oder: Was heißt eigentlich Modellierungund Programmierung?
![Page 3: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/3.jpg)
II. Einführung in GLOOP
Oder: Was ist GLOOP eigentlich?
![Page 4: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/4.jpg)
Erste Schritte in eine dreidimensionale Welt (1)
Der Programmierung in GLOOP wird ein dreidimensionales Koor-dinatensystem zugrunde gelegt. Es handelt sich um ein rechts-händisches Koordinatensystem.
X
Y
Z
![Page 5: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/5.jpg)
Erste Schritte in eine dreidimensionale Welt (2)
GLKameraEin Objekt dieser Klasse öffnet ein
Fenster, in dem die dreidimensionale Welt dargestellt wird.
GLObjektDie Klasse GLObjekt selbst ist abstrakt.
Ihre Unterklassen stellen die geometrischen Objekte dar, aus denen eine
Szene aufgebaut ist.
GLLichtMindestens eine Lichtquelle ist
erforderlich,um die Szene auszuleuchten.
![Page 6: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/6.jpg)
Das erste Programm – „Hello world!“
Deklaration von drei Objekten
Initialisierung von drei Objekten
![Page 7: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/7.jpg)
Das erste Programm – „Hello world!“
![Page 8: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/8.jpg)
Eine einfache Simulation
Drehung um den eigenen Mittelpunkt.
Drehung um den Punkt (0,0,0).
![Page 9: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/9.jpg)
Methoden von GLObjekt
+ setzePosition ( … )+ verschiebe ( … )
+ setzeDrehung ( … )+ drehe ( … )
+ setzeSkalierung ( … )+ skaliere ( … )
+ setzeFarbe ( … )+ setzeTextur ( … )
+ gibX() : double+ gibY() : double+ gibZ() : double
+ loesche()[...]
GLObjekt
Größenänderung
Drehung
Positionierung
Oberflächengestaltung
Position liefern
Löschen
Es steht jeweilsein absoluter
undein relativerBefehl zurVerfügung.
![Page 10: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/10.jpg)
Klassenstruktur
Alle Konstruktoren folgen dem gleichen Muster:<Klassenbezeichner>(<Position>, <Ausdehnung>)
(Beispiel: GLQuader (X, Y, Z, Breite, Höhe, Tiefe: double);)
![Page 11: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/11.jpg)
Ein- und Ausgabe (1)
Mit Hilfe der Konsole kann ein einzelner String ein- bzw. ausgegeben werden.
![Page 12: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/12.jpg)
Ein- und Ausgabe (2)
Tafel mit und ohne Autodrehung(Billboarding)
![Page 13: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/13.jpg)
I. Unterrichtliches Vorgehen
Oder: Was kann man damit machen??
![Page 14: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/14.jpg)
Unterrichtsvorhaben EF-IIThema: Grundlagen der objektorientierten Analyse, Modellierung und Implementierung anhand von statischen Grafikszenen
Kompetenzerwartungen:
Die Schülerinnen und Schüler • ermitteln bei der Analyse einfacher Problemstellungen Objekte, ihre Eigenschaften, ihre
Operationen und ihre Beziehungen (M),• modellieren Klassen mit ihren Attributen, ihren Methoden und
Assoziationsbeziehungen (M),• stellen die Kommunikation zwischen Objekten grafisch dar (M),• implementieren einfache Algorithmen unter Beachtung der Syntax und Semantik einer
Programmiersprache (I),• stellen den Zustand eines Objekts dar (D).
![Page 15: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/15.jpg)
1. Identifikation von Objektena) Am Beispiel eines lebensweltnahen
Beispiels werden Objekte im Sinne der Objektorientierten Modellierung eingeführt.
b) Objekte werden mit Objektkarten visualisiert und mit sinnvollen Attributen und „Fähigkeiten“, d.h. Methoden versehen.
c) Manche Objekte sind prinzipiell typgleich und werden so zu einer Objektsorte bzw. Objektklasse zusammengefasst.
d) Vertiefung: Modellierung weiterer Beispiele ähnlichen Musters
Unterrichtsvorhaben EF-II
![Page 16: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/16.jpg)
Vögel als Objekte
: Vogel
bezeichnung = "Sperling" gewicht = 45 g geschlecht = w farbe = braun
: Vogel
bezeichnung = "Blauhäher" gewicht = 82 g geschlecht = m farbe = blau
: Vogel
bezeichnung = "Saatkrähe" gewicht = 304 g geschlecht = m farbe = schwarz
: Vogel
bezeichnung = "Sperling" gewicht = 45 g geschlecht = w farbe = braun
: Vogel
bezeichnung = "Blauhäher" gewicht = 82 g geschlecht = m farbe = blau
: Vogel
bezeichnung = "Saatkrähe" gewicht = 304 g geschlecht = m farbe = schwarz
: Vogel
bezeichnung = "Sperling" gewicht = 45 g geschlecht = w farbe = braun
: Vogel
bezeichnung = "Blauhäher" gewicht = 82 g geschlecht = m farbe = blau
: Vogel
bezeichnung = "Saatkrähe" gewicht = 304 g geschlecht = m farbe = schwarz
![Page 17: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/17.jpg)
Vögel als Instanzen einer Klasse: Vogel
bezeichnung = "Sperling" gewicht = 45 g geschlecht = w farbe = braun
: Vogel
bezeichnung = "Blauhäher" gewicht = 82 g geschlecht = m farbe = blau
: Vogel
bezeichnung = "Saatkrähe" gewicht = 304 g geschlecht = m farbe = schwarz
: Vogel
bezeichnung = "Sperling" gewicht = 45 g geschlecht = w farbe = braun
: Vogel
bezeichnung = "Blauhäher" gewicht = 82 g geschlecht = m farbe = blau
: Vogel
bezeichnung = "Saatkrähe" gewicht = 304 g geschlecht = m farbe = schwarz
: Vogel
bezeichnung = "Sperling" gewicht = 45 g geschlecht = w farbe = braun
: Vogel
bezeichnung = "Blauhäher" gewicht = 82 g geschlecht = m farbe = blau
: Vogel
bezeichnung = "Saatkrähe" gewicht = 304 g geschlecht = m farbe = schwarz
Vogel
bezeichnung: Text gewicht: Zahl geschlecht: Zeichen farbe: Text
singe() fliege() lande() gibFarbe(): Text [...]
Attribute
Methoden
![Page 18: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/18.jpg)
2. Analyse von Klassen didaktischer Lernumgebungena) Objektorientierte Programmierung als
modularisiertes Vorgehen (Entwicklung von Problemlösungen auf Grundlage vorhandener Klassen)
b) Teilanalyse der Klassen der didaktischen Lernumgebungen GLOOP
Materialien:Dokumentation der didaktischen Bibliothek GLOOP (download)
3. Implementation dreidimensionaler, statischer Szenena) Grundaufbau einer Java-Klasseb) Konzeption einer Szene mit Kamera, Licht und
sichtbaren Objektenc) Deklaration und Initialisierung von Objektend) Methodenaufrufe mit Parameterübergabe zur
Manipulation von Objekteigenschaften (z.B. Farbe, Position, Drehung)
Beispiel: SkulpturengartenSchülerinnen und Schüler erstellen ein Programm, das mit Hilfe von geometrischen Objekten der GLOOP-Umgebung einen Skulpturengaten auf den Bildschirm bringt. Beispiel: Olympische RingeDie Schülerinnen und Schüler bilden das Emblem der olympischen Spiele mit Hilfe von GLOOP-Objekten nach. Materialien:Ergänzungsmaterialien zum Lehrplannavigator - Sequenzielle Programmierung (download)
Unterrichtsvorhaben EF-II
![Page 19: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/19.jpg)
Der Skulpturengarten
Eine besondere Herausforderung ist die kreisförmige Anordnung der Skulpturen!
![Page 20: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/20.jpg)
Vertiefung: Olympische Ringe
Die Ringe müssen natürlich richtig ineinandergreifen.
![Page 21: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/21.jpg)
Vertiefung: Olympische Ringe
![Page 22: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/22.jpg)
Unterrichtsvorhaben EF-IIIThema: Grundlagen der objektorientierten Programmierung und algorithmischer Grundstrukturen in Java anhand von einfachen Animationen
Kompetenzerwartungen: (Argumentieren, Modellieren)
Die Schülerinnen und Schüler • analysieren und erläutern einfache Algorithmen und Programme (A),• entwerfen einfache Algorithmen und stellen sie umgangssprachlich und grafisch dar (M),• ermitteln bei der Analyse einfacher Problemstellungen Objekte, ihre Eigenschaften, ihre
Operationen und ihre Beziehungen (M),• modellieren Klassen mit ihren Attributen, ihren Methoden und Assoziationsbeziehungen
(M),• ordnen Attributen, Parametern und Rückgaben von Methoden einfache Datentypen,
Objekttypen oder lineare Datensammlungen zu (M),• ordnen Klassen, Attributen und Methoden ihren Sichtbarkeitsbereich zu (M).
![Page 23: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/23.jpg)
Unterrichtsvorhaben EF-IIIThema: Grundlagen der objektorientierten Programmierung und algorithmischer Grundstrukturen in Java anhand von einfachen Animationen
Kompetenzerwartungen: (Implementieren)
Die Schülerinnen und Schüler • modifizieren einfache Algorithmen und Programme (I),• implementieren Klassen in einer Programmiersprache auch unter Nutzung
dokumentierter Klassenbibliotheken (I),• implementieren Algorithmen unter Verwendung von Variablen und Wertzuweisungen,
Kontrollstrukturen sowie Methodenaufrufen (I),• implementieren einfache Algorithmen unter Beachtung der Syntax und Semantik einer
Programmiersprache (I),• testen Programme schrittweise anhand von Beispielen (I), • interpretieren Fehlermeldungen und korrigieren den Quellcode (I).
![Page 24: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/24.jpg)
Unterrichtsvorhaben EF-III1. Bewegungsanimationen am Beispiel
einfacher grafischer Objekte (GLObjekte)a) Kontinuierliche Verschiebung eines
GLObjekts mit Hilfe einer Schleife (While-Schleife)
b) Tastaturabfrage zur Realisierung einer Schleifenbedingung für eine Animationsschleife
c) Mehrstufige Animationen mit mehreren sequenziellen Schleifen
d) Berechnung von Abständen zwischen GLObjekten mit Hilfsvariablen
e) Meldungen zur Kollision zweier GLObjekte mit Hilfe von Abstandsberechnungen und Verzweigungen (IF-Anweisungen)
![Page 25: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/25.jpg)
Das BallwurfspielZiel des Spiels ist es, mit einem Ball eine Zielscheibe zu treffen. Der Ball kann mit der Tastatur nach links, rechts, oben und unten bewegt und so in die richtige Position gebracht werden. Auf Tastendruck fliegt er nach vorne weg, bis er auf Höhe der Zielscheibe ist. Ein Treffer bzw. Fehlwurf sollte mit einer Meldung angezeigt werden.
Ball(1)
Zielscheibe (1)
Quadratischer Untergrund (1)
![Page 26: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/26.jpg)
Modellierung mit Struktogrammen
Nicht ' 'gedrückt
w f„Links“ gedrückt
Ball nach links verschieben
w f„Rechts“ gedrückt
Ball nach rechts verschieben
w f„Oben“ gedrückt
Ball nach oben verschieben
w f„Unten“ gedrückt
Ball nach unten verschieben
Ball nicht auf Zielhöhe
Ball nach hinten verschieben
w fDistanz < Radius
Melde „Treffer“ Melde „Daneben“
Gemeint ist hier die Distanz zwischen dem Ball und der Zielscheibe bzw. der
Radius der Zielscheibe.
1. Schritt 2. Schritt
3. Schritt
![Page 27: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/27.jpg)
Modelllösung: Ballwurfspiel
![Page 28: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/28.jpg)
2. Erstellen und Verwalten größerer Mengen einfacher grafischer Objekte (GLObjekte)
a) Erzeugung von Objekten mit Hilfe von Zählschleifen (FOR-Schleife)
b) Verwaltung von Objekten in eindimensionalen Feldern (Arrays)
c) Animation von Objekten, die in eindimensionalen Feldern (Arrays) verwaltet werden
d) Vertiefung: Verschiedene Feldbeispiele
Unterrichtsvorhaben EF-III
![Page 29: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/29.jpg)
Vertiefung: Hubschrauberlandeplatz
Die Kreise sind Signalleuchten und werden in einem Feld verwaltet. Zu Einübung von Schleifen können Lauflichter oder Blinklichter realisiert werden.
![Page 30: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/30.jpg)
Vertiefung: Schachbrett
Die einzelnen Platten werden in verschachtelten Schleifen erstellt. Mit einer Verzweigung kann die unterschiedliche Färbung realisiert werden.
![Page 31: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/31.jpg)
3. Modellierung und Animation komplexerer grafisch repräsentierbarer Objekte
a) Modellierung eines Simulationsprogramms mit eigenen Klassen, die sich selbst mit Hilfe von einfachen GLObjekten zeigen mit Hilfe eines Implementationsdiagramms
b) Implementation eigener Methoden mit und ohne Parameterübergabe
c) Realisierung von Zustandsvariablend) Thematisierung des Geheimnisprinzips und
des Autonomitätsprinzips von Objektene) Animation mit Hilfe des Aufrufs von
selbstimplementierten Methodenf) Vertiefung: Weitere Projekte
Unterrichtsvorhaben EF-III
![Page 32: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/32.jpg)
Drei Kerzen im Raum
Es soll eine Szene erstellt werden, in der drei brennende Kerzen auf einem Holzbrett stehen.
Kerzen (3)
Quadratischer Untergrund (1)
Kerzenkörper
DochtFlamme
![Page 33: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/33.jpg)
Modellierung des Projekts Kerzen
Kerzen brennen abhängig von ihrer Dicke unterschiedlich schnell ab und gehen am Ende aus.
- koerper: GLZylinder- docht: GLZylinder- flamme: GLLicht- dicke: double- laenge: double- an: boolean
+ Kerze(pX: double, pZ: double, pDicke: double, pLaenge: double)+ an()+ aus()+ brenneAb()
Kerze
- platte: GLQuader
+ Untergrund()
Untergrund
- kamera: GLKamera- tastatur: GLTastatur
+ Kerzenszene()+ fuehreAus()
Kerzenszene
- untergrund
- kerze1- kerze2- kerze3
- koerper: GLZylinder- docht: GLZylinder- flamme: GLLicht- dicke: double- laenge: double- an: boolean
+ Kerze(pX: double, pZ: double, pDicke: double, pLaenge: double)+ an()+ aus()+ brenneAb()
Kerze
- platte: GLQuader
+ Untergrund()
Untergrund
- kamera: GLKamera- tastatur: GLTastatur
+ Kerzenszene()+ fuehreAus()
Kerzenszene
- untergrund
- kerze1- kerze2- kerze3
![Page 34: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/34.jpg)
Kerzenszene mit Parametern und Methoden
![Page 35: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/35.jpg)
Unterrichtsvorhaben EF-IVThema: Modellierung und Implementierung von Klassen- und Objektbeziehungen anhand von grafischen Spielen und Simulationen
Kompetenzerwartungen: (Argumentieren, Modellieren)
Die Schülerinnen und Schüler • analysieren und erläutern eine objektorientierte Modellierung (A),• stellen die Kommunikation zwischen Objekten grafisch dar (M),• ermitteln bei der Analyse einfacher Problemstellungen Objekte, ihre Eigenschaften, ihre
Operationen und ihre Beziehungen (M),• modellieren Klassen mit ihren Attributen, ihren Methoden und Assoziationsbeziehungen
(M),• ordnen Attributen, Parametern und Rückgaben von Methoden einfache Datentypen,
Objekttypen oder lineare Datensammlungen zu (M),• ordnen Klassen, Attributen und Methoden ihren Sichtbarkeitsbereich zu (M),• modellieren Klassen unter Verwendung von Vererbung (M).
![Page 36: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/36.jpg)
Unterrichtsvorhaben EF-IVThema: Modellierung und Implementierung von Klassen- und Objektbeziehungen anhand von grafischen Spielen und Simulationen
Kompetenzerwartungen: (Implementieren, Darstellen)
Die Schülerinnen und Schüler • implementieren Klassen in einer Programmiersprache auch unter Nutzung
dokumentierter Klassenbibliotheken (I), • testen Programme schrittweise anhand von Beispielen (I),• interpretieren Fehlermeldungen und korrigieren den Quellcode (I),• modifizieren einfache Algorithmen und Programme (I),• stellen Klassen, Assoziations- und Vererbungsbeziehungen in Diagrammen grafisch dar
(D),• dokumentieren Klassen durch Beschreibung der Funktionalität der Methoden (D).
![Page 37: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/37.jpg)
Das Ufospiel in 2DEin Raumschiff bzw. Ufo soll anfliegenden Asteroiden seitlich ausweichen.
Bewegung
![Page 38: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/38.jpg)
Modellierung mit Assoziationen
- kamera: GLKamera- licht: GLLicht- tastatur: GLTastatur- himmel: GLHimmel
+ Ufospiel()+ fuehreAus()
Ufospiel
- rumpf: GLTorus- cockpit: GLKugel- fluegel1: GLKegel- fluegel2: GLKegel
+ Ufo()+ bewegeLinks()+ bewegeRecht()+ explodiere()
Ufo
- kugel: GLKugel
+ Asteroid()+ bewegeDich()
Asteroid
- asteroid1 - asteroid2- asteroid3
- dasUfo
- kamera: GLKamera- licht: GLLicht- tastatur: GLTastatur- himmel: GLHimmel
+ Ufospiel()+ fuehreAus()
Ufospiel
- rumpf: GLTorus- cockpit: GLKugel- fluegel1: GLKegel- fluegel2: GLKegel
+ Ufo()+ bewegeLinks()+ bewegeRecht()+ explodiere()+ gibX()+ gibY()
Ufo
- kugel: GLKugel
+ Asteroid(pUfo: Ufo)+ bewegeDich()- zuruecksetzen()- getroffen(): boolean
Asteroid
- dasUfo
- dasUfo
1 3
- asteroid1 - asteroid2- asteroid3
- kamera: GLKamera- licht: GLLicht- tastatur: GLTastatur- himmel: GLHimmel
+ Ufospiel()+ fuehreAus()
Ufospiel
- rumpf: GLTorus- cockpit: GLKugel- fluegel1: GLKegel- fluegel2: GLKegel
+ Ufo()+ bewegeLinks()+ bewegeRecht()+ explodiere()
Ufo
- kugel: GLKugel
+ Asteroid()+ bewegeDich()
Asteroid
- asteroid1 - asteroid2- asteroid3
- dasUfo
- kamera: GLKamera- licht: GLLicht- tastatur: GLTastatur- himmel: GLHimmel
+ Ufospiel()+ fuehreAus()
Ufospiel
- rumpf: GLTorus- cockpit: GLKugel- fluegel1: GLKegel- fluegel2: GLKegel
+ Ufo()+ bewegeLinks()+ bewegeRecht()+ explodiere()+ gibX()+ gibY()
Ufo
- kugel: GLKugel
+ Asteroid(pUfo: Ufo)+ bewegeDich()- zuruecksetzen()- getroffen(): boolean
Asteroid
- dasUfo
- dasUfo
1 3
- asteroid1 - asteroid2- asteroid3
![Page 39: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/39.jpg)
Das Ufospiel in 2D
![Page 40: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/40.jpg)
Binnendifferenzierung: Ufospiel in 3D
![Page 41: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/41.jpg)
Binnendifferenzierung und VertiefungZur weiteren Vertiefung und Binnendifferenzierung kann eine Autofahrt oder auch ein Billardspiel erstellt werden.
![Page 42: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/42.jpg)
Schneemänner mit Vererbung
Oberklassenobjekt
Spezialisierungen
![Page 43: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/43.jpg)
Bälle mit Polymorphie
Bälle mit unterschiedlichem Bewegungsverhalten
![Page 44: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/44.jpg)
Weihnachtsbaum mit abstrakter Klasse
Kugeln, Ringe und Päckchen erben von der abstrakten Klasse Schmuck
![Page 45: Objektorientierte Modellierung und Programmierung mit Hilfe dreidimensionaler Simulationen](https://reader033.vdocuments.net/reader033/viewer/2022061414/56813507550346895d9c55c0/html5/thumbnails/45.jpg)
[email protected]://www.bezreg-duesseldorf.nrw.de/ lerntreffs/informatik/structure
/material/sek2/einfuehrungen/gloop.php