Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 基于移动和时间的游戏分数计算算法_Java_Android - Fatal编程技术网

Java 基于移动和时间的游戏分数计算算法

Java 基于移动和时间的游戏分数计算算法,java,android,Java,Android,我正在制作一个由动作和时间组成的益智游戏 显然,你在游戏结束时的动作越多,就意味着你比完成时剩下的动作少的时候做得更好或达到一个水平 时间从0开始计数,直到玩家完成关卡。玩家完成关卡所需的时间越短,这意味着他/她比花大量时间完成关卡做得更好 既然如此,那么使用这些信息计算球员最终得分等于1000分以上的最佳方法是什么呢 我知道对你们中的一些人来说,这可能是一项简单的任务,但我只是想在这方面得到一些指导 非常感谢 这太主观了。你为什么不决定什么是合适的呢 你需要决定哪个更重要:移动的次数,还是速度

我正在制作一个由动作和时间组成的益智游戏

显然,你在游戏结束时的动作越多,就意味着你比完成时剩下的动作少的时候做得更好或达到一个水平

时间从0开始计数,直到玩家完成关卡。玩家完成关卡所需的时间越短,这意味着他/她比花大量时间完成关卡做得更好

既然如此,那么使用这些信息计算球员最终得分等于1000分以上的最佳方法是什么呢

我知道对你们中的一些人来说,这可能是一项简单的任务,但我只是想在这方面得到一些指导


非常感谢

这太主观了。你为什么不决定什么是合适的呢

你需要决定哪个更重要:移动的次数,还是速度

然后,为其中一个制定一个合适的惩罚,并制定一个分数乘数,使你的分数在一个合理的范围内

就个人而言,我会首先提供按移动排序的原始统计数据,然后提供按时间排序的原始统计数据。例如:

Moves       Time
10          02:30
15          02:00
15          02:35
20          01:50

在这里,我使用了使用的移动次数,而不是剩余的移动次数。你的描述令人困惑。

帕迪说了什么。另一方面,你可以去

(1/sqrt(time) + 2/(moves^2))*1000

这至少可以确保所用的时间和所做的动作与玩家得到的分数成反比。按照这个公式移动的次数等于时间的4次方,这可能是杀伤力过大。

我同意!谢谢你引起我的注意。问题是每个关卡都有一定数量的动作,这取决于关卡的设置或难度。所以我还是可以用你的方法。但是,例如,如果一个用户对一个关卡有4个移动,并使用其中的2个移动,并在10秒内完成关卡。你会建议如何计算这种格式的分数?或者为每个难度级别设置一组不同的排名,或者做一些事情,比如使用的总动作百分比乘以所花费的时间,这样就可以得到较低的分数。我喜欢这个公式。在这种情况下,sqrt是什么?平方根。秒数应该在10-150之间,我想这会很快降低分数。不过,移动^2可能有点过火了。在我的例子中,秒数从0开始计算。那么,在这种情况下,代码是否需要更改?是的,但我不希望这些谜题能在10秒内解决,对吗?在某些情况下是的。这取决于层次的复杂性。如果你了解游戏的背景,你就会明白为什么。在大多数情况下,我对此表示怀疑,但如果有人这样做,我仍然想做好准备。