Advertisement
Birog

Flaeche_Bauen

Nov 2nd, 2019
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 7.62 KB | None | 0 0
  1. a=0
  2. shell.run("clear")
  3. print()
  4. print(" ______________________________________ ")
  5. print("|                                      |")
  6. print("| [1] Bau Turtle los schicken          |")
  7. print("| [2] Updaten                          |")
  8. print("|______________________________________|")
  9. print()
  10. write("  Bitte Auswahlen : ")
  11. auswahl = io.read()
  12. if auswahl > "2" then
  13.     print(" Falsche Taste ")
  14.     return
  15. elseif auswahl < "1" then
  16.     print(" Falsche Taste ")
  17.     return
  18. elseif auswahl == "2" then
  19.     shell.run("Update")
  20. end
  21.  
  22. if auswahl == "1" then
  23.     shell.run("clear")
  24.     print(" ______________________________________ ")
  25.     print("|                                      |")
  26.     print("|                                      |")
  27.     print("| [1] Bau Flaeche                      |")
  28.     print("|                                      |")
  29.     print("|______________________________________|")
  30.     print()
  31.     write("  Wie gross soll die Fleache sein? : ")
  32.     length = io.read()
  33. if length > "1" then
  34.     print(" Falsche Taste ")
  35.     return
  36. elseif length < "1" then
  37.     print(" Falsche Taste ")
  38.     return
  39. end
  40. end
  41.     shell.run("clear")
  42.     print(" ______________________________________ ")
  43.     print("|                                      |")
  44.     print("| Die Bau Flaeche betraegt "..length.."|")
  45.     print("|                                      |")  
  46.     print("| Bau Richtung (1) rechts / (2) links  |")
  47.     print("|______________________________________|")
  48.     print()
  49.     write("  Baurichtung : ")
  50.     route = io.read()
  51. if route > "2" then
  52.     print(" Falsche Taste ")
  53.     return
  54. elseif route < "1" then
  55.     print(" Falsche Taste ")
  56.     return
  57. end
  58.  
  59.  
  60. local depth = 0
  61. local collected = 0
  62.  
  63. print("Test 1")
  64.  
  65. local function collect()
  66.     collected = collected + 1
  67.     if math.fmod(collected, 25) == 0 then
  68.         print( "Mined "..collected.." items." )
  69.     end
  70. end
  71.  
  72. local function tryDig()
  73.     while turtle.detect() do
  74.         if turtle.dig() then
  75.             collect()
  76.             sleep(0.5)
  77.         else
  78.             return false
  79.         end
  80.     end
  81.     return true
  82. end
  83.  
  84. local function tryDigUp()
  85.     while turtle.detectUp() do
  86.         if turtle.digUp() then
  87.             collect()
  88.             sleep(0.5)
  89.         else
  90.             return false
  91.         end
  92.     end
  93.     return true
  94. end
  95.  
  96. local function tryDigDown()
  97.     while turtle.detectDown() do
  98.         if turtle.digDown() then
  99.             collect()
  100.             sleep(0.5)
  101.         else
  102.             return false
  103.         end
  104.     end
  105.     return true
  106. end
  107.  
  108. local function refuel()
  109.     local fuelLevel = turtle.getFuelLevel()
  110.     if fuelLevel == "unlimited" or fuelLevel > 0 then
  111.         return
  112.     end
  113.    
  114.     local function tryRefuel()
  115.         for n=1,16 do
  116.             if turtle.getItemCount(n) > 0 then
  117.                 turtle.select(n)
  118.                 if turtle.refuel(1) then
  119.                     turtle.select(1)
  120.                     return true
  121.                 end
  122.             end
  123.         end
  124.         turtle.select(1)
  125.         return false
  126.     end
  127.    
  128.     if not tryRefuel() then
  129.         print( "Add more fuel to continue." )
  130.         while not tryRefuel() do
  131.             os.pullEvent( "turtle_inventory" )
  132.         end
  133.         print( "Resuming Tunnel." )
  134.     end
  135. end
  136.  
  137. local function tryUp()
  138.     refuel()
  139.     while not turtle.up() do
  140.         if turtle.detectUp() then
  141.             if not tryDigUp() then
  142.                 return false
  143.             end
  144.         elseif turtle.attackUp() then
  145.             collect()
  146.         else
  147.             sleep( 0.5 )
  148.         end
  149.     end
  150.     return true
  151. end
  152.  
  153. local function tryDown()
  154.     refuel()
  155.     while not turtle.down() do
  156.         if turtle.detectDown() then
  157.             if not tryDigDown() then
  158.                 return false
  159.             end
  160.         elseif turtle.attackDown() then
  161.             collect()
  162.         else
  163.             sleep( 0.5 )
  164.         end
  165.     end
  166.     return true
  167. end
  168.  
  169. local function tryForward()
  170.     refuel()
  171.     while not turtle.forward() do
  172.         if turtle.detect() then
  173.             if not tryDig() then
  174.                 return false
  175.             end
  176.         elseif turtle.attack() then
  177.             collect()
  178.         else
  179.             sleep( 0.5 )
  180.         end
  181.     end
  182.     return true
  183. end
  184.  
  185. local function tryDown()
  186.     refuel()
  187.     while not turtle.down() do
  188.         if turtle.detect() then
  189.             if not tryDigDown() then
  190.                 return false
  191.             end
  192.             sleep( 0.5 )
  193.         end
  194.     end
  195.     return true
  196. end
  197.  
  198.  
  199.  
  200. shell.run("clear")
  201. print( "Fange an zu Bauen..." )
  202.  
  203. for n=1,length do
  204. print(" Die ersten 6 Felder werden platziert")
  205.     for v=1,2 do
  206.         for m=1,6 do
  207.             print(""..a.."")
  208.                 if a == 0 then
  209.                     a = a + 1
  210.                     print(" Start Position erreichen")
  211.                     print(" A ist "..a.."")
  212.                     turtle.forward()
  213.                     tryDown()
  214.                     tryDown()
  215.                     turtle.placeDown()
  216.                     print("5 Steine müssen Platziert werden")
  217.                         for o=1,5 do
  218.                             print(" Was macht o "..o.."")
  219.                             turtle.forward()
  220.                             tryDigDown()
  221.                             turtle.placeDown()
  222.                         end
  223.                     print("Pruefung von A "..a.."")                    
  224.                 elseif a == 1 then
  225.                     print(" A ist gleich 1")
  226.                     turtle.forward()
  227.                     tryDigDown()
  228.                     turtle.placeDown() 
  229.                 end
  230.         end
  231.     end
  232.     print("Drehung wird eingeleitet")
  233.     if route == "1" then
  234.         print("Drehung Rechts")
  235.         turtle.turnRight()
  236.     elseif route == "2" then
  237.         print("Drehung Links")
  238.         turtle.turnLeft()
  239.     end
  240.     sleep(20)
  241. print("Phase 1 Beendet")
  242. --[[print(" Die zweiten 5 Felder werden platziert")]]
  243.     for v=1,2 do
  244.         for m=1,5 do
  245.             turtle.forward()
  246.             tryDigDown()
  247.             turtle.placeDown()
  248.         end
  249.         print("Drehung wird eingeleitet")
  250.         if route == "1" then
  251.                 print("Drehung Rechts")
  252.                 turtle.turnRight()
  253.         elseif route == "2" then
  254.                 print("Drehung Links")
  255.                 turtle.turnLeft()
  256.         end
  257.     end
  258.     sleep(10)
  259. --[[print(" Die dritten 4 Felder werden platziert")]]
  260.     for v=1,2 do
  261.         for m=1,4 do
  262.             turtle.forward()
  263.             tryDigDown()
  264.             turtle.placeDown()
  265.         end
  266.         if route == "1" then
  267.             turtle.turnRight()
  268.         elseif route == "2" then
  269.             turtle.turnLeft()
  270.         end
  271.     end
  272.     sleep(30)
  273. --[[print(" Die dreier 3 Felder werden platziert")]]
  274.     for v=1,2 do
  275.         for m=1,3 do
  276.             turtle.forward()
  277.             tryDigDown()
  278.             turtle.placeDown()
  279.         end
  280.         if route == "1" then
  281.             turtle.turnRight()
  282.         elseif route == "2" then
  283.             turtle.turnLeft()
  284.         end
  285.     end
  286.     sleep(30)
  287. --[[print(" Die zweier Reihe werden platziert")]]
  288.     for v=1,2 do
  289.         for m=1,2 do
  290.             turtle.forward()
  291.             tryDigDown()
  292.             turtle.placeDown()
  293.         end
  294.         if route == "1" then
  295.             turtle.turnRight()
  296.         elseif route == "2" then
  297.             turtle.turnLeft()
  298.         end
  299.     end
  300.     sleep(30)
  301. --[[print(" Die zweier Reihe werden platziert")]]
  302.     for m=1,2 do
  303.             turtle.forward()
  304.             tryDigDown()
  305.             turtle.placeDown()
  306.     end
  307.         if route == "1" then
  308.             turtle.turnRight()
  309.         elseif route == "2" then
  310.             turtle.turnLeft()
  311.         end
  312.     sleep(30)
  313. --[[print(" der vorletzte Stein")]]
  314.     for m=1,1 do
  315.             turtle.forward()
  316.             tryDigDown()
  317.             turtle.placeDown()
  318.     end
  319.         if route == "1" then
  320.             turtle.turnRight()
  321.         elseif route == "2" then
  322.             turtle.turnLeft()
  323.         end
  324. print("  Der letzte Stein")
  325.     for m=1,1 do
  326.             turtle.forward()
  327.             tryDigDown()
  328.             turtle.placeDown()
  329.     end
  330. print("  Zurück gehen ")
  331. print( "Returning to start..." )   
  332.     if route == 2 then
  333.             turtle.Up()
  334.             turtle.Up()
  335.             turtle.turnRight()
  336.     end
  337.     if route == 1 then
  338.             turtle.Up()
  339.             turtle.Up()
  340.             turtle.turnLeft()
  341.     end
  342.     for n=1,length do
  343.             turtle.forward()
  344.     end
  345.      if n<length then
  346.         print( "Tunnel complete." )
  347.     end
  348.  
  349. end
  350.  
  351.  
  352. print( "Tunnel complete." )
  353. print( "Mined "..collected.." items total." )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement