Java - 从游戏到游戏存储“得分”

时间:2012-04-17 10:18:50

标签: java

我希望能够保持玩家在游戏中玩游戏时获得的分数,以及当他们关闭游戏并重新打开分数时仍然保存。我能想到的唯一方法是使用文本文件,就像我在VB6中所做的那样。但是,这意味着他们可以编辑文本文件吗?或不?我的分数存储在一个“双”中,可以从任何一个类访问,并且正在按类传递,如果这有所不同。

希望有人能提出最好的解决方法。

5 个答案:

答案 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)

如果将文件存储在本地计算机上,显然每个对该文件具有读/写权限的用户都可以对其进行修改。

我建议您遵循其中一种方式

  1. 加密文件并在打开时将其删除
  2. 将其保存到服务器上的远程文件中
  3. 使用数据库