Python-Programm funktioniert nicht?

1 Antwort

1) Hier hast du einen Syntaxfehler:

print("Du kannst hierhin gehen:", ",".join(spieler.momentanerraum.nebenräume.))

Der letzte Punkt muss weg.

2) Der Spieler startet immer im Klassensaal. Von dort aus kann er in den Gang, da dieser mit dem Raum verbunden ist.

Einen Raumwechsel stößt du in der Schleife nicht an, daher kann es auch nicht weitergehen.

spieler.raumwechsel(richtung)

Aber auch die Implementation der raumwechsel-Methode ist noch nicht richtig. Zum einen ist die if-Bedingung falsch. Du möchtest eigentlich nach einem Raumnamen in den verfügbaren Nebenräumen suchen (nicht nach einem Raum in einem Raum).

if richtung in self.momentanerraum.nebenräume:

Des Weiteren müsste, sofern die Bedingung eintrifft, der Raumwechsel auch wirklich stattfinden.

self.momentanerraum = self.momentanerraum.nebenräume[richtung]

Bei der Ausgabe der Raumbeschreibung nutzt du noch einen falschen Propertynamen (beschreibung statt details).