Tag Archives: exercise

Programming Methodologies, WS1112

Hier könnt ihr das fertige Spiel (Musterlösung zu den meisten Hausaufgaben enthalten) herunterladen:
hexentanz.zip

Es kann wie in den Übungen gezeigt in Eclipse importiert werden. Optimal wäre es, wenn es in einen workspace importiert wird, in dem die SWT-User-Library bereits angelegt wurde. Ist das nicht der Fall, muss über das in Übung 8 vorgestellte Vorgehen eine User-Library namens “SWT” mit den benötigten .jar-Dateien angelegt werden.

Das Spiel kann mit einem Rechtsklick auf die Datei StartHexentanz.java im package de.uks.pmws1112 und “Run as..”->”Java Application” gestartet werden.

Programming Methodologies, WS1112

Achtung: Beim Generieren von Quellcode mit Fujaba werden falsche/zu wenig Bibliotheken in den Buildpath des Projekts eingebunden. Wie gut, dass Eclipse eine Quick-Fix Funktion anbietet, über die die Compilefehler mit folgenden Schritten aufgelöst werden können: Die fehlerhafte Klasse muss geöffnet werden, die Imports am Kopf der Datei müssen über das + Zeichen aufgeklappt werden. Der fehlerhafte Import muss nun angeklickt werden, Eclipse stellt dies fest und öffnet nach wenigen Augenblicken ein Popup mit möglichen Hilfestellungen. Drei Bibliotheken müssen insgesamt eingebunden werden: JUnit3, die korrekte de.uni_kassel.features-Bibliothek, sowie die korrekte de.uni_paderborn.runtimetools-Bibliothek. Die Bilder im folgenden PDF zu fehlerhaften Imports sollten helfen: Bibliotheken.pdf

PMWS201112_HA9

Für die Hausaufgabe ist ein 3×3 Spielbrett zu wählen.
Die Spielregeln zu Stopgate können eingesehen werden unter:
http://boardgamegeek.com/boardgame/7450/stop-gate

Die Abgabe muss bis spätestens Donnerstag 26.01.2012 um 23:59 Uhr über unser Hausaufgabenabgabesystem http://seblog.cs.uni-kassel.de/pmws1112/ erfolgen. Die Abgabe ist nur als einzelne *.zip oder *.jar-Datei möglich. Daher müssen alle für eine Abgabe relevanten Daten zu einem solchen Archiv kombiniert werden.

Bei Fragen: george@uni-kassel.de

Programming Methodologies, WS1112

Korrektur: In dieser Hausaufgabe wird beim Raussetzen einer Hexe erst auf dem Startfeld angefangen zu zählen. Würfelt der Spieler beispielsweise eine 1, wird die Hexe auf das Startfeld gesetzt und dann um 1 Feld weitergezogen. Die Begründung ist, dass in den Regeln steht “Er würfelt und zieht seine Hexe entsprechend der Augenzahl im Uhrzeigersinn in den Tanzkreis (beginnend bei dem Eingangsfeld)” und nicht “..beginnend MIT dem Eingangsfeld..”. Generell gilt, es muss so lange modelliert werden bis alle Tests erfolgreich durchlaufen werden. Diese Regel hat KEINE Auswirkungen auf den Zetteltest, da er kein Raussetzen beinhaltet.

PMWS201112_HA8.pdf

Das benötigte Projekt:
pmws1112_HA8.zip

Die Abgabe muss bis spätestens Donnerstag 19.01.2012 um 23:59 Uhr über unser Hausaufgabenabgabesystem http://seblog.cs.uni-kassel.de/pmws1112/ erfolgen. Die Abgabe ist nur als einzelne *.zip oder *.jar-Datei möglich. Daher müssen alle für eine Abgabe relevanten Daten zu einem solchen Archiv kombiniert werden.

Bei Fragen: george@uni-kassel.de

Programming Methodologies, WS1112

!!ACHTUNG!! Aufgabenblatt und Projekt wurden korrigiert, bitte alle nachfolgenden Infos lesen !!ACHTUNG!!

ACHTUNG Es wurde zuletzt am 03.01.2011 um 15:30 aktualisiert: Die Felder sind bewusst leere Labels, sie werden nicht angebunden – die Klasse FieldController ist nicht zu implementieren. Die Controller sollen im package “..hexentanz.controller” angelegt werden und erben (extends) von AbstractController. Die Startklasse soll im package “..hexentanz” neben Util angelegt werden. Im Projekt hieß die init-Methode in HexentanzGame “create” und es fehlte die Methode “open()” in der Klasse HexentanzStartScreen.java, diese wurden in der aktuellen Fassung des Projekts hinzugefügt/umbenannt. Wer mit der alten Version arbeitet, benutzt die Aufrufe “create()” “.getStartGameShell().open();” und “.getStartGameShell().layout();”. Die alte Version der Klasse HexentanzMainScreen hat einen Fehler in der open-Methode, weswegen die neue Version dieser Datei zu benutzen ist (am besten das ganze Projekt). Die GUI und die Controller sollten sich auch ohne Compilefehler in die neue Version des Projekts kopieren lassen, dem MVC-Pattern sei dank. Wichtig ist noch: Es werden in der init-Methode keine Hexen angelegt und die Spieler bekommen ihr Startfeld nicht zugewiesen. Dies erledigt die Methode chooseColor(..) in Player, welche wie in Teilaufgabe 1.1 der aktuellen Version des Aufgabenblattes beschrieben, aufgerufen werden soll. Im Aufgabenblatt wurden sämtliche Swing-Komponenten (JOptionPane, JLabel, ..) durch ihre SWT-Pendants (MessageDialog, Label, ..) ersetzt. Als Listener kommt statt dem AWT – ActionListener ein SWT – SelectionListener zum Einsatz.

PMWS201112_HA7.pdf (korrigiert)

Das benötigte Projekt:
pmws1112_HA7.zip

Screencast Anlegen einer SWT User-Library zum automatischen Eliminieren der Compile-Fehler eines importieren SWT-Projekts:
HowToUseJavaUserLibraries.html

Die Abgabe muss bis spätestens Donnerstag 12.01.2012 um 23:59 Uhr über unser Hausaufgabenabgabesystem http://seblog.cs.uni-kassel.de/pmws1112/ erfolgen. Die Abgabe ist nur als einzelne *.zip oder *.jar-Datei möglich. Daher müssen alle für eine Abgabe relevanten Daten zu einem solchen Archiv kombiniert werden.

Bei Fragen: george@uni-kassel.de