Fortgeschrittene objektorientierte Programmierung
LVA 185.211, VL 2.0, 2009 S
squeak.image, die das gesamte System in einem ausführbaren Zwischencode enthält. Die Datei
squeak.changesenhält alle Änderungen des Smalltalk-Codes und
SqueakV39.sources(eventuell mit einer anderen einkodierten Versionsnummer) den Source-Code des Grundsystems. Wenn Sie
squeaknicht in dem Verzeichnis aufrufen, in dem diese Dateien zu finden sind, müssen Sie die Dateien beim Aufruf explizit angeben.
Squeak unterstützt zwei grundsätzlich verschiedene Subsysteme zur Programmierung grafischer Oberflächen: das klassische MVC
(wie in Smalltalk-80) und das neuere Morphic
.
Sie können eines der beiden Subsysteme wählen.
Vermeiden Sie nach Möglichkeit die gemischte Verwendung bei der es zu unerwarteten Wechselwirkungen kommen kann.
Für Squeak gibt es unter anderem die Zusatzpakete Etoys
und Scratch
, die die Erstellung mancher Spiele stark vereinfachen.
Falls Sie solche Pakete verwenden, generieren Sie Spiele bitte nicht nur durch diese Werkzeuge.
Zur erfolgreichen Lösung der Aufgabe ist es notwendig, dass Sie im eigentlichen Smalltalk-System Code schreiben bzw. adaptieren.
Aber es ist natürlich zusässig, dass Sie Zusatzpakete als Hilfsmittel verwenden.
In Smalltalk schreibt man (anders als in eher statischen Sprachen) in der Regel nicht einfach ein Programm für einen bestimmten Zweck, sondern man adaptiert und erweitert die vorhandene Umgebung. Ein Ziel der Aufgabe ist es, diesen Programmierstil kennenzulernen. Dabei werden Sie lernen, sich im Smalltalksystem zurechtzufinden. Eine Schwierigkeit (vor allem in der GUI Programmierung) besteht darin, dass das API (Application Programming Interface) keine gute statische Dokumentation hat. Smalltalk Programmierer lernen eher durch das Lesen und die Verwendung bestehenden Smalltalk Codes als aus der Dokumentation. Aus diesem Grund sind Kommentare besonders wichtig, und jede Klasse und Methode, die Sie selber schreiben, soll durch Kommentare klar spezifiziert sein.
Die einfache Änderbarkeit des Systems kann sich negativ auswirken. Insbesondere wird es dadurch schwieriger, Programme von einem System auf ein anderes zu übertragen. Zur Verringerung dieses Problems wurden Versionsverwaltunssysteme wie z.B. Monticello eingeführt. Verwenden Sie ein solches System, um das von Ihnen entwickelte Spiel portabel zu machen.