之前已介紹過 Computer, Advanced Computer, Pocket Computer
各式各樣的電腦
今天開始,主題就是小烏龜 Turtle 囉!
先來看看小烏龜的組合公式
從組合公式來解讀,可以理解小烏龜也是電腦,只是多了額外的儲物箱
同樣的,程式碼也都一樣,差別在於有些程式可以執行,有些不行,以及預設的 PATH 路徑不同
小烏龜就是多了
/rom/apis/turtle/ 以及 /rom/programs/turtle/
那麼同樣的程式碼,電腦如何判斷?如果是小烏龜的話,會預設有一個全域的 turtle 變數,值是 empty table
以下是在 bios.lua 判斷是否要載入 turtle API
if turtle and fs.isDir("rom/apis/turtle") then
-- Load turtle APIs
local tApis = fs.list("rom/apis/turtle")
for _, sFile in ipairs(tApis) do
if string.sub(sFile, 1, 1) ~= "." then
local sPath = fs.combine("rom/apis/turtle", sFile)
if not fs.isDir(sPath) then
if not os.loadAPI(sPath) then
bAPIError = true
end
end
end
end
end
startup.lua 判斷要設定的 PATH 路徑
if turtle then
sPath = sPath .. ":/rom/programs/turtle"
else
sPath = sPath .. ":/rom/programs/rednet:/rom/programs/fun"
if term.isColor() then
sPath = sPath .. ":/rom/programs/fun/advanced"
end
end
從小烏龜的 PATH 設定可以發現,預設是不能執行 run 以及 advanced 資料夾的程式
這包括 paint, redirection, 魔術方塊 falling, dj, rednet
也就是官方不推薦你用小烏龜來跑這些程式,因為不是小烏龜的主要用途
那實際上能跑嗎?大部分還是可以的,輸入完整路徑即可喔
來看看這一長排都是小烏龜,是不是很興奮呢!
其實,這只是一小部分喔,根據實驗,小烏龜的種類非常多 ...
但基本組合公式是不變的
以上公式在 Advanced Turtle 也一樣
Advanced Turtle + Wireless Modem = Advanced Wireless Turtle
依此類推
只有這樣嗎?可不只喔!
小烏龜的組合公式非常靈活
一隻小烏龜可以加上兩個週邊設備
所以還可以繼續組裝如下
那小烏龜可以安裝 Wired Modem 和 Networking Cable 嗎?
抱歉不行!你只能透過工作台組裝小烏龜,不能直接在小烏龜身上放任何週邊設備
從小烏龜的組合公式可以看出,它主要是代替我們去挖礦、砍樹、鏟沙土、砍怪、種植、組合
利用程式碼,自動化操作小烏龜照我們的設計來作業
下一回就讓它們一一動工起來吧!