2014-02-22 61 views
0

我正在python 3.3.4中制作一个非常简单的文本冒险游戏,并想知道是否有任何可能的方法来使它当输入不匹配a/b它返回到打印命令,询问问题。Python文本冒险循环

这是我目前有:

import time 
import sys 
from random import randrange 

text = "** Execute Long Intro **" 

for c in text: 
    sys.stdout.write(c) 
    sys.stdout.flush() 
    seconds = "0." + str(randrange(1, 2, 1)) 
    seconds = float(seconds) 
    time.sleep(seconds) 


time.sleep(1) 


obj1 =input('\nDo you \na.) Rest on the ground \nb.) Find a way out of the jungle\n') 
if obj1 in ('a'): 
    print('You find a comfortable spot on the ground and drift into sleep...') 
    time.sleep(.6) 
    print('Zzz.\nZzz..\nZzz...') 
    time.sleep(3) 
    print('You wake to a strange noise, and work your way out of the jungle.') 
    time.sleep(1) 

    print('You emerge out of the jungle and walk along the shoreline of a sunny beach') 
    time.sleep(1) 
    print('** Objective One Completed **') 
    time.sleep(2) 



elif obj1 == 'b': 
    print('You manage to find a path out of the jungle and discover a beach,') 
    time.sleep(1) 
    print('** Objective One Completed **') 
    time.sleep(2) 

elif obj1 != ('a','b'): 
    print('Uh.') 

帮助将不胜感激。

回答

1

使用while循环:

obj1 = input(...) 

while obj1 not in ('a', 'b'): 
    obj1 = input("Invalid. Enter again: ") 

if obj1 == 'a': 
    ... 
elif obj1 == 'b': 
    ... 
0

您可以尝试使用blessings库。 与安装:

pip install blessings 

和用法很简单:

from blessings import Terminal 
term = Terminal() 
print term.clear_bol 
print '\t{t.yellow}action{t.normal}|{t.green}Done!{t.normal}'.format(t=term) 
+0

我安装的祝福伴点子,当我的侏儒您提供的代码得到一个无效的语法错误。 – dawsondiaz

+0

你明白了。简单地修复错误。在祝福页面阅读文档。我没有看到代码中的任何语法错误! – Farsheed