标签: python
是否有一个公式可以用于python代码来计算变量moves和time的分数?分数越低,或者如果移动次数越多,那么时间就越长。
moves
time
我做到了这一点,但如果时间越长,得分就越低:
Score = ((90000000 - (moves/10))*int(seconds/100))/1000000
答案 0 :(得分:0)
有很多功能可以满足您的需求。您正在构建的内容可以通过简单的曲线建模。那么你希望曲线如何表现?
您可以使线性曲线直线逼近零。或者你可以指数衰减,其中分数接近零但从未到达。
您必须使用这些值,但建模指数衰减的公式为N*math.exp(-x),其中N是最大点数,x是时间和移动次数的加权组合。例如,
N*math.exp(-x)
x = A * time + B * moves #where X and Y are some multipliers of your choice
线性曲线最简单。只需计算如上所示的值x,然后从最高分数N中减去它。如果得分低于零,则将其设置为零,这是您的输出。
N