Attribut vs. lokale Variable und Erweiterung vom Text-Adventure

Zu Beginn der Stunde hat Luca seine Hausaufgaben vorgestellt. Dabei haben wir eine Diskussion über den Inhalt des Konstruktors angefangen:

import java.util.*; // Noch vor der Klassendefinition importieren

public class Spiel
{
    Ort ziel;

    Spieler spieler;
    Spiel(){

        Ort badesee = new Ort("Badesee");
        Ort grillplatz = new Ort("Grillplatz");
        Ort toiletten = new Ort("Toiletten");
        Ort kiosk = new Ort("Kiosk");
        Ort spielplatz = new Ort("Spielplatz");
        Ort restaurant = new Ort("Restaurant"); 
        Ort streichelzoo = new Ort("Streichelzoo");
        Ort eingang = new Ort("Eingang");
        Ort parkplatz = new Ort("Parkplatz");

        badesee.baueWeg("links", grillplatz);
        grillplatz.baueWeg("oben", kiosk);
        kiosk.baueWeg("links", spielplatz);
        kiosk.baueWeg("oben", streichelzoo);
        kiosk.baueWeg("rechts", toiletten);
        spielplatz.baueWeg("oben", restaurant);
        restaurant.baueWeg("rechts", eingang);
        streichelzoo.baueWeg("links", eingang);
        eingang.baueWeg("oben", parkplatz);
        ziel = parkplatz;
        spieler = new Spieler (badesee);  

        spielen();

    }

Der Konstruktor enthält hier die Erstellung und Verknüpfung der Spielwelt. Es wurde diskutiert ob die einzelnen Orte nicht vor dem Konstruktor als Attriute gespeichert werden sollten, immerhin beschreiben die Orte die Spielwelt und das Spiel. Letzendlich haben wir uns dagegen entschieden weil der Zugriff auf diese Attribute später im Programm nicht benötigt wird und man die Attribute allgemein so übersichtlich wie möglich halten sollte. Wenn man ein Klassndiagramm zeichnet , sollten nur essentielle Eigenschaften der Klasse bei den Attributen stehen. Unzählige einzelne Räume die nur inderekt Eigenschaften der Klasse sind stören dabei.

Im weiteren Verlauf der Stunde haben wir verschieden Möglichkeiten aufgezählt, wie man das Text-Adventure erweitern könnte. Einige dieser Möglichkeiten sind:

  • Items, Gegenstände
  • erweitete Story
  • Möglichkeiten zu verlieren
  • Rätsel
  • alternative Enden
  • komplexere Map
  • mehrere Ziele
  • optionale Sidequests

Es gab keine Hausaufgaben.

Schreibe einen Kommentar