0

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

希望有人可以提出解决此问题的最佳方法。

4

5 回答 5

1

如果保持分数保密且不可编辑非常重要,我建议您将所有玩家的分数存储在只有您控制的安全服务器上,或者如果这超出您的项目范围,请使用加密方法并同时存储分数作为二进制数据(即存储您的游戏状态对象,而不是分数本身)而不是文本文件。

于 2012-04-17T10:22:50.500 回答
1

任何应用程序。可以使用Java Web Start 启动具有 GUI并使用PersistenceService. 最终用户不容易访问持久性服务中的数据。这是一个小演示。的持久化服务

至于如何存储数据,如果防止用户更改数据不是绝对重要的,我会使用Properties对象或 XML/POJO。

如果它非常重要(例如,玩家争夺 10,000 美元的奖金),请加密这些值,然后使用远程服务器进行加密(等等)。

于 2012-04-17T10:40:19.800 回答
0

您可以使用一种或另一种方式加密文件,因此它不容易编辑(因此,编辑尝试可能会损坏乐谱。)是一个简单的 AES 字符串加密示例。

于 2012-04-17T10:21:42.177 回答
0

你试过什么?这对我来说似乎是某种家庭作业。

您可以使用 Java 读取和写入文件。您还可以进行对象序列化或使用嵌入式数据库。

更新: 我建议将所有信息存储在服务器的数据库中。有很多方法可以做到这一点。具体实现将取决于您的后端。

于 2012-04-17T10:23:23.313 回答
0

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

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

  1. 加密文件并在打开时解密
  2. 将其保存到服务器上的远程文件中
  3. 使用数据库
于 2012-04-17T10:23:52.963 回答