Aufzählung?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
NiklasRettig
User
Beiträge: 1
Registriert: Sonntag 5. Juli 2020, 14:19

Hey Leute. Ich brauche dringend eure Hilfe. Ich bin noch relativ neu in Python und Programmiere grade ein bisschen rum. Ich hatte mich für eine Art Dungenspiel entschieden mit verschiedenen Mobs und habe dazu auch Klassen, verschiedene Wege und Lösungsmöglichkeiten schon erstellt. Ich möchte nun aber das der Weg immer rdm entsteht und halt ein vorgefertigter Satz abgerufen wird. (Btw läuft das meiste mit print()).
Es sieht nun grob so aus

i=random.randint(1, 5)

weg1="Du siehst ein "+b1.klasse+" noch hat er dich nicht bemerkt"
weg2="Du gehst durch einen langen dunklen Gang mit Totenschädeln an den Wänden."
weg3="Du hörst laute Geräusche am Ende des Tunnels"
weg4="Du gehst den Weg vorsichtig entlang. Doch hinter dir erscheinen "+g3.klasse

Nun habe ich mir das in so einer Weise vorgestellt.

i=random.randint(1, 5)

weg[1]="Du siehst ein "+b1.klasse+" noch hat er dich nicht bemerkt"
weg[2]="Du gehst durch einen langen dunklen Gang mit Totenschädeln an den Wänden."
weg[3]="Du hörst laute Geräusche am Ende des Tunnels"
weg[4]="Du gehst den Weg vorsichtig entlang. Doch hinter dir erscheinen "+g3.klasse

print(weg)


So funktioniert es aber nicht. Hat jemand eine Idee oder einen Befehl womit ich das umsetzen könnte?
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

Fast immer, wenn man Variablennamen nummeriert, möchte man eigentlich eine Liste benutzen.
Das löst auch in deinem Fall das Problem.
nezzcarth
User
Beiträge: 1764
Registriert: Samstag 16. April 2011, 12:47

NiklasRettig hat geschrieben: Sonntag 5. Juli 2020, 15:01 Ich hatte mich für eine Art Dungenspiel entschieden mit verschiedenen Mobs und habe dazu auch Klassen, verschiedene Wege und Lösungsmöglichkeiten schon erstellt.
Vielleicht findest du ja dann dieses Tutorial interessant: http://www.roguebasin.com/index.php?tit ... %2Blibtcod
Insb. auch den Tipp mit dem (An)lesen des Python-Tutorials beachten. ;) Rougebasin an sich ist auch die erste Anlaufstelle für solche Spiele und deren Entwicklung. Allerdings dürfte vieles, was du dort findest am Anfang eher verwirrend sein.
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

Variablen muß man vorher definieren, bevor man sie benutzen kann. `weg` muß also als Liste definiert werden, der Index fängt dann auch bei 0 an, und man muß append benutzen, um Elemente anzufügen, oder man definiert die Liste gleich mit Inhalt. Man stückelt keine Strings mit + zusammen, sondern benutzt Formatstrings. b1 und g3 sind äußerst schlechte Namen.

Code: Alles auswählen

wege = [
    f"Du siehst ein {b1.klasse} noch hat er dich nicht bemerkt",
    f"Du gehst durch einen langen dunklen Gang mit Totenschädeln an den Wänden.",
    f"Du hörst laute Geräusche am Ende des Tunnels",
    f"Du gehst den Weg vorsichtig entlang. Doch hinter dir erscheinen {g3.klasse}",
]
weg = random.choice(wege)
print(weg)
Antworten