Advertisement
Guest User

build

a guest
Jul 23rd, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.49 KB | None | 0 0
  1. --turtle_build.exe
  2.  
  3. slt = 2 --Eerste slot om blokken te plaatsen, gaat in dit geval tot 16, maar we kunnen dit veranderen om meerdere voorwerpen toe te voegen.
  4.  
  5. hgt = 0
  6. wdth = 0
  7. lngt = 0
  8. fndtnc = 0
  9.  
  10. --Turtle vraagt om dimensies, legt uit welke slots
  11. --wat doen, en verteld hoeveel materiaal per
  12. --onderdeel (wall, floor, roof) nodig is
  13.    
  14. function testInv() --test of er nog blokken beschikbaar zijn
  15.   while turtle.getItemCount(slt) == 0 do
  16.    
  17.      slt = slt + 1
  18.      if slt == 17 then
  19.         print("Refill blocks please, press any key to continue")
  20.         os.pullEvent(key)
  21.         slt = 2
  22.      end
  23.      turtle.select(slt)
  24.   end
  25.  
  26. end
  27.      
  28. function testfuel()--test of turtle moet bijtanken
  29.   if turtle.getFuelLevel() == 0 then
  30.     turtle.select(1)
  31.      
  32.     while turtle.getItemCount(1) == 0 do --als de brandstofreserve op is dan is spelerinteractie vereist
  33.       print("Refill fuel please, press any key to continue")
  34.       os.pullEvent("key")
  35.     end
  36.    
  37.     turtle.refuel(1)
  38.     turtle.select(slt)
  39.   end
  40. end  
  41.  
  42.  
  43. function buildBlock() --Turtle bouwt een blok en gaat naar voren
  44.   testfuel()
  45.   testInv()
  46.   turtle.placeDown()
  47.   turtle.forward()
  48. end
  49.  
  50. function lengteMuur() --Bouw het lengtedeel van de muur
  51.   for op = 2, lngt, 1 do
  52.     buildBlock()
  53.   end
  54. end
  55.  
  56. function breedteMuur() --Bouw het breedtedeel van de muur
  57.   for op = 2, wdth, 1 do
  58.     buildBlock()
  59.   end
  60. end
  61.  
  62. function verdiepingMuur() --Maakt de verdiepingen voor de muren
  63.   for t=1, hgt, 1 do
  64.     lengteMuur()
  65.     turtle.turnRight()
  66.     breedteMuur()
  67.     turtle.turnRight()
  68.     lengteMuur()
  69.     turtle.turnRight()
  70.     breedteMuur()
  71.     turtle.up()
  72.     turtle.turnRight()
  73.   end
  74. end
  75.  
  76. function funderingGraaf() --Graaft de fundering uit
  77.   if fndtn == "Y" then
  78.     testfuel()
  79.     turtle.digDown()
  80.     turtle.down()
  81.  
  82.     for op=1, wdth, 1 do
  83.    
  84.       for dg=1, lngt-1, 1 do
  85.         testfuel()
  86.         turtle.dig()
  87.         turtle.forward()
  88.      
  89.       end
  90.      
  91.       if ((op % 2) == 0) and (op<wdth) then
  92.         testfuel()
  93.         turtle.turnLeft()
  94.         turtle.dig()
  95.         turtle.forward()
  96.         turtle.turnLeft()
  97.       elseif ((op%2) == 1) and (op<wdth) then
  98.         testfuel()
  99.         turtle.turnRight()
  100.         turtle.dig()
  101.         turtle.forward()
  102.         turtle.turnRight()
  103.       end
  104.        
  105.     end
  106.     --Return to start
  107.     testfuel()
  108.     turtle.up()
  109.    
  110.     if (wdth % 2)==1 then --wanneer oneven breedte moet de turtle eerst over de lengte terug
  111.    
  112.       turtle.turnLeft()
  113.    
  114.       for op=1, wdth-1, 1 do
  115.         testfuel()
  116.         turtle.forward()
  117.       end
  118.      
  119.       turtle.turnRight()
  120.      
  121.       for op = 1, lngt - 1, 1 do
  122.         testfuel()
  123.         turtle.back()
  124.       end
  125.    
  126.     else --als de breedte even is
  127.       turtle.turnRight()
  128.      
  129.       for op=1, wdth-1, 1 do
  130.         testfuel()
  131.         turtle.forward()
  132.       end
  133.      
  134.       turtle.turnRight()
  135.    
  136.     end
  137.      
  138.   end
  139.    
  140. end
  141.  
  142.    
  143.  
  144.  
  145. print("lengte?")
  146.   lngt = tonumber(read())
  147.  
  148. print("Breedte?")
  149.   wdth = tonumber(read())
  150.  
  151.  
  152. print("Hoogte?")
  153.   hgt = tonumber(read())
  154.  
  155. while fndtnc == 0 do
  156.   print("Fundering? Y/N")
  157.   fndtn = string.upper(read())
  158.  
  159.   if (fndtn == "Y") or (fndtn == "N") then
  160.     fndtnc = fndtnc + 1
  161.   end
  162.   print("Error on input")
  163. end
  164.  
  165.  
  166. print("lengte = " .. lngt)
  167. print("Breedte = " .. wdth)
  168. print("Hoogte = " .. hgt)
  169.  
  170. funderingGraaf()
  171. verdiepingMuur()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement