Fortgeschrittene objektorientierte Programmierung
LVA 185.211, VL 2.0, 2006 S

3. Übungsaufgabe

Lernen Sie Smalltalk und entwickeln Sie ein Programm in Smalltalk (siehe unten). Ziel der Aufgabe ist das Sammeln von Erfahrungen zu Umfangreiche Informationen zur Programmiersprache Smalltalk (Tutorials, Bücher, Beispiele, etc.) finden Sie unter dem Cetus-Link zu Smalltalk. Zur Lösung der Übungsaufgabe steht Ihnen auf dem Übungsrechner das Smalltalk-System Squeak zur Verfügung. Es gibt mehrere frei verfügbare Smalltalk-Systeme (siehe Cetus-Link), die zur Lösung der Aufgabe genau so gut geeignet sind, jedoch nicht vorinstalliert wurden. Wenn Sie Ihr Smalltalk-System selbst installieren, können Sie auch ein anderes System als Squeak wählen.

Squeak:

Squeak ist eine open source Implementierung von Smalltalk-80. Das vorinstallierte System kann durch den Befehl squeak aufgerufen werden. Beim ersten Aufruf bekommen Sie vermutlich nur eine Fehlermeldung die besagt, dass die Datei squeak.image fehlt, welche Ihre lokale Version des Smalltalk-Systems enthält. Daneben benötigen Sie auch die Datei squeak.changes mit dem Source-Code aller Änderungen, die am ursprünglichen System vorgenommen wurden, und einen Link auf den Quellcode des Systems. Sie erhalten diese Dateien durch Ausführung folgender Befehle in dem Directory, von dem aus Sie mit squeak arbeiten wollen:
cp /usr/local/src/Squeak3.8-6665full.image squeak.image
cp /usr/local/src/Squeak3.8-6665full.changes squeak.changes
ln -s /usr/local/src/SqueakV3.sources SqueakV3.sources
Alle Änderungen, die Sie vornehmen, werden in den beiden kopierten Dateien gespeichert. Auch Ihre Programme sind darin enthalten. Achtung: Diese Dateien sind recht groß; daher bitte keine unnötigen Kopien anfertigen. Anders als durch man squeak beschrieben gibt es auf der b3 kein iniqueak, und die Orte, an denen die oben genannten Datein zu finden sind, entsprechen nicht dem Manual.

Squeak unterstützt zwei grundsätzlich verschiedene Subsysteme zur Programmierung grafischer Oberflächen: MVC (wie in Smalltalk-80) und Morphic. Sie können eines der beiden Subsysteme wählen. Vermeiden Sie nach Möglichkeit die gemischte Verwendung.

Aufgabe:

Entwickeln Sie in einer Smalltalk-Umgebung ein kleines Spiel mit einer grafischen Benutzeroberfläche. Beispiele für geeignete Spiele sind Tic-Tac-Toe, Tetris, Snake, etc. Die Steuerung kann mit der Maus oder über Tastatur erfolgen. Es stehen gerade für Squeak sehr viele kleine Spiele im Web zum Download bereit. Das Herunterladen ist zur Lösung der Aufgabe zu wenig; Sie müssen schon selbst Code schreiben bzw. adaptieren. Ein fertiges Spiel aus dem Web könnte als Vorlage zur Entwicklung eigenen Codes dienen. Vielleicht ist es sogar möglich, ein fertiges Spiel in ein ganz anderes eigenes Spiel umzuprogrammieren.

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.

Complang
Puntigam
   Kontakt
   Research
   Lehre
      OOP
      Typsysteme
      EP2
      FOOP
      Prog.spr.
      frühere Lehre
         LVAs 2017 W
         LVAs 2017 S
         LVAs 2016 W
         LVAs 2016 S
         LVAs 2015 W
         LVAs 2015 S
         LVAs 2014 W
         LVAs 2014 S
         LVAs 2013 W
         LVAs 2013 S
         LVAs 2012 W
         LVAs 2012 S
         LVAs 2011 W
         LVAs 2011 S
         LVAs 2010 W
         LVAs 2010 S
         LVAs 2009 W
         LVAs 2009 S
         LVAs 2008 W
         LVAs 2008 S
         LVAs 2007 W
         LVAs 2007 S
         LVAs 2006 W
         LVAs 2006 S
            Prog.spr.
            FOOP
               1. Aufgabe
               2. Aufgabe
               3. Aufgabe
         LVAs 2005 W
         LVAs 2005 S
         LVAs 2004 W
         LVAs 2004 S
         LVAs 2003 W
   Links
Sitemap
Kontakt
Schnellzugriff:
Smalltalk (Cetus)
Squeak
vorige Aufgabe
Fakultät für Informatik
Technische Universität Wien
Anfang | HTML 4.01 | Datenschutzerklärung | letzte Änderung: 2006-04-25 (Puntigam)