2017-06-02 254 views
0

我正在開發一款遊戲,並且卡住了鑰匙應該解鎖房間門的部分。現在,經過一番搜索之後,我發現我無法將一個函數中存在的變量調用到另一個函數中:正如我一直試圖通過在廚房函數的條件下設置key_picked = True一樣。然後,使用房間函數中的條件,並使用布爾表達式中的key_picked如何將變量從另一個函數調用到另一個函數中

那麼,我該如何解決這個問題?

def kitchen(already_there=False): 
    if choice02_key == "pick key" or choice02_key == "0" or choice02_key == "key": 
     print("---------------------------------------------------------") 
     print "You picked the key. It probably unlocks some door." 
     key_picked = True 
     kitchen(already_there=True) 



def room01(already_there=False): 
    if key_pick == True: 
     print("---------------------------------------------------------") 
     print "You unlocked the room using the key." 
    else: 
     print "This room is locked." 
     entrance_hall(already_there=True) 
+1

這是一個很大的代碼!如何把它煮成幾行的例子。只是簡單地展示問題。 – tdelaney

+0

聽起來不錯。我將編輯它 –

+0

將變量傳遞給函數?這個問題並不完全清楚。 –

回答

0

您可以在參數中傳遞變量。例如:

  1. 定義keyPickedroom01
  2. 請致電kitchen(already_there, keyPicked)room01
    1. 做出你想要的任務。
  3. 然後,您將在keyPicked中獲得想要的值。

例如,想象一下,我有一個函數將數字加10。這會更好地回報價值,但它只是向你展示如何做到這一點。

def add_ten(number): 
    number = number + 10 

def main(): 
    number = 5 
    print('Number is:', number) 
    add_ten(number) 
    print('Number is:', number) 

輸出:

Number is: 5 
Number is: 15 
相關問題