Advertisement
Guest User

haktest

a guest
Aug 24th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 6.81 KB | None | 0 0
  1. print("Haktest")
  2.  
  3. -- leaves: 13
  4. -- brick: 14
  5. -- hout: 15
  6. -- sapling: 16
  7.  
  8. padLengte = 6
  9.  
  10.  
  11.  
  12. function terugNaarStart()
  13.   print("Reset turtle")
  14.   -- en ontvang geen f 200,-
  15.  
  16.   omgeving = bekijkOmgeving()
  17.  
  18.   -- voor sapling:
  19.  
  20.   if((omgeving[0] == 16) and (omgeving[5] == 14)) then
  21.     print("Turtle start wachtend op sapling.")
  22.     for i = 0, padLengte, 1 do
  23.       turtle.back()
  24.     end
  25.     return
  26.   end
  27.  
  28.   -- TODO als tutle uitvalt tijdens planten.
  29.  
  30.   -- Op pad:
  31.   if(omgeving[5] == 14) then
  32.     print("Turtle start op pad")
  33.     for i = 0,3,1 do
  34.       turtle.turnRight()
  35.       if(omgeving[i] == 14) then
  36.         break
  37.       end
  38.     end
  39.     for i = 0, padLengte, 1 do
  40.       turtle.back(padLengte)
  41.     end
  42.     return true
  43.   end
  44.  
  45.   -- in boom:
  46.  
  47.   --hout Boven
  48.   if(omgeving[4] == 15) then
  49.    
  50.     hakOmhoog()
  51.     turtle.digUp()
  52.     turtle.up()
  53.    
  54.     --linksonder:
  55.     if(omgeving[0] ~= 15) then
  56.       print("turtle start links onder")
  57.       turtle.turnRight()
  58.     else
  59.       print("turtle start rechts achter")
  60.     end
  61.     turtle.dig()
  62.     turtle.forward()
  63.     terugNaarStart()    
  64.     return
  65.   end
  66.  
  67.   --hout onder:
  68.   if(omgeving[5] == 15) then
  69.     turtle.back()
  70.     turtle.turnRight()
  71.     turtle.down()
  72.     turtle.down()
  73.     turtle.select(15)
  74.     isLinksBoven = turtle.compare()
  75.     turtle.up()
  76.     turtle.up()
  77.     turtle.turnLeft()
  78.     turtle.forward()
  79.     hakOmlaag()
  80.     if(isLinksBoven) then
  81.       turtle.turnRight()
  82.       turtle.dig()
  83.       turtle.forward()
  84.       terugNaarStart()
  85.       return
  86.     else
  87.       turtle.turnRight()
  88.       turtle.forward()
  89.       turtle.turnRight()
  90.       turtle.back()
  91.       turtle.back()
  92.       turtle.back()
  93.       terugNaarStart()
  94.     end
  95.   end
  96. end
  97.  
  98. function bekijkOmgeving()
  99.  
  100.   omgeving = {}
  101.   for i = 0, 3, 1 do
  102.     if(turtle.detect()) then
  103.       for j = 13, 16, 1 do
  104.         turtle.select(j)
  105.         if(turtle.compare()) then
  106.           omgeving[i] = j
  107.           break
  108.         end
  109.       end
  110.       if(omgeving[i] == nil) then
  111.         print("Onbekend blok gevonden!")
  112.         omgeving[i] = -1
  113.       end
  114.     else
  115.       omgeving[i] = 0
  116.     end
  117.    
  118.     turtle.turnRight()
  119.   end
  120.   if(turtle.detectUp()) then
  121.     for i = 13, 16, 1 do
  122.       turtle.select(i)
  123.       if(turtle.compareUp()) then
  124.         omgeving[4] = i
  125.         break
  126.       end
  127.     end
  128.     if(omgeving[4] == nil) then
  129.       print("Onbekend blok gevonden!")
  130.       omgeving[4] = -1
  131.     end
  132.   else
  133.     omgeving[4] = 0
  134.   end  
  135.   if(turtle.detectDown()) then
  136.     for i = 13, 16, 1 do
  137.       turtle.select(i)
  138.       if(turtle.compareDown()) then
  139.         omgeving[5] = i
  140.         break
  141.       end
  142.     end
  143.     if(omgeving[5] == nil) then
  144.       print("Onbekend blok gevonden!")
  145.       omgeving[5] = -1
  146.     end
  147.   else
  148.     omgeving[5] = 0
  149.   end
  150. return omgeving
  151. end
  152.  
  153.  
  154. function plantSapling()
  155.   print("Plant sapling")
  156.   turtle.forward()
  157.   turtle.select(16)
  158.   turtle.place()
  159.   turtle.turnRight()
  160.   turtle.forward()
  161.   turtle.turnLeft()
  162.   turtle.place()
  163.   turtle.back()
  164.   turtle.place()
  165.   turtle.turnLeft()
  166.   turtle.forward()
  167.   turtle.turnRight()
  168.   turtle.place()
  169. end
  170.  
  171. function hakOmhoog()
  172.   hoogte = 0
  173.   turtle.select(15)
  174.   while(true) do
  175.     if(turtle.compareUp() == true) then
  176.       hoogte = hoogte + 1
  177.       turtle.digUp()
  178.       turtle.up()
  179.     else
  180.       break
  181.     end
  182.     if(turtle.getItemCount(15) == 0) then
  183.       if(hoogte > 200) then
  184.          break
  185.       end
  186.     end      
  187.   end
  188. end
  189.  
  190. function hakOmlaag()
  191.   turtle.select(15)
  192.   while(true) do
  193.     if(turtle.compareDown() == true) then
  194.       turtle.digDown()
  195.       turtle.down()
  196.     else
  197.       break
  198.     end
  199.   end
  200. end
  201.        
  202.  
  203. function hakBoom()
  204.   print("Boom wordt gekapt.")
  205.   turtle.select(15)
  206.   turtle.dig()
  207.   turtle.forward()
  208.  
  209.   hakOmhoog()
  210.  
  211.   turtle.dig()
  212.   turtle.forward()
  213.   turtle.digUp()
  214.   turtle.up()
  215.   turtle.digUp()
  216.   turtle.down()
  217.   hakOmlaag()
  218.  
  219.   turtle.turnRight()
  220.   turtle.dig()
  221.   turtle.forward()
  222.   hakOmhoog()
  223.   turtle.turnRight()
  224.   turtle.dig()
  225.   turtle.forward()
  226.   turtle.digUp()
  227.   turtle.up()
  228.   turtle.digUp()
  229.   turtle.down()
  230.   hakOmlaag()
  231.   turtle.forward()
  232.   turtle.turnRight()
  233.   turtle.forward()
  234.   turtle.turnLeft()
  235. end
  236.  
  237.  
  238. function tankBij()
  239.   selectedSlot = turtle.getSelectedSlot()
  240.   turtle.select(15)
  241.  
  242.   while(turtle.getFuelLevel() < 0.9*turtle.getFuelLimit()) do
  243.     turtle.refuel(1)
  244.     if(turtle.getItemCount(15) < 10) then
  245.       break
  246.     end
  247.   end
  248.  
  249.   turtle.select(selectedSlot)
  250.  
  251.   if(turtle.getFuelLevel() < 1000) then
  252.     return false
  253.   end
  254.   return true
  255. end
  256.  
  257.  
  258. function detecteerBoom()
  259.   -- return 1 als boom
  260.   -- return 0 als sapling
  261.   -- return -999 als anders
  262.  
  263.   turtle.select(15)
  264.   if(turtle.compare() == true) then
  265.     return 1
  266.   end
  267.   turtle.select(16)
  268.   if(turtle.compare()) then
  269.     return 0
  270.   end
  271.   return -999
  272. end
  273.  
  274.  
  275.  
  276. function startTurtle()
  277.  
  278.   if(turtle.getItemCount(13)<1) then
  279.     print("Geen leaves: probleem")
  280.     return false
  281.   end
  282.  
  283.   if(turtle.getItemCount(14) < 1) then
  284.     print("Geen bricks: probleem")
  285.     return false
  286.   end
  287.    
  288.   if(turtle.getItemCount(15)<8) then
  289.     print("Geen hout: probleem")
  290.     return false
  291.   end
  292.  
  293.   if(turtle.getItemCount(16) < 12) then
  294.     print("Geen sapling: probleem")
  295.     return false
  296.   end
  297.  
  298.   omgeving = bekijkOmgeving()
  299.   for i=0, 5, 1 do
  300.     if(omgeving[i] > 12 and omgeving[i] < 17) then
  301.       omgevingBekend = true
  302.       break
  303.     end
  304.   end
  305.  
  306.   if(omgevingBekend == false) then
  307.     return false
  308.   end
  309.  
  310.   terugNaarStart()
  311.  
  312.  
  313.   tankBij()
  314.  
  315.   for i = 0, padLengte-2, 1 do    
  316.     turtle.select(13)
  317.     if(turtle.compare() == true) then
  318.       turtle.dig()
  319.     end  
  320.  
  321.     turtle.forward()
  322.   end
  323.  
  324.   if(turtle.detect() == false) then
  325.     plantSapling()
  326.   end
  327.  
  328.  
  329.   timer = 0
  330.   while(true) do
  331.     boomCode = detecteerBoom()
  332.     -- 0 als sapling, 1 als boom -999 anders
  333.  
  334.     if(boomCode == 1) then
  335.       print("Boom volgroeid")
  336.       break
  337.     end
  338.     if(boomCode < 0) then
  339.       print("Saplings gestolen!")
  340.       os.sleep(20)
  341.     end
  342.     os.sleep(10)  
  343.     timer = timer + 1
  344.  
  345.     if(timer % 6 == 0) then
  346.       print(timer/60)
  347.     end
  348.   end
  349.  
  350.   -- Eindelijk, hak de boom om.
  351.  
  352.   hakBoom()
  353.  
  354.  
  355.   for i = 0, padLengte-2, 1 do
  356.     turtle.select(13)
  357.     if(turtle.compare() == true) then
  358.       turtle.dig()
  359.     end
  360.     turtle.forward()
  361.   end
  362.  
  363.   for i = 1, 12, 1 do
  364.     turtle.select(i)
  365.     turtle.drop()
  366.   end
  367.  
  368.  
  369.   turtle.select(16)
  370.   turtle.suckUp(turtle.getItemSpace())
  371.   turtle.turnRight()
  372.   turtle.turnRight()
  373.  
  374.   tankBij()
  375.   return true
  376. end
  377.  
  378.  
  379. aantalBomen = 0
  380. while(startTurtle()) do
  381.   aantalBomen = aantalBomen + 1
  382.   if(aantalBomen % 10 == 0 ) then
  383.     print("Al " .. tostring(aantalBomen) .. " omgehakt zonder reset!")
  384.   end
  385. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement