2017-01-31 4 views
-1

ОК, поэтому я хочу начать приключенческую игру и не знаю, как заставить программу выбрать между двумя ответами.Как обрабатывать входные данные условно в приключенческой игре?

Например: Вы хотите начать? 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? 
+7

'если.lower() == "yes": 'Если вы не знаете, как это сделать, у вас будет еще больше вопросов, прочитайте учебник: https://docs.python.org/3/tutorial /controlflow.html#if-statements – Keatinge

+0

Возможно, вам следует решить, что должна делать программа, если, например, пользователь отвечает «нет»? – cdarke

+0

во многих инструментах предпочтительны короткие ответы - 'n',' y' - и также ответ по умолчанию, когда вы только нажимаете enter 'input (« Готовы ли вы [N/y]? »)' - верхний 'N' показывает, что значение по умолчанию Ответ - 'n' - но остальное вы должны делать с' if' и 'lower()'. – furas

ответ

1

СРОЧНОЕ ПРОБЛЕМА

В формальном структурном программировании, вы бы справиться с этим с тестом, который Keatinge дал вам:

if a.lower() == "yes": 
    # Remainder of program 

.. и остальная часть программы будет отступом, чтобы сделать ее все «истинной» ветвью ч , если. В реальном мире, я бы сделать это с обратной логикой: если пользователь говорит «нет», то конец программы:

if a.lower() == "no": 
    exit() 

# Remainder of program 

более серьезные проблемы

обучения код

Вы сами позаботитесь, если вы прочитаете материалы своего класса или учебник Python, чтобы изучить эти вещи. В самом деле. Переполнение стека не является учебным сайтом; вы должны иметь возможность самостоятельно искать основы. Кроме того, вы действительно не хотят дожидаться, пока мы ответим на небольшие механические вопросы.

Проектирование вашей программы

Используйте любые описательные инструменты работы для вас: блок-схема, на раскадровку, все, что поможет вам извлечь из того, что происходит в каком порядке, и какую информацию нужно сохранить (переменные) , Если это какая-то помощь, «Learning Python the Hard Way» имеет приятное ядро ​​для приключенческой игры - и вы, безусловно, можете поискать «Приключение Python», чтобы получить код, который поможет вам в вашей собственной организации.

Реализация

Вы начинаете правильно, но сделать уверен вы держите его: код несколько строк, убедитесь, что они делают то, что вы хотите, и не продолжать, пока они не работают. Например, вы должны ввести код , если требуется, и простое сообщение в каждой ветке, чтобы сообщить вам, что вы попали туда должным образом. Протестируйте его несколько раз, введя хотя бы «ДА», «Нет» и другой хлам.

Это должно вас начать. Больше всего, получайте удовольствие. Убейте зверя голыми руками. Укради несколько сокровищ. Упасть в яму с шипами. Поймать сердитый кот.

0

Простой пример с комментариями:

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