読者です 読者をやめる 読者になる 読者になる

茜コンピューターズ! part 1 での使用プログラム

この動画で使ったプログラムです。魔改造前のシンプルな状態です。
こんなんで動くのか感をお楽しみください。
魔改造後のものは、時間効率や燃料効率を取得できるようにした上でpart 1.5で使用予定なので、その際に紹介します。

注意

大してテストしてないので動いたり動かなかったりするかもしれません。

pastebin

pastebinにも貼ってあります。
[Lua] turi.lua - Pastebin.com
タートルのGUIで以下のコマンドを実行すると、タートル内に直接ダウンロードできます。

pastebin get 1RrfxkuS turi.lua

turi.lua

-- タートルが釣りするよ
local function turi()
  while true do -- メインループや
    print('turude')
    turtle.attack() -- 釣り開始やで
    sleep(30) -- ちょっと待つよ
    if turtle.dig() then -- 釣り上げるで
      print('tureta')
    else
      print('turen katta')
    end
  end
end

-- 持っとるアイテムを上のチェストに入れるよ
local function simattyaoune()
  while true do -- このメインループや
    for i = 1, 16 do -- タートルのインベントリスロットを順番に見てくよ
      print('slot '.. tostring(i) ..' wo siraberu yo')
      if turtle.getItemDetail(i) then -- スロットが空かどうか調べるよ
        print('simau de')
        turtle.select(i)
        turtle.dropUp() -- 空じゃなかったからチェストに入れるよ
        turtle.select(1) -- 用が済んだら選択スロットを戻しとくんのが乙女のたしなみやで
      end
      sleep(1)
    end
  end
end

-- 燃料がなかったら補給するよ
local function hokyu()
  while true do -- メインループや
    print('nenryo kakunin ya')
    if turtle.getFuelLevel() < 100 then -- 燃料がまだあるか見るよ
      print('hokyu surude')
      turtle.select(16) -- インベントリの最後のスロットを使うよ
      turtle.suckDown() -- 燃料無いから下のチェストから出すよ
      if turtle.refuel() then -- 燃料補給やで
        print('hokyu sitayo (FL:'.. tostring(turtle.getFuelLevel()) ..')')
      else
        print('hokyu dekin katta') -- できんかった
      end
      turtle.select(1) -- 乙女のたしなみや
    end
    sleep(60) -- しばらく待機するで
  end
end

parallel.waitForAny(turi, simattyaoune, hokyu)