我希望能够保持玩家在游戏中玩游戏时获得的分数,以及当他们关闭游戏并重新打开分数时仍然保存。我能想到的唯一方法是使用文本文件,就像我在VB6中所做的那样。但是,这意味着他们可以编辑文本文件吗?或不?我的分数存储在一个“双”中,可以从任何一个类访问,并且正在按类传递,如果这有所不同。
希望有人能提出最好的解决方法。
答案 0 :(得分:1)
如果将分数保密并且不可编辑非常重要,我建议您将所有玩家的分数存储在只有您控制的安全服务器上,或者如果这不在您的项目范围内,则使用加密方法和还将分数存储为二进制数据(即存储您的游戏状态对象,而不是分数本身)而不是文本文件。
答案 1 :(得分:1)
任何应用。可以使用Java Web Start&使用PersistenceService
。最终用户无法轻松访问持久性服务中的数据。这是一个很小的demo. of the persistence service。
关于如何存储数据,如果防止用户改变它并不是绝对重要的,我会使用Properties
对象或XML / POJO。
如果 非常重要(例如游戏玩家争夺10,000美元奖金),请加密值,然后使用远程服务器加密(等等)。
答案 2 :(得分:0)
您可以使用这种或那种方式加密文件,因此不容易编辑(因此编辑尝试可能会破坏分数。)Here是AES字符串加密的一个简单示例。 / p>
答案 3 :(得分:0)
你有什么尝试?这对我来说似乎是一种功课。
您可以使用Java读写文件。您还可以执行对象序列化或使用嵌入式数据库。
<强>更新强> 我建议将所有信息存储在服务器的数据库中。有很多方法可以做到这一点。具体实现将取决于您的后端。
答案 4 :(得分:0)
如果将文件存储在本地计算机上,显然每个对该文件具有读/写权限的用户都可以对其进行修改。
我建议您遵循其中一种方式