如何在冒险游戏中有条件地处理输入?

时间:2017-01-31 17:58:05

标签: python python-3.x adventure

好的,所以我想开始冒险游戏,不知道如何让程序在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 个答案:

答案 0 :(得分:1)

立即问题

在正式的结构化编程中,你可以通过Keatinge给你的测试来处理这个问题:

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

...并且程序的其余部分将缩进以使其 all " true" if 的分支。在实际的世界中,我用反向逻辑做到这一点:如果用户说" no",则结束程序:

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

# Remainder of program

较大的问题

学习代码

如果您阅读了课程材料或Python教程来学习这些内容,那么您将自己帮助很多。真。 Stack Overflow不是教程网站;你能够自己查找基础知识。此外,你真的不想等我们回答很少的机械问题。

设计您的计划

使用适用于您的任何描述性工具:流程图,故事板,任何可以帮助您绘制以什么顺序发生的事情以及需要保留的信息(变量)。如果有任何帮助,那么#34;艰难学习Python"有一个很好的核心冒险游戏 - 你当然可以搜索" Python冒险"获得帮助您组织自己的代码。

<强>实施

你正确地开始了,但是确定你要保持它:代码几行,确保他们做你想做的事,并且不要继续直到他们工作。例如,您现在应该编写所需的 if 语句,并在每个分支中添加一条简单的消息,告诉您已正确到达。测试几次,至少输入&#34; YES&#34;,&#34; no&#34;和其他垃圾。

这应该让你开始。最重要的是,玩得开心。用双手杀死一只野兽。窃取一些宝藏。落入尖峰坑。被愤怒的家猫吃掉。

答案 1 :(得分: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