Fortgeschrittene objektorientierte Programmierung
LVA 185.211, VL 2.0, 2011 S

1. Übungsaufgabe

Entwickeln Sie in einer stark typisierten objektorientierten Sprache Ihrer Wahl (z.B. C++, Java oder C#) ein Spiel ähnlich dem bekannten Pac-Man, aber von mehreren Personen remote auf mehrere Computer verteilt spielbar, entsprechend folgender Beschreibung:

Ein Spiel besteht aus einer vorbestimmten Anzahl von Runden und wird von drei Personen gespielt, wobei die Aufgabe jeder Person auch durch den Computer übernommen werden kann. Beim Start jeder Runde erscheint ein Fenster mit dem Spielfeld am Bildschirm. Das Spielfeld besteht aus N x M annähernd quadratischen Feldern, wobei eine größere Anzahl von Feldern mit Wänden belegt ist, welche die Bewegungsmöglichkeiten der Spielfiguren einschränken. Auf drei unterschiedlichen Feldern (zufällig gewählt, jedoch nicht auf Wänden) befinden sich drei Pac-Man-Figuren in unterschiedlichen Farben (rot, grün und blau), und für jeden von ihnen gibt es einen Runden-Punkte-Zähler und einen Gesamt-Punkte-Zähler. Eine gewisse Anzahl von Feldern ist mit Bonuspunkten belegt. Jede Pac-Man-Figur wird von einer Person oder dem Computer gesteuert und bewegt sich bei jedem Takt um höchstens ein Feld in eine von (höchstens) vier möglichen Richtungen. Wenn sich ein Pac-Man auf ein Feld mit einem Bonuspunkt bewegt, erhöht sich sein Runden-Punkte-Zähler und der Bonuspunkt verschwindet vom Spielfeld. Wenn sich die Wege zweier Pac-Man-Figuren kreuzen, wird einer von ihnen gefressen, der übrige Pac-Man übernimmt alle in dieser Runde aufgesammelten Punkte des gefressenen Pac-Man, und die Runde endet. Dabei spielen die Farben eine Rolle:

Ab und zu ändert sich die Farbe von Wandstücken von einer neutralen Farbe auf rot, grün oder blau und etwas später wieder auf die neutrale Farbe. Die Wand ist in dieser Zeit für einen Pac-Man derselben Farbe durchlässig, das heißt, der Pac-Man kann durch die Wand gehen und sich in der Wand aufhalten. Während sich ein Pac-Man auf einem Wand-Feld befindet, darf sich die Farbe dieses Wandstückes nicht ändern. Für jeden Pac-Man einer anderen Farbe sind farbige Wandstücke tödlich. Beim Versuch, sich auf ein andersfarbiges Wandstück zu bewegen, verschwindet der Pac-Man, der andere Pac-Man mit derselben Farbe wie das Wandstück bekommt die Punkte des durch die Wand getöteten Pac-Man, und die Runde endet. Am Ende einer Runde erhöht sich der Gesamt-Punkte-Zähler um die in dieser Runde gesammelten Punkte, für den getöteten Pac-Man bleibt er unverändert. Zu Beginn der nächsten Runde sind wieder alle Spielfiguren dabei und alle Runden-Punkte-Zähler auf 0 zurückgesetzt.

Die SpielerInnen können sich vor Beginn des Spiels remote mit dem Server, auf dem das Spiel läuft, verbinden und bekommen alle lokal das gleiche Fenster angezeigt. Vor allem zur Fehlersuche ist es sinnvoll, wenn auf nur einem Rechner mehrere Fenster zum selben Spiel vorhanden sein können und mehrere Pac-Man-Figuren über unterschiedliche Tasten bedienbar sind.

Änderungen der Aufgabenstellung mit dem Ziel, die Spielbarkeit oder grafische Darstellung zu verbessern, werden gerne akzeptiert.

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
            FOOP
               1. Aufgabe
               2. Aufgabe
               3. Aufgabe
            Prog.spr.
         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
         LVAs 2005 W
         LVAs 2005 S
         LVAs 2004 W
         LVAs 2004 S
         LVAs 2003 W
   Links
Sitemap
Kontakt
Schnellzugriff:
nächste Aufgabe
Fakultät für Informatik
Technische Universität Wien
Anfang | HTML 4.01 | Datenschutzerklärung | letzte Änderung: 2011-03-18 (Puntigam)