行星发动机控制系统源码(由DeepSeek生成)

由于B站非常淦的代码块功能,在这里也放一份。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
import time
import random

class PlanetaryEngine:
def __init__(self, engine_id):
self.engine_id = engine_id
self.status = "OFFLINE"
self.plasma_output = 0 # 单位:万兆焦耳
self.thrust_level = 0 # 推力级别 0-100%
self.core_temp = 300 # 核心温度(K)
self.hydraulic_pressure = 0 # 液压压力(MPa)
self.fuel_level = 100 # 聚变燃料剩余百分比

# 安全阈值
self.MAX_TEMP = 5000 # 最高耐受温度
self.MAX_PRESSURE = 300 # 最大液压压力
self.COOLANT_RATE = 50 # 冷却速率(K/s)

def startup_sequence(self):
"""启动序列"""
if self.status != "OFFLINE":
print(f"发动机 {self.engine_id} 启动失败:非离线状态")
return False

print(f"正在启动发动机 {self.engine_id}...")
self._change_status("BOOTING")

# 模拟启动过程
for step in ["初始化反应堆", "点燃等离子体", "建立磁场约束", "启动液压系统"]:
time.sleep(1)
print(f"▶ {step}...")
if not self._check_sensors():
self.emergency_shutdown()
return False

self._change_status("STANDBY")
print("启动完成,待命状态")
return True

def adjust_thrust(self, percentage):
"""调整推力级别"""
if self.status not in ["STANDBY", "OPERATIONAL"]:
print("错误:发动机未就绪")
return

target = max(0, min(100, percentage))
print(f"正在调整推力至 {target}%...")

while abs(self.thrust_level - target) > 1:
delta = 1 if target > self.thrust_level else -1
self.thrust_level += delta
self._update_physics()

if not self._check_sensors():
self.emergency_shutdown()
return

time.sleep(0.1)

self._change_status("OPERATIONAL")
print(f"当前推力稳定在 {self.thrust_level}%")

def _update_physics(self):
"""物理状态更新"""
# 模拟物理参数变化
self.plasma_output = 150 * self.thrust_level
self.core_temp = 3000 + 20 * self.thrust_level + random.randint(-50,50)
self.hydraulic_pressure = 200 * (self.thrust_level/100)**2
self.fuel_level -= 0.01 * self.thrust_level

def _check_sensors(self):
"""安全监测"""
if self.core_temp > self.MAX_TEMP:
print(f"!核心温度超标:{self.core_temp}K")
return False
if self.hydraulic_pressure > self.MAX_PRESSURE:
print(f"!液压压力超标:{self.hydraulic_pressure}MPa")
return False
if self.fuel_level < 5:
print("!聚变燃料不足")
return False
return True

def emergency_shutdown(self):
"""紧急关闭程序"""
print("\n!触发紧急关闭协议!")
self._change_status("EMERGENCY")

# 快速冷却过程
while self.core_temp > 500:
self.core_temp -= self.COOLANT_RATE
print(f"核心温度冷却中:{self.core_temp:.1f}K")
time.sleep(0.5)

self.thrust_level = 0
self._change_status("OFFLINE")
print("发动机已安全关闭")

def _change_status(self, new_status):
self.status = new_status
print(f"状态更新 ▶ {new_status}")

def display_status(self):
"""显示当前状态"""
print(f"\n发动机 {self.engine_id} 状态:")
print(f"| 运行状态: {self.status}")
print(f"| 当前推力: {self.thrust_level}%")
print(f"| 核心温度: {self.core_temp}K")
print(f"| 液压压力: {self.hydraulic_pressure}MPa")
print(f"| 燃料剩余: {self.fuel_level:.1f}%")
print(f"| 等离子体输出: {self.plasma_output}万兆焦耳")

# 测试程序
if __name__ == "__main__":
engine = PlanetaryEngine("CN-171-01")

while True:
print("\n可用命令:")
print("1. startup - 启动发动机")
print("2. thrust [百分比] - 调整推力")
print("3. status - 显示状态")
print("4. shutdown - 正常关闭")
print("5. exit - 退出程序")

cmd = input(">>> ").lower().split()

if not cmd:
continue

if cmd[0] == "exit":
break

elif cmd[0] == "startup":
engine.startup_sequence()

elif cmd[0] == "thrust" and len(cmd) > 1:
try:
engine.adjust_thrust(float(cmd[1]))
except ValueError:
print("错误:无效的推力值")

elif cmd[0] == "status":
engine.display_status()

elif cmd[0] == "shutdown":
engine.emergency_shutdown()

else:
print("未知命令")