python游戏高分计算
python代码是否有一个公式可以用来计算变量python游戏高分计算,python,Python,python代码是否有一个公式可以用来计算变量移动和时间的分数?时间越长得分越低,或者如果移动次数越多,那么时间应该越短 我这样做了,但如果时间越长,分数越低: Score = ((90000000 - (moves/10))*int(seconds/100))/1000000 有很多函数可以满足您的需要。你正在建造的东西可以用一条简单的曲线来建模。那么,您希望曲线的行为如何 你可以有一条直线走向零。或者你可以有一个指数衰减,分数接近零,但从来没有达到它 您必须处理这些值,但用于模拟指数衰减
移动
和时间
的分数?时间越长得分越低,或者如果移动次数越多,那么时间应该越短
我这样做了,但如果时间越长,分数越低:
Score = ((90000000 - (moves/10))*int(seconds/100))/1000000
有很多函数可以满足您的需要。你正在建造的东西可以用一条简单的曲线来建模。那么,您希望曲线的行为如何 你可以有一条直线走向零。或者你可以有一个指数衰减,分数接近零,但从来没有达到它 您必须处理这些值,但用于模拟指数衰减的公式是
N*math.exp(-x)
,其中N是最大点数,x是时间和移动次数的加权组合。比如说,
x=A*时间+B*移动#其中x和Y是您选择的一些乘数
不过,线性曲线是最简单的。只需计算一个如上图所示的值x,然后从你的最高分数中减去它即可
N
。如果结果分数低于零,则将其设置为零,这就是您的输出。请参阅。我们需要看一些代码,看看你尝试了什么,等等,这取决于具体情况。一个简单的解决方案可能是score=maxScore-k1*时间-k2*移动
@frederick99,但是k1和k2指向什么?k1和k2
是常数,可以根据权重time
和移动
计算分数而变化。如果你认为没有任何动作比在更短的时间内完成游戏更重要,k2
将比k1
更重要。至少,你应该与时间成反比,而不是成正比:使用/
而不是*
,在计算结束之前不要转换为int
。