我希望能够保持玩家在玩我的游戏时获得的分数,当他们关闭游戏并重新打开游戏时,分数仍然被保存。我能想到的唯一方法是使用文本文件,就像我在 VB6 中所做的那样。但是,这意味着他们可以编辑文本文件吗?或不?我的分数存储在一个“双倍”中,可以从任何班级访问,并且正在按原样在班级之间转移,如果这有影响的话。
希望有人可以提出解决此问题的最佳方法。
我希望能够保持玩家在玩我的游戏时获得的分数,当他们关闭游戏并重新打开游戏时,分数仍然被保存。我能想到的唯一方法是使用文本文件,就像我在 VB6 中所做的那样。但是,这意味着他们可以编辑文本文件吗?或不?我的分数存储在一个“双倍”中,可以从任何班级访问,并且正在按原样在班级之间转移,如果这有影响的话。
希望有人可以提出解决此问题的最佳方法。
如果保持分数保密且不可编辑非常重要,我建议您将所有玩家的分数存储在只有您控制的安全服务器上,或者如果这超出您的项目范围,请使用加密方法并同时存储分数作为二进制数据(即存储您的游戏状态对象,而不是分数本身)而不是文本文件。
任何应用程序。可以使用Java Web Start 启动具有 GUI并使用PersistenceService
. 最终用户不容易访问持久性服务中的数据。这是一个小演示。的持久化服务。
至于如何存储数据,如果防止用户更改数据不是绝对重要的,我会使用Properties
对象或 XML/POJO。
如果它非常重要(例如,玩家争夺 10,000 美元的奖金),请加密这些值,然后使用远程服务器进行加密(等等)。
您可以使用一种或另一种方式加密文件,因此它不容易编辑(因此,编辑尝试可能会损坏乐谱。)这是一个简单的 AES 字符串加密示例。
你试过什么?这对我来说似乎是某种家庭作业。
您可以使用 Java 读取和写入文件。您还可以进行对象序列化或使用嵌入式数据库。
更新: 我建议将所有信息存储在服务器的数据库中。有很多方法可以做到这一点。具体实现将取决于您的后端。
如果您将文件存储在本地计算机上,显然每个对该文件具有读/写权限的用户都可以修改它。
我建议您遵循以下其中一种方式