-
Notifications
You must be signed in to change notification settings - Fork 24
L09.1_OldMacDonaldsFarm
Entwickle eine kleine Farmsimulation! Old MacDonald hat 'ne Farm und auf der Farm hat er viele Tiere. Die Tiere haben alle Namen und sind von unterschiedlicher Art, z.B. Cow, Chicken, Dog, Horse, Pig, Donkey etc., fressen unterschiedliches Futter, z.B. Grass, Grains, Meat, Junk etc. in unterschiedlichen Mengen und machen unterschiedliche Geräusche wie z.B. Moo, Gack, Woof, etc.
Old MacDonald hat auch für die Futtertypen je einen Vorrat, der unterschiedlich groß ist.
Jeden Tag der Simulation singt jedes Tier sein "Old MacDonalds..." Lied mit seinem typischen Geräusch. Das Lied wird, unter einer Überschrift, die den Namen des Tiers trägt, als Text für das Nutzeri sichtbar dargestellt. Zudem frisst es und der verbleibende Vorrat wird angezeigt. Dann ist das nächste Tier dran. Am Ende des Tages hat also jedes Tier gesungen und gefressen und Old MacDonald weiß, ob er für den nächsten Tag nachbestellen muss.
Modelliere die Klasse Animal mit Hilfe eines kleinen Klassendiagramms. Zeichne dann Aktivitätsdiagramme für die einzelnen Methoden. Überlege dann, welche Informationen das Hauptprogramm braucht und wie Du diese strukturieren kannst. Bedenke, dass die Tiere 'tatsächlich' fressen und singen sollen, die Funktionalität dazu also Teil der Klasse ist, das Hauptprogramm soll sie dazu lediglich aufrufen. Es sollen wenigstens fünf Tiere auf der Farm leben. Es darf kein Tier auf die Farm kommen, das keinen Namen hat, nicht weiß was es ist oder frisst oder welches Geräusch es macht.
Es genügt einen Tag zu simulieren.
Um dein Konzept zu überprüfen, tausche es mit dem einer anderen Person im Kurs. Jeder versucht sich an der Implementierung des fremden Konzeptes. Diskutiert die Klarheit und Sinnhaftigkeit eurer Entwürfe und korrigiert die Konzepte entsprechend.
Lasse mehrere Tage simulieren. Durch Nutzerinteraktion bricht der nächste Tag an und die Tiere singen wieder, die Vorräte werden weiter verbraucht.
L00_Preparation
L01_Zufallsgedicht
Übung: L01_Boxes
L02_EventInspector
L03_Aufgabenliste_Formular
L04_Aufgabenliste_Datenstruktur
L05_Client
L06_DatabaseServer
L08.1_GenerativeKunst
L08.2_Vogelhaus: Canvas
L09.1_OldMacDonaldsFarm
L09.2_Vogelhaus: Classes
L10.1_OldMacDonaldsHeritage
L10.2_Vogelhaus: Polymorphie
Abschlussarbeit: Feuerwerk!