【发布时间】:2023-03-30 04:48:01
【问题描述】:
所以,我一直在用 Java 练习游戏开发。现在我试图通过将数据放入文件来保存用户的进度。但是如果我把它放到一个文本文件中,显然它会很容易访问。存储/散列数据的最佳方式是什么,例如“当前级别、攻击力等”。
谢谢。
【问题讨论】:
-
最好问问Game Development
标签: java storing-data
所以,我一直在用 Java 练习游戏开发。现在我试图通过将数据放入文件来保存用户的进度。但是如果我把它放到一个文本文件中,显然它会很容易访问。存储/散列数据的最佳方式是什么,例如“当前级别、攻击力等”。
谢谢。
【问题讨论】:
标签: java storing-data
这将是一个模糊的答案。
如果您只是不希望它是一个文本文件,您可以使用您正在使用的语言的二进制序列化来编写一个二进制文件。
作为第二步,您可以考虑加密您的文件。
但是,无论您做什么,或者您多么努力,只要所有数据都存储在客户端上,那么您的用户仍然可以更改它们。
如果您由于空间限制不想远程存储所有信息,您可以只远程存储文件哈希并验证它没有被篡改。
【讨论】:
您可以加密日期并将其存储在文本文件中。加密将阻止用户对其进行修改。
【讨论】:
您可以使用sqlite,它是一个基于文件的数据库。支持encryption以及多种操作系统,安装使用方便!
阅读更多相关信息here。
【讨论】:
实现这一点的一个非常简单的方法是使用序列化。它允许您直接获取您的 java 对象并将其保存为当前状态。一个很好的教程是http://www.mkyong.com/java/how-to-write-an-object-to-file-in-java/
轻松读取和更改此数据的唯一方法是访问创建它的 java 类。
【讨论】: