Как условно обработать входные данные в приключенческой игре?
Итак, я хочу начать приключенческую игру и не знаю, как заставить программу выбирать между 2 ответами.
Например: вы хотите начать? input()
, но тогда я не знаю, как сделать выбор между тем, чтобы игрок сказал "нет", чтобы прервать и бросить, или если он сказал "да", чтобы перейти к следующему вопросу.
Это мой код:
import os
import sys
import random
print("Welcome player!, we invite you to an andventure in our forests, but we warn you!, the monsters are luckng in every corner!")
print("We are going to ask you question for what you want to do and you will answer them by writing in the chat yes or no")
print("are you ready?")
a = input("yes or no?:")
# what goes next?
2 ответа
НЕМЕДЛЕННАЯ ПРОБЛЕМА
В формальном структурированном программировании вы справились бы с тестом, который Keatinge дал вам:
if a.lower() == "yes":
# Remainder of program
... и остальная часть программы будет с отступом, чтобы сделать все это "истинной" ветвью if. В практическом мире я бы сделал это с обратной логикой: если пользователь говорит "нет", тогда завершите программу:
if a.lower() == "no":
exit()
# Remainder of program
БОЛЬШИЕ ПРОБЛЕМЫ
Учебный код
Вы очень поможете себе, если вы изучите материалы своего класса или учебник по Python, чтобы изучить эти вещи. В самом деле. Stack Overflow не является учебным сайтом; Вы должны быть в состоянии найти основы самостоятельно. Кроме того, вы действительно не хотите ждать, пока мы ответим на небольшие механические вопросы.
Разработка вашей программы
Используйте любые описательные инструменты, которые вам подходят: блок-схему, раскадровку, все, что поможет вам понять, что происходит в каком порядке и какую информацию вам нужно сохранить (переменные). Если это поможет, "Изучение Python трудным путем" имеет хорошее ядро для приключенческой игры - и вы, безусловно, можете найти "Python adventure", чтобы получить код, который поможет вам в вашей собственной организации.
Реализация
Вы начинаете правильно, но убедитесь, что вы продолжаете в том же духе: кодируйте несколько строк, убедитесь, что они делают то, что вы хотите, и не продолжайте, пока они не будут работать. Например, теперь вы должны закодировать нужный вам оператор if и простое сообщение в каждой ветке, чтобы сообщить вам, что вы попали туда правильно. Протестируйте его несколько раз, указав, по крайней мере, "ДА", "нет" и другие нежелательные значения.
Это должно начать вас. Больше всего веселиться. Убей зверя голыми руками. Укради некоторые сокровища. Попасть в яму с шипами. Съешься злой домашней кошкой.
Простой пример с комментариями:
while True:
answer = input("Are you ready? [Y/n] ")
# remove spaces and convert to lower
answer = answer.strip().lower()
# set default answer
if not answer:
answer = 'y'
# ----
if answer == 'y':
print("YES")
break # exit `while`
elif answer == 'n':
print("NO")
break # exit `while`
else:
print("incorrect answer")
# it will return to question