i

Ü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('Loser')
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:

  • Es gibt 2 Würfel, die geworfen werden können.
  • Es gibt eine Kasse, in die Marken eingezahlt und ausgezahlt werden können.
  • Es sollen (vorerst) 3 Spieler mitspielen. Jeder Spieler hat einen Namen und verfügt über eine bestimmte Anzahl von Marken. Jeder Spieler kann die Würfel werfen. Jeder Spieler hat zudem Zugriff auf die Kasse.
  • Es gibt einen Spielmanager, der das Spiel leitet. Der Spielmanager fordert hierzu die Spieler der Reihe nach zum Spielen auf.

(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 der gewünschten Fähigkeiten.

Suche

v
7.2.2.2.3.3
dev.inf-schule.de/oop/python/spiele/beziehungen/referenzattribute/uebungen
dev.inf-schule.de/7.2.2.2.3.3
dev.inf-schule.de/@/page/HkQBKjywMp0AS61r

Rückmeldung geben