2017-10-14 19 views
-1

私はテキストベースのゲームを作成する初心者です。私は、ロックされたドアのロックを解除する方法をプレイヤーが理解し、終了できる状況にあります。しかし、私は彼らがそれをロック解除する前にドアを出ることを望んでいません。定義済みの関数を別の定義済み関数に追加するにはどうすればよいですか?

def exit_(): 
    if decision == "exit": 
     print("(exit room)") 
     print("You exit the room.") 
     room_2() 
     #level up here 
    elif decision == "exit prison cell": 
     print("(exit room)") 
     print("You exit the room.") 
     room_2() 
     # level up here 
    elif decision == "exit the prison cell": 
     print("(exit room)") 
     print("You exit the room.") 
     room_2() 

をし、このように一緒にこれを追加しました::プレイヤーは自分の答えをinputed後

room_1() and exit_() 

正しくロックを解除することが、私はしかし、私はこのように書いた別の定義関数を作成したいですドア。しかし、それは動作していないようです、一緒に2つの定義された関数を追加する方法はありますか、おそらく私は別の方法を使用する必要がありますか?

ユーザーがロックされたドアを通ってかないで行くことができている場合は、チェックするためのブール値を使用することができます

答えて

0

door_locked == True 
if userinput == correct_answer: 
    door_locked = False 
    # user can do whatever they want now the door is unlocked 
    room_2() 
else: 
    door_locked = True 
    # user can do whatever they want but the door is still locked 
+0

これはですPythonではなく... 'bool door_locked == true' ?? Pythonは動的言語であり、変数は型付けされておらず、 'true'ではなく' true'であり、 'user.input'とは何か? –

+0

@ juanpa.arrivillagaのコードは一般的なものであり、例えば以下のように簡単に翻訳できます... 'correct_answer =" unlock "' 'input = input(" ")' 'if(input == correct_answer)'など –

0
def exit_(decision): 
    if decision== "exit": 
       print ("(exit room)") 
       print ("You exit the room.") 
       room_2() 
       #level up here 
    elif decision== "exit prison cell": 
       print ("(exit room)") 
       print ("You exit the room.") 
       room_2() 
       #level up here 
    elif decision== "exit the prison cell": 
       print ("(exit room)") 
       print ("You exit the room.") 
       room_2() 

そして、あなたは(room_1を作る)を出力する決定

def room_1(): 
    #do stuff... 
    return decision 

次に電話する

exit(room_1()) 
関連する問題