我考虑将我的游戏的高分存储为代码本身的变量,而不是像我目前所做的那样存储为文本文件,因为这意味着运行它所需的额外文件更少,并且分配 999999 分变得更加困难。
但是,这将需要我运行自我修改代码来永久覆盖表示分数的全局变量。我对此进行了研究,并考虑到我想做的只是更改全局变量,我发现的所有东西都太高级了。
如果有人能给我解释一下如何编写自我修改的 Python 代码来做到这一点,我将不胜感激,最好也提供一个示例,因为它有助于理解。
我考虑将我的游戏的高分存储为代码本身的变量,而不是像我目前所做的那样存储为文本文件,因为这意味着运行它所需的额外文件更少,并且分配 999999 分变得更加困难。
但是,这将需要我运行自我修改代码来永久覆盖表示分数的全局变量。我对此进行了研究,并考虑到我想做的只是更改全局变量,我发现的所有东西都太高级了。
如果有人能给我解释一下如何编写自我修改的 Python 代码来做到这一点,我将不胜感激,最好也提供一个示例,因为它有助于理解。
我的第一个倾向是说“不要那样做”。自修改 Python(实际上是任何语言)使得维护版本化库变得极其困难。
Python 使得加载和转储 JSON 文件非常简单,对于简单的事情,我不会想到其他任何事情。即使是 CSV 文件也很简单,可以绑定到地图,但可以使用您最喜欢的电子表格编辑器更轻松地作为数据进行操作。
我的建议——除非你只是想尝试,否则不要使用自我修改的 Python;这在现实世界中并不是一个实用的解决方案,除非您在磁盘和内存非常重要的嵌入式环境中工作。