Я не знаю, как аккуратно хранить имя пользователя - PullRequest
0 голосов
/ 06 января 2020

Я хочу, чтобы игра спросила у пользователя его имя и аккуратно его сохранила. Если пользователь только что нажал Enter, игра скажет «Пожалуйста, введите имя». Когда имя сохранено, мне нужно добавить функцию, которая означает имя пользователя, чтобы я мог упомянуть его имя во время игры.

import random
import time
class Warrior:
    def Warrior(self, health, steel_armor, healing_potion, attack, rage):
        self.health = health
        self.steel_armor = steel_armor
        self.healing_potion = healing_potion
        self.attack = attack
        self.rage = rage
class Mage:
    def Mage(self, health_magic, magic_armor, magic_heal, magic_attack, mana):
        self.health = health_magic
        self.magic_armor = magic_armor
        self.magic_heal = magic_heal
        self.magic_attack = magic_attack
        self.mana = mana
class Archer:
    def Archer(self, health_spirit, elevens_armor, spiritual_heal, spiritual_attack, spirit):
        self.health = health_spirit
        self.elevens_armor = elevens_armor
        self.spiritual_heal = spiritual_heal
        self.spiritual_attack = spiritual_attack
        self.spirit = spirit
classes = ["Warrior", "Mage", "Archer"]
class Name:
    def Name(self, input):
        self.name = name 
        Name = input(print("Enter your name {} ").format(player_class) + "!")
name = ["Name"]

    run = True
main_menu = True
Play = input
Warrior = Warrior
Mage = Mage
Archer = Archer

while run:
    while main_menu:
        question = input("To play enter [Play]: ")
        if question != 'Play':
                print("Please enter a valid option")
                continue
        else:
            break
    print("you were a....."),
    print("Choose your class!")

    player_class = input(classes)
    while player_class not in classes:
        player_class = input(classes)
    print("Enter your name {}!".format(player_class))
    player_name = input(Name) #here is my problem
    print("Welcome to Glaux, {}!".format(player_name) + " you may choose a weapon to have.")

    print("")
    break

1 Ответ

0 голосов
/ 06 января 2020

Почему Name является собственным классом?

Я бы сделал класс Player и сделал бы "name" атрибутом этого класса.

class Player:
    def __init__(self, name, class, ...):
        self.name = name
        self.class = class
        ...

тогда вы могли бы просто запросить назовите это так: name = input("What's your name?: ")

, а затем просто создайте экземпляр проигрывателя на основе запрашиваемой информации

...