我想通過添加保存/加載功能(不得不使用文件不幸)來完成使用python的任務的最後動作。我定義了四個函數,併爲每個函數編寫代碼,但我沒有提供任何內容,因爲它不想工作,我們的教師對文件的說明是非常基本的。通過Python中的文件命令操作變量
def savegame():
f=open("savefile.txt","w")
f.write(playeroneright/playeroneleft/playertworight/playertwoleft/playertworight/computerright/computerleft)
f.close()
def opengame():
f=open("savefile.txt")
lines=f.readlines()
playeroneright=lines[0]
playeroneleft=lines[1]
playertworight=lines[2]
playertwoleft=lines[3]
computerright=lines[4]
computerright=lines[5]
f.close()
def newgame():
deletecontent("savefile.txt")
f=open("savefile.txt","w")
f.write(1)
f.write(1)
f.write(1)
f.write(1)
f.write(1)
f.write(1)
f.close()
opengame()
def deletecontent(pfile):
fn=pfile.name
pfile.close()
第一函數(遊戲存檔)應該採取的每個變量,並保存在不同的行的它的數值,因爲它當前在遊戲成立(遊戲操縱變量,playeroneright等等之一)。它應該將其保存在文件savefile.txt中。
第二個函數(opengame)應該取文件中當前保存的任何內容,並將該文件分配給該變量,基本上是一個加載函數。
第三個函數(新遊戲)應該將遊戲重置爲起始點(其中所有變量都取值1),然後使用上述函數打開遊戲。
最後一個函數(deletecontent)僅用於第三個函數來清除文檔,以便它可以分配所有新值。
這些是我到目前爲止的嘗試,我還沒有很好的文件,但我試圖找出更多。如果任何人有任何想法(最好是簡單的,如果可能的話),這將是非常棒的。謝謝!
看起來你很接近滿足要求。你錯過了什麼?另外,爲什麼newgame()調用opengame()?好像你應該有一個主函數,如果需要的話調用newgame(),然後調用opengame。 –
是的,可以工作,我只是在newgame中使用了opengame,因爲在newgame中,我將值重置爲1,並在opengame中分配變量,所以每次我使用newgame時,我也必須使用opengame。 – Eric