diff --git a/VE}U52QX)OW~J@X7~HUP5I6.png b/VE}U52QX)OW~J@X7~HUP5I6.png new file mode 100644 index 0000000..6a45207 Binary files /dev/null and b/VE}U52QX)OW~J@X7~HUP5I6.png differ diff --git a/superman.py b/superman.py index 270ac97..d169e87 100644 --- a/superman.py +++ b/superman.py @@ -1,24 +1,34 @@ from decimal import Decimal as De -tick_time, velocity, height = De('0'), De('0'), De('0') -m = De('4610025') -gravity = De('9.798') -R = De('637100') -n = De('0.5943466') -H = De('70000') -F = De('208201000') +a = False +if a: + tick_time, velocity, height = De('0'), De('0'), De('0') + m = De('4610025') + gravity = De('9.798') + R = De('637100') + n = De('0.5943466') + H = De('70000') + F = De('208201000') +else: + tick_time, velocity, height = 0, 0, 0 + m = 4610025 + gravity = 9.798 + R = 637100 + n = 0.5943466 + H = 70000 + F = 208201000 TPS = 20 MSPT = 1 / TPS while True: # 主tick循环 # 基础加速度运算 - add_speed = (F / m) - ((gravity * (R ** 2)) / ((R * tick_time * height) ** 2)) + add_speed = (F / m) - ((gravity * (R ** 2)) / ((R + height) ** 2)) # 出大气层判定 if height < 70000: # 没出大气 加速度需要减去大气阻力 add_speed -= (n * (velocity ** 2) * (10 * (-6 * height) / H)) / m - height += MSPT * velocity # 高度 加 速度除以TPS(tick per second)(每tick加速) - velocity += MSPT * add_speed # 速度 加 加速度除以TPS + height += (MSPT * velocity) # 高度 加 速度除以TPS(tick per second)(每tick加速) + velocity += (add_speed * MSPT) # 速度 加 加速度除以TPS if tick_time < 192: # 一些我也不知道是什么意思的tick判定 - m -= (MSPT * F) / 3399.2 # 3399.2是个啥? + m -= (F * MSPT) / 3399.2 # 3399.2是个啥? elif tick_time < 240: m -= 129 * MSPT # ??? 129? else: @@ -46,4 +56,4 @@ while True: # 主tick循环 tick_time += ((12308300 - height) / velocity) break -print('t: ' + tick_time) +print('t: %s' % tick_time)