Так что это только начало длинной очереди вопросов, которые я знаю, которые у меня будут. В этом текстовом приключении мне бы хотелось, чтобы в конечном итоге были загадки и несколько путей ветвления, фракции, к которым вы можете в конечном итоге присоединиться, диалог выбора, который влияет на мораль ситуаций (например, массовый эффект или котор, но .. текст на основе), и т. Д., И т. Д., И т. Д. Но я чувствую, что ранняя настройка ОЧЕНЬ важна для этой учебной поездки. Я также хотел бы в конечном итоге преобразовать его в PYQT5 и, возможно, в конечном итоге разместить его с пользовательским интерфейсом на веб-сайте, который я создал для своего портфолио. Я просто хотел убрать это с дороги на случай, если ты увидишь меня здесь. Напишите мне совет на этот счет, если хотите (потому что я определенно мог бы воспользоваться помощью святого покровителя!).
Хорошо, так что проблема под рукой:
У меня естьСписок рас на выбор:
races = ['Human', 'Dwarf', 'Elf', 'Dragonborn', 'Tiefling', 'Half-Elf']
Я бы хотел попросить игрока «Выбрать расу». После того, как игрок напечатает, что он хочет играть, он спросит: «Вы уверены?»| Вот где я застрял |Если игрок говорит «да», это завершает программу, и я могу попытаться продолжить создание этого приложения. Если игрок набирает «нет», он не вернется к исходному вопросу и не позволит ему ответить на него снова.
Итак, то, что я пробовал, определяется как разные методы:
Character.charRace()
Character.charDict()
Character.charTry()
Я думаю, что мои неудачные попытки кода говорят сами за себя с точки зрения того, что я пытался.
class Character:
def charRace():
raceOptions = ['Human', 'Dwarf', 'Elf', 'Dragonborn', 'Tiefling', 'Half-Elf']
raceChoice = input(f'Choose a Race: {raceOptions} \n')
if raceChoice == 'Human':
res = input(
"""
Choose Human?
(Y / N)
""")
if res == 'Y':
print(f'You Chose {raceChoice}!')
if res == 'N':
del raceChoice
raceChoice = input(f'Choose a Race: {raceOptions} \n')
res = input(
"""
Choose Human?
(Y / N)
""")
if raceChoice == 'Dwarf':
res = input(
"""
Choose Dwarf?
(Y / N)
""")
if res == 'Y':
print(f'You Chose {raceChoice}!')
if res == 'N':
del raceChoice
raceChoice = input(f'Choose a Race: {raceOptions} \n')
if raceChoice == 'Elf':
res = input(
"""
Choose Elf?
(Y / N)
""")
if res == 'Y':
print(f'You Chose {raceChoice}!')
if res == 'N':
del raceChoice
raceChoice = input(f'Choose a Race: {raceOptions} \n')
if raceChoice == 'Dragonborn':
res = input(
"""
Choose Dragonborn?
(Y / N)
""")
if res == 'Y':
print(f'You Chose {raceChoice}!')
if res == 'N':
del raceChoice
raceChoice = input(f'Choose a Race: {raceOptions} \n')
if raceChoice == 'Tiefling':
res = input(
"""
Choose Tiefling?
(Y / N)
""")
if res == 'Y':
print(f'You Chose {raceChoice}!')
if res == 'N':
del raceChoice
raceChoice = input(f'Choose a Race: {raceOptions} \n')
if raceChoice == 'Half-Elf':
res = input(
"""
Choose Half-Elf?
(Y / N)
""")
if res == 'Y':
print(f'You Chose {raceChoice}!')
while res == 'N':
del raceChoice
raceChoice = input(f'Choose a Race: {raceOptions} \n')
res = input(
"""
Choose Half-Elf?
(Y / N)
""")
if raceChoice == 'Orc':
res = input(
"""
Choose Orc?
(Y / N)
""")
while res:
if res == 'y':
print(f'You Chose {raceChoice}!')
break
if res == 'n':
del raceChoice
raceChoice = input(f'Choose a Race: {raceOptions} \n')
res = input(
"""
Choose Orc?
(Y / N)
""")
def charDict():
raceOptions = ['Human', 'Dwarf', 'Elf', 'Dragonborn', 'Tiefling', 'Half-Elf']
raceChoice = input(f'Choose a Race: {raceOptions} \nRace: ')
if raceChoice == 'Human' or 'human' or 'h':
print(f'Choose {raceChoice}?\n')
ans = input()
if ans != 'Yes' or 'yes' or 'y':
print(f'You chose {raceChoice}! ')
elif ans == 'No' or 'no' or 'n':
return raceChoice
if raceChoice != 'Human' or 'human' or 'h' or 'Dwarf' or 'dwarf' or 'd' or 'Elf' or 'elf' or 'e' or 'Dragonborn' or 'dragonborn' or 'DB' or 'Tiefling' or 'tiefling' or 't':
return 'That is not a race that can be chosen at this time!'
def charTry():
races = ['Human', 'Dwarf', 'Elf', 'Dragonborn', 'Tiefling', 'Half-Elf']
res = input(f'Choose a Race: {races}. \nRace: ')
race = res.capitalize()
if race in races:
if race == 'human' or 'Human' or 'h':
print(f'Do you want to choose {race}? ')
Character.charRace()
Character.charDict()
Character.charTry()
Пример желаемого результата:
>>> f'Choose a race {races}!:
>>> Human
>>> Do you want to play a Human?
>>> (Y / N)
>>> N
>>> Continue to browse...
>>> Choose a race: Human, Dwarf, Elf, Dragonborn, Tiefling, Half-Elf
>>> Dwarf
>>> Do want to play a Dwarf?
>>> Y
>>> You have chosen to play a Dwarf!
Я пыталсяНесколько разных методов, чтобы получить желаемый результат, но они не работают. Должен ли я построить конечный автомат? Как бы я это сделал? Как лучше всего продлить срок службы и сделать код модульным для будущего обновления?