Seite 1 von 1

Aufzählung?

Verfasst: Sonntag 5. Juli 2020, 15:01
von NiklasRettig
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?

Re: Aufzählung?

Verfasst: Sonntag 5. Juli 2020, 15:18
von sparrow
Fast immer, wenn man Variablennamen nummeriert, möchte man eigentlich eine Liste benutzen.
Das löst auch in deinem Fall das Problem.

Re: Aufzählung?

Verfasst: Sonntag 5. Juli 2020, 16:34
von nezzcarth
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.

Re: Aufzählung?

Verfasst: Sonntag 5. Juli 2020, 17:07
von Sirius3
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)