2016-05-14 6 views
0
#Variables 
enemy=['Dummy','Ghost','Warrior','Zombie','Skeleton'] 

#Functions 
#Meeting an enemy - Attack/Defend Option 
def encounter(enemy): 
    print(name,"encountered a",enemy,".","What do you do?") 
    print("Attack? or Defend?") 

#def defend(dvalue): 

def battle(): 
    encounter(random.choice(enemy)) 
    #Attack Or Defend? 
    choice=input("What do you do?") 
    if choice!="Attack": #If the choice isn't attack then ask again 
     print("Do you attack or defend?") 
     choice=input("What do you do?") 
    if choice!="Defend": #If the choice isn't defend then ask again 
     print("Do you attack or defend?") 
     choice=input("What do you do?") 
    #Say correct sentence depending on what you do. 
    dmg=randint(0,50) #Dmg randomizer 
    if choice=="Attack": #If the choice was attack then do a random number of dmg to it 
     print(name,choice,"s",enemy,".","You deal",dmg,"damage","to it.") 
    if choice=="Defend": #If ... to it 
     print(name,choice,"s.") 

Ich mache ein textbasiertes RPG-Spiel. Alles läuft gut, aber ich habe ein Problem, das ich nicht lösen kann und für das ich keine Lösungen gefunden habe. Grundsätzlich, wenn Sie einen Gegner treffen, wählt er einen zufälligen aus der Liste. "Bob hat ein Skelett getroffen." Das ist in Ordnung, aber wenn es den beschädigten Teil tut, druckt es die gesamte Liste und ich weiß nicht, wie ich es machen soll, so dass der vorher gewählte Feind, in diesem Fall ein Skelett, gedruckt wird.Verwendung der vorherigen zufälligen Zeichenfolge in Python

Jede Lösung wäre willkommen. Vielen Dank.

+0

Geben Sie einfach die gegnerische Zeichenfolge in der Funktion '' 'encounter''' zurück und speichern Sie diesen Zustand zur späteren Verwendung. Oder spalte '' '' (Zufallsauswahl (Feind)) '' 'in die Auswahl und den Aufruf des Gegners. – sascha

Antwort

1

Sie könnten die Wahl des Feindes zu einer Variablen speichern:

current_enemy = random.choice(enemy) 
encounter(current_enemy) 
# ... 
if choice=="Attack": 
    print(name,choice,"s",current_enemy,".","You deal",dmg,"damage","to it.") 
# etc... 

Hoffnung, das hilft!

Verwandte Themen