Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.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
python游戏高分计算_Python - Fatal编程技术网

python游戏高分计算

python游戏高分计算,python,Python,python代码是否有一个公式可以用来计算变量移动和时间的分数?时间越长得分越低,或者如果移动次数越多,那么时间应该越短 我这样做了,但如果时间越长,分数越低: Score = ((90000000 - (moves/10))*int(seconds/100))/1000000 有很多函数可以满足您的需要。你正在建造的东西可以用一条简单的曲线来建模。那么,您希望曲线的行为如何 你可以有一条直线走向零。或者你可以有一个指数衰减,分数接近零,但从来没有达到它 您必须处理这些值,但用于模拟指数衰减

python代码是否有一个公式可以用来计算变量
移动
时间
的分数?时间越长得分越低,或者如果移动次数越多,那么时间应该越短

我这样做了,但如果时间越长,分数越低:

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