私はLPTHWから学んでいますが、基本的には部屋のテキストベースのゲームです。条件が真であってもPythonはスキップします
class Riddle_Room(Room):
def activate(self):
global current_room
print "Riddle room query"
current_room = "riddle_room"
self.ip = raw_input("> ")
self.count = 3
print self.ip
if "back" in self.ip:
rm.back()
elif "yes" in self.ip:
while self.count > 0:
print "Riddle"
self.answer = raw_input("> ")
if self.answer == "answer":
print "You got that right!"
rm.enter()
else:
print "Try again!"
self.count -= 1
print "No choices left."
quit()
else:
print "Invalid command."
私が最初にこの部屋に入ると、「はい」と答えると謎の質問が表示されます。答えは "答え"で、それは次の部屋に私を連れて行く。私はこの部屋に戻ってくると、それは私に部屋の質問を再度尋ねてきますが、今度は「戻る」と入力すると、無効なコマンドと言われます。これはelse
です。それは最初のif
をスキップします。 self.ip
が"back"
に変更されていることを確認するためにprint self.ip
を追加しました。
使用しているPythonのバージョンはどれですか? –
self.ipの値を表示するだけでなく、self.ipの値( "back")も表示します。 – jarmod
私はWindowsで2.7を使用しています。 @ebe – Nachiket