У меня есть глобальная переменная, которую нужно изменить с помощью пользовательского ввода, сгенерированного функцией.
Я пытаюсь создать текстовую игру в стиле Zork и хочу, чтобы имя персонажа, input
, использовалось пользователем при создании персонажа function
, чтобы изменило глобальную переменную .
Я смог создать class
для хранения информации о персонаже и смог отобразить большую часть информации в class
в командной строке, которая появляется у меня, когда пользователю доступны опции input
.
Я использую global variable
, чтобы определить имя персонажа до стадии создания персонажа. Я использую ключевое слово 'global
' в creation()
function
, чтобы изменить имя variable
для пользователя input
.
Когда приглашение готово к использованию, оно по-прежнему отображает только имя как 00
вместо input
, созданного во время creation()
function
Я чрезвычайно новичок. Любые советы, советы или указания будут заветными.
import time
name = "00" ##this is what we want to change
##
def Intro():
print("\n\n\nWelcome to the game.")
time.sleep(1)
print("This is an attempt to make an interactive text based game.")
##
def Creation():
Character_name = input("\nWhat will your Character's name be: ")
time.sleep(1)
print("\nWelcome to the game " + Character_name + " \n" )
time.sleep(1.5)
Character_class = input("In one word, name " + Character_name + "'s profession: ")
t00n = Character_name + " the " + Character_class
global name ##here I am using the global keyword
name = t00n
time.sleep(1)
print("\n" + t00n + "\n")
time.sleep(2)
next_func = input("When ready type 'next' to begin.\n>>>:")
if next_func == "next":
segway()
else:
Jump()
##
def Jump():
Jump_Prompt = input("Just 'Jump' on in\n>>>: ")
if Jump_Prompt == "Jump":
segway1()
else:
Jump()
##
def segway():
print("A room with options to choose from")
prompt()
class Character:
def __init__(self, name, HP, full_HP, AtS, AR):
self.name = name ##should = t00n now?
self.hp = HP
self.full_HP = full_HP
self.AtS = AtS
self.AR = AR
def stat_bar(self):
return '{} {} {} {} {} {}'.format("[Name:]", self.name, "[HP:]", self.hp, "[Max HP:]", self.full_HP)
Player1 = Character(name, 100, 100, 1, 0)
##
def prompt():
_pr = input("<<< " + Character.stat_bar(Player1) + " >>> \n")
return _pr
#Begin
Intro()
Creation()
segway()
##The prompt() function still displays the name as 00 even tho the creation() function is using the 'global' keyword to change the 'name' variable to the user input.