- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在创建一个游戏,我使用一个文件来记录玩家统计数据(速度、级别等),以便您在退出游戏后可以继续使用您的角色。我的问题是在我的测试版本中,我使用基本的 Java Filewriter 来保存/读取统计文件,但有人可以用记事本打开它并更改统计信息(我不想要)。
是否有更安全、更可靠的方法来执行此操作,如果有人可以将教程链接到它?
我听说使用 XML 可能会有所帮助,但我不知道从哪里开始。
最佳答案
首先,一些一般性建议:如果您的所有内容都位于客户端,则您无法采取任何措施来保护它们。你只能增加别人解密它所需的时间。因此,如果您真的担心玩家操纵他们的保存游戏,则必须将您的游戏转变为始终在线的云存储解决方案(这有其自身的问题,而不仅仅是技术问题)。
第二,如果您的游戏不在线,您为什么要阻止玩家编辑他们的保存游戏?很多游戏玩家(包括我)喜欢一些好的故事讲述,但不一定是所有游戏,而且我不止一次达到了不再喜欢玩游戏但想知道故事和角色如何发展的地步,或者我只是想尝试一下。如果没有保存游戏编辑器,我可能会完全脱离游戏,但由于作弊,我很高兴看到其余部分是如何展开的(还有一些内疚的快感一击某些强硬的敌人)。如果玩家想在单人游戏中作弊,为什么不呢?这是他们的经验,可以让他们保持参与度。
防止作弊的两个原因是支持和竞争场景。如果一击中的 Boss 角色阻止了本应以 50% 生命值运行的事件,并且如果我随后提示我的游戏处于无法获胜的状态,那么您需要额外的工作来确定保存游戏被操纵,并且这不是您这边的错误。在竞争方面,如果你有成就或排行榜,作弊者就是一个问题。
但话又说回来,你不可能在 100% 客户端上的游戏中拥有竞争元素,因为你无法采取任何措施来防止篡改。
以下是一些如何让篡改变得更加困难的技巧:
关于java - 如何防止玩家在Java中编辑stat文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15859335/
这个问题在这里已经有了答案: What does the question mark character ('?') mean in C++? (8 个答案) 关闭 7 年前。 这一行我看不懂为什么
在构建模式下甚至可以有两个玩家吗?查看 Roblox 开发者杂志文章“What did you sleigh?”,它在玩家列表中显示了两个“玩家”。 最佳答案 打开 Roblox Studio 转到任
在构建模式下甚至可以有两个玩家吗?查看 Roblox 开发者杂志文章“What did you sleigh?”,它在玩家列表中显示了两个“玩家”。 最佳答案 打开 Roblox Studio 转到任
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
“Clash of Clans”使用 Game Center 对玩家进行身份验证并将其与现有的远程存储游戏状态相关联。 据我所知,游戏仅在客户端提供玩家标识符。是否有支持的技术来安全地验证用户而不是仅
我正在开发多人游戏,但我无法找出如何将其他客户端连接到创建的游戏。我的意思是客户端 A 创建到服务器的套接字连接,其他客户端(A,B ...)如何连接到客户端 A?有人可以帮我吗? 附注我是网络编程新
我正在尝试使用浏览器控制台一步一步地制作井字游戏,并最终改进我的功能。然而,我被困在玩家2回合(ttt_player2_turn()),我必须检查箱子是否为空。看来我在这个例子中的论证有问题。感谢您的
如果我向上移动玩家 1 和玩家 2,假设我按下玩家 1 的向下键,我的玩家将停止向上移动。我找不到问题所在。有人可以帮助我并解释我做错了什么吗? package game; import java.a
我正在创建一个自上而下的 2D 游戏,并且使用 Box2D 来模拟物理,我的问题是: 如何使玩家保持与我的宇宙飞船的相对速度,并且仍然能够在飞船也在移动的情况下围绕我的玩家移动? 我在下面放了一个插图
我是 Java 新手,我正在尝试制作一个简单的游戏来娱乐。我首先尝试将 repaint 放入 PaintComponent() 中,它一直有效,直到我尝试添加一些背景。有谁知道如何让我的玩家在有或没有
//我正在尝试对玩家 2 的代码进行一些编辑,因此我删除了涉及玩家 1 的所有内容。但出于某种原因,如果没有玩家 1 的代码,玩家 2 根本不会执行任何操作。(假设使用 i、j、k 和 l 键 mov
我接到了一项任务,要编写一个由人类玩家和 AI 玩家组成的 NIM 游戏。游戏是“Misere”(最后一个必须拿起一根棍子的人输了)。 AI 应该使用 Minimax 算法,但它正在采取使其输得更快的
我是一名优秀的程序员,十分优秀!