Advertisement
jam_san

harvest1

Jun 18th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.44 KB | None | 0 0
  1.  
  2. -- ################################
  3. -- 9*9の小麦畑を収穫するプログラム vol.1
  4. -- ################################
  5.  
  6. -- #############
  7. -- setting
  8. --  チェスト位置を収穫のスタート地点とする
  9. --|W|W|W|W|W|W|W|W|W|
  10. --|W|W|W|W|W|W|W|W|W|
  11. --|W|W|W|W|W|W|W|W|W|
  12. --|W|W|W|W|W|W|W|W|W|
  13. --|W|W|W|W| |W|W|W|W|
  14. --|W|W|W|W|W|W|W|W|W|
  15. --|W|W|W|W|W|W|W|W|W|
  16. --|W|W|W|W|W|W|W|W|W|
  17. --|W|W|W|W|W|W|W|W|W| W:小麦(wheat)
  18. --                |C| C:チェスト(chest)
  19. --                    空欄には水源
  20.  
  21. -- 最初に決められたスロットにアイテムを入れておくこと
  22. WHEAT_SLOT = 1  --小麦はスロット1
  23. SEED_SLOT = 2   --種はスロット2
  24. FUEL_SLOT = 3   --石炭・木炭はスロット3
  25.  
  26. -- #############
  27. -- define functions
  28. function plantSeedAndHarvest(num) --収穫と種植え
  29.     for i=1,num do
  30.         turtle.select(WHEAT_SLOT)
  31.         turtle.digDown()
  32.         turtle.select(SEED_SLOT)
  33.         turtle.placeDown()
  34.         turtle.forward()
  35.     end
  36.     turtle.select(WHEAT_SLOT)
  37.     turtle.digDown()
  38.     turtle.select(SEED_SLOT)
  39.     turtle.placeDown()
  40.     print "Turn"
  41. end
  42.  
  43. function repeatPSH(num)
  44.     for i=1,num do
  45.         -- 左旋回
  46.         if(i%2 ~= 0) then
  47.             plantSeedAndHarvest(num)
  48.             turtle.turnLeft()
  49.             turtle.forward()
  50.             turtle.turnLeft()
  51.         -- 右旋回
  52.         else
  53.             plantSeedAndHarvest(num)
  54.             turtle.turnRight()
  55.             turtle.forward()
  56.             turtle.turnRight()
  57.         end
  58.     end
  59. end
  60.  
  61. function goBackHome(...)
  62.     --チェストの位置まで戻る
  63.     turtle.turnLeft()
  64.     turtle.turnLeft()
  65.     for i=1,9 do
  66.         turtle.forward()
  67.     end
  68.     turtle.turnLeft()
  69.     for i=1,8 do
  70.         turtle.forward()
  71.     end
  72.     turtle.turnLeft()
  73.     print "I'm home!"
  74. end
  75.  
  76. function inChest(...)
  77.    for i=4,16 do               --スロット1,2,3は預けない
  78.        turtle.select(i)
  79.        r,e = turtle.dropDown() --rはtrueかfalseを返してくれる
  80.        print (e)
  81.    end
  82. end
  83. -- #############
  84. -- Main
  85. print(turtle.getFuelLevel()) -- 燃料を確認
  86. turtle.select(FUEL_SLOT)     -- スロット3には燃料を入れておく
  87. turtle.refuel(2)             -- (9*9 + 9 + 8) < 80*2 で十分足りる
  88. print(turtle.getFuelLevel()) -- 燃料を確認
  89.  
  90. -- 収穫
  91. print "PSH start!"   -- 収穫・種植え開始
  92. turtle.forward()     -- まず1マス進む
  93. repeatPSH(8)
  94. plantSeedAndHarvest(8)
  95. print "PSH finish!"  -- 収穫・種植え終了
  96.  
  97. -- 帰還
  98. goBackHome()
  99.  
  100. -- 荷物を預ける
  101. r = 0
  102. e = 0
  103. inChest()  -- スロット1,2,3は預けない
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement