采冰火箭代碼
alias 控制開關(guān) d0????????????????????????#火箭發(fā)射與召回開關(guān)
alias 處理器 d1????????????????????????????#自動化火箭控制套件
define 冰開采模塊 74521920????? ?#冰和礦石開采的資源放入筒倉,氣體開采的氣體放入燃料箱
#可放多個開采模塊,加快開采速度
alias 燃料泵 d3????????????????????
alias 筒倉 d4 ????????????????????????????????#火箭筒倉套件
define 油箱容量 16000???????????????? #加燃料到多少發(fā)射
#發(fā)射與降落都需要500燃料,一次成功發(fā)射不得少于1000,盡量別把燃料浪費在頻繁起降上
define 貨倉容量 580 ????????????????????#開采到多少返航
發(fā)射前自檢:
yield
l r0 處理器 Fuel ????????????????????????????#讀取燃料數(shù)量
slt r0 r0 油箱容量??????????????????????????#燃料低于油箱容量輸出1
s 燃料泵 On r0????????????????????????????? #連接燃料管和火箭燃料箱
bnez r0 發(fā)射前自檢???????????????????????
l r0 控制開關(guān) Setting
beqz r0 發(fā)射前自檢 ????????????????????????#=0時不發(fā)射火箭
s 處理器 Activate 1 #對火箭下達發(fā)射指令
升空過程:
yield
l r0 處理器 Mode ????????????????????????????#讀取火箭當(dāng)前模式,從地面到太空不是瞬間的
bne r0 4 升空過程 ??????????????????????????#太空待命模式=4,不等于4循環(huán)等待
勘探開采:
yield
l r0 控制開關(guān) Setting
beqz r0 返航 ????????????????????????????????????#=0時返航
jal 返航燃料檢查
l r0 筒倉 Quantity
bgt r0 貨倉容量 返航
l r0 處理器 CollectableGoods ????????????#箭載開采設(shè)備勘探資源,有資源返回1,否則返回0
sb 冰開采模塊 Activate r0 ????????????????? #=1時開采,=0時停止,如有礦石開采設(shè)備要相應(yīng)加上
beqz r0 探索新資源點???????????????????????? #=0時,關(guān)閉開采設(shè)備并探索新資源點
j 勘探開采
探索新資源點:
yield
l r0 控制開關(guān) Setting
beqz r0 返航 ????????????????????????????????????????#=0時返航
jal 返航燃料檢查
s 處理器 Activate 2 ?????????????????????????????#對火箭下達點火指令,模式2
sleep 2 ????????????????????????????????????????????????#點火二秒
s 處理器 Activate 4 ?????????????????????????????#進入太空待命模式,模式4
停運引擎中: ????????????????????????????????????????#引擎熄火中是模式3,熄火完成后自動跳到模式4
yield
l r0 CPU Mode????
bne r0 4 停運引擎中????
l r0 處理器 CollectableGoods ????????????? ??
beq r0 1 勘探開采
j 探索新資源點
返航:
yield
sb 冰開采模塊 Activate 0 ????????????????????#關(guān)閉開采設(shè)備,如有礦石開采設(shè)備要相應(yīng)加上
s 處理器 Activate 5 ?????????????????????????????#對火箭下達著陸指令,模式5
返航過程:
l r0 處理器 Mode
beqz r0 卸貨????????????????????????????????????????#著陸需要時間,不是瞬間的,模式=0時說明著陸完成
j 返航過程
卸貨:
yield
l r0 筒倉 Quantity
snez r0 r0 ????????????????????????????????????????????#不等于0說明有物品
s 筒倉 Open r0
beqz r0 發(fā)射前自檢
j 卸貨
返航燃料檢查:
l r0 處理器 Fuel???????????????????????????????? #讀取燃料數(shù)量
l r1 處理器 ReturnFuelCost????????????????#讀取返航需要的燃料
add r1 r1 50????????????????????????????????????????#返航燃料加上冗余,暫定為50
blt r0 r1 返航 ??????????????????????????????????????#庫存燃料低于返航燃料,進入返航程序
j ra