SHARE
TWEET

CC: exercise7_1

hevohevo May 19th, 2016 63 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- exercise7_1
  2. -- cyclone4プログラムの改造
  3.  
  4. -- ######### Config #########
  5. local args = {...}
  6.  
  7. local maxDepth = 10 -- 掘る深さのデフォルト値を10にする
  8. if args[1] then -- もしパラメータが入力されていたら、
  9.   maxDepth = args[1] -- パラメータを掘る深さとして代入。
  10. end
  11.  
  12. -- ######### Function #########
  13. function kaitenChokkabori(shita)  -- shita回だけ回転直下掘り
  14.   local count = 0 -- 真下に移動した回数をカウントする変数
  15.  
  16.   for i=1,shita do
  17.     for j=1,4 do  -- 一回転しつつ正面採掘
  18.       turtle.turnLeft()
  19.       turtle.dig()
  20.     end
  21.  
  22.     turtle.digDown() -- 直下掘り
  23.  
  24.     if turtle.down() then
  25.       count = count + 1  -- 真下移動に成功したらcountの値を1増加
  26.     else
  27.       break  -- 真下移動に失敗したらforループを抜ける
  28.     end
  29.   end
  30.  
  31.   return count  -- 戻り値としてcountを返す
  32. end
  33.  
  34. function backToHome(ue)  -- ue回だけ上昇する
  35.   -- 元の位置より一歩下の位置まで戻る
  36.   for i=1,ue - 1 do
  37.     turtle.up()
  38.   end
  39.   -- 四方の正面にブロック設置
  40.   for j=1,4 do
  41.     turtle.place()
  42.     turtle.turnRight()
  43.   end
  44.   -- 一歩上に移動し、真下にブロック設置
  45.   turtle.up()
  46.   turtle.placeDown()
  47. end
  48.  
  49. -- ######### Main #########
  50. -- 燃料補給
  51. turtle.select(1)
  52. turtle.refuel()
  53.  
  54. local depth = kaitenChokkabori(maxDepth)
  55. print("depth: ", depth)
  56. backToHome(depth)
RAW Paste Data
Top