我正在用Python編寫遊戲,並且已經到了需要拯救玩家進度的方式。當玩家退出遊戲時,我正在考慮讓腳本創建一個文本文件並寫幾行(用於存儲統計變量和房間號)。但我也需要它來檢查該文件是否在啓動時退出,如果是,則將存儲的值應用於相應的變量。任何人都可以幫忙嗎?Python遊戲保存文件
回答
import os
if os.path.exists('yourplayerfile'):
with open('yourplayerfile') as f:
# work with f
with open('yourplayerfile','a') as f:
# update f
這是您必須使用的提綱。
兩個不同的問題在這裏:
- 什麼存儲在文件中,以及如何將其存儲
- 時存儲的邏輯,當加載
第一個問題是簡單因爲它更通用。這裏有幾個很好的選擇:一個是使用Python的ConfigParser
類,用於Windows .ini
- 類似配置文件。或者,您可以使用pickle
來簡單地轉儲某種配置/設置數據結構(可能是嵌套字典)。然後是內置的SQLite綁定。還有其他的選擇 - 這一切都取決於你想要的複雜程度。
第二個問題更具體到您的應用程序。您可以嘗試在啓動時打開配置文件,如果它在那裏,請閱讀它的內容。稍後,您可以定期將設置/進度存儲在其中。一個忠告:在任何時候都要始終保持一組數據結構中的一組設置爲一致的數據結構 - 即使只有部分設置在配置文件中(因爲某些原因)出現在配置文件中,也需要使用默認值您的設置。
+1爲泡菜!這可能是現在的最佳選擇。 – 2011-04-27 05:26:57
我建議你保存在sqlite或一些像這樣的東西......但我不明白你的問題在哪裏?保存文件或讀取文件?
try:
f=open('/tmp/workfile', 'w')
# i find file
except:
#there is no file
<open file '/tmp/workfile', mode 'w' at 80a0960>
不,請使用'打開(文件)爲f'代替。它更清潔。 – user225312 2011-04-27 05:03:07
它需要做的是創建一個文件來存儲決定玩家進度的變量,如果該文件已經退出,還需要檢查啓動時間,如果是這樣,則將數據應用到玩家進度變量 – 2011-04-27 05:03:37
嘗試檢查您的文件,如果劑量存在執行除外 – Efazati 2011-04-27 05:15:39
- 1. iPhone遊戲保存
- 2. Python遊戲 - 創建一個保存文件?
- 3. 保存遊戲狀態?
- 4. 保存多線程遊戲
- 5. 用Javascript保存遊戲
- 6. android保存遊戲狀態
- 7. 對非遊戲應用使用已保存的遊戲服務
- 8. 如何在java applet遊戲中製作保存遊戲?
- 9. 通過遊戲中心分享保存的遊戲數據?
- 10. 如何星際爭霸(或策略遊戲)遊戲保存
- 11. 二進制文件和保存的遊戲格式
- 12. 將遊戲分數保存到文件並確定「高分」
- 13. 在Cocos2d中保存文件到服務器Javascript遊戲
- 14. Python argparse遊戲
- 15. 遊戲文件存檔格式
- 16. 在Unity中使用JSON保存遊戲
- 17. 保存,加載和重放遊戲。 C++
- 18. State Monad在遊戲中保存棋盤
- 19. 將高分保存爲遊戲
- 20. 在MMO遊戲中保存數據
- 21. 硬幣翻轉游戲保存問題
- 22. 不保存尋寶遊戲的腳本
- 23. 保存Flash遊戲得分的PHP/MySQL
- 24. Unity Google Play已保存的遊戲
- 25. 遊戲中心不保存得分
- 26. 保存的遊戲在localStorage的
- 27. 在cocos2d保存遊戲狀態
- 28. Python捕捉遊戲
- 29. Python問答遊戲
- 30. Python遊戲網絡
感謝您的幫助! – 2011-04-27 04:57:46
你不覺得檢查文件是否存在有點不必要?畢竟,'a'會創建文件,如果它不存在。 – user225312 2011-04-27 05:03:40
A - 我認爲OP問他想在啓動過程中檢查文件。我應該把它當作是編輯它的一部分。 – 2011-04-27 06:50:49