2016-03-07 47 views
-3

我目前有一些關於Bools的問題。在學習Python The Hard Way之後,我創建了a game如何在另一個函數中更改Bool變量?

在我的遊戲中有兩個功能,我遇到了問題(roomOne和getFood),一個功能將您帶到另一個功能,然後您可以選擇拾取一塊食物 - 稍後您將選擇用來投擲開關以禁用你周圍的電場。

我希望用戶只有在他的人身上有食物時才能扔掉食物......目前 - 我的程序設置的方式 - 用戶是否真的擁有食物並不重要 - 他可以拋棄它。我嘗試在獲得食物功能時返回foodBrick = True或(==)。但它沒有解決。

我該如何解決我的遊戲問題,這樣我只能在foodBrick在我身上時才能關閉開關?

+0

'如果'扔'扔'現在就夠了,但'Foodbrick = True'也應該是必需的。請仔細閱讀問一個小問題。 – roadrunner66

+0

好的。我只是擡起頭來'最小的問題'。對不起,下次我會盡量縮短它!並感謝您的意見。 – Snicklezs

+0

請在問題中直接包含代碼(不在鏈接中,因爲鏈接改變,問題變得無用)。 –

回答

0

你的直接問題是因爲你總是設置foodBrick = True,無論用戶在你的getFood()子程序中輸入什麼類型。

你已經完成了一大堆工作,所以我建議你看看代碼,看看你是否可以識別出你正在重複做的任何事情,並看看你是否可以將這些常見的東西製作成子程序。

過去,我認爲你應該考慮讓玩家成爲一個對象(類的成員)或字典,以便你可以在不同的子程序中給玩家添加屬性,並讓它們在整個過程中都可見。喜歡的東西:

player['hasFood'] = True 

player.has_food = True 

取決於你如何實現它。

+0

謝謝!我還沒有學到任何關於課程的知識,但是我翻了幾頁翻閱了我的書,並在他們身上找到了一個頁面 - 今晚我會讀一讀。我很感激幫助。 :D – Snicklezs

+0

您可以從模塊範圍內的空字典開始(不縮進):'Player = {}' –

相關問題