我正在制作一个基于文本的游戏,一旦完成,应该将某些变量写入文本文件:
==============
Story0:
-----------
Players name: name
Players characteristic: characteristic
这很好,但是我希望实现的是这个函数的一种方法
文本来自于显示它正在生成的故事,这意味着它将在程序运行的第X
次写入:StoryX
我不熟悉python文件的编写和读取,恐怕我离最好的解决方案还很远。下面的代码表示到目前为止我所做的(提供了一个错误):
def Endscript(numberofcycles):
with open("playerstories.txt", 'a') as f:
f.write("================\n")
f.write("Story" + str(numberofcycles) + ": \n")
f.write("-----------\n")
f.write("Players name: " + Player.name)
f.write("\n")
f.write("Players characteristic: " + Player.char)
f.write("\n")
with open("number.txt", "r") as f:
numberofcycles = f.readline()
numberofcycles = int(numberofcycles)
numberofcycles += 1
with open("number.txt", "w") as f:
numberofcycles = str(numberofcycles)
f.write(numberofcycles)
我在这里试图做的是根据更改的X
值从number.txt
文件中更改一个数字的值(是的,只有一个数字)
谢谢你能提供的任何帮助
这就是你的意思吗
错误是由未定义的numberofcycles引起的,如果是,则是因为您没有读入txt文件以检索numberofcycles
您的想法是正确的,请记住,游戏的每次运行都是一个完全独立的过程,因此您的
Endscript()
函数实际上不知道numberofcycles
,除非您已经从磁盘读取了它。这里有一个快速函数,可以访问单个文件并每次递增该值,返回该值供您使用输出:
您可以将其与一个
reset_counter()
相结合,它只删除文件以重置它相关问题 更多 >
编程相关推荐