Logo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

Übungen

Aufgabe 1: Objekte und ihre Beziehungen darstellen

Gegeben ist der folgende Quelltext.

#----------------------------------------
# Wuerfel
#----------------------------------------

from random import randint

class Wuerfel(object):
    def __init__(self):
        self.augen = randint(1, 6)

    def werfen(self):
        self.augen = randint(1, 6)

    def getAugen(self):
        return self.augen

#----------------------------------------
# Spieler
#----------------------------------------

class Spieler(object):
    def __init__(self, pName):
        self.name = pName
        self.rWuerfel = None
        self.punkte = 0

    def setWuerfel(self, pWuerfel):
        self.rWuerfel = pWuerfel
        
    def wuerfeln(self):
        self.rWuerfel.werfen()
        self.punkte = self.punkte + self.rWuerfel.getAugen()

    def getName(self):
        return self.name

    def getPunkte(self):
        return self.punkte

#----------------------------------------
# Test
#----------------------------------------

wuerfel1 = Wuerfel()
wuerfel2 = Wuerfel()

spieler1 = Spieler('Zauberhand')
spieler1.setWuerfel(wuerfel2)

spieler2 = Spieler('Looser')
spieler2.setWuerfel(wuerfel1)

for i in range(5):
    spieler1.wuerfeln()
    spieler2.wuerfeln()
    print('Punktestand', spieler1.getName(), ':', spieler1.getPunkte())
    print('Punktestand', spieler2.getName(), ':', spieler2.getPunkte())
    print()

(a) Im Testprogramm werden Objekte erzeugt und in Beziehung zueinander gesetzt. Beschreibe in Worten, welche Objekte hier jeweils miteinander in Beziehung stehen. Verdeutliche die Objektkonstellation zu einer selbst gewählten Spielsituation mit einem Objektdiagramm.

(b) Wir ändern das Spielsystem wie folgt ab:

Objektdiagramm

Beschreibe, was sich geändert hat. Implementiere und teste das neue Spielsystem.

Aufgabe 2: Elf-hoch mit Objekten

Folgende Spielsituation soll mit Objekten erfasst werden:

(a) Welche Objekte der Miniwelt sollen durch Software-Objekte repräsentiert werden?

(b) Welche Objekte sollen Zugriff auf welche anderen Objekte haben?

(c) Verdeutliche eine konkrete Spielsituation mit einem Objektdiagramm. In diesem Objektdiagramm sollen auch alle Referenzen zwischen Objekten dargestellt werden.

(d) Welche Fähigkeiten sollen die Objekte jeweils haben. Erstelle ein Klassendiagramm mit allen Methoden zur Realisieung die gewünschten Fähigkeiten.

X

Fehler melden

X

Suche