Advertisement
BIuDecoder

StripMining (1.3) Standard Turtle

Sep 21st, 2014
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     -- Update 1.3 Advanced Turtle:
  2.     --      -Neues Interface bei der Erklaerung. Optische verbesserung
  3.     --      -Anstatt das jede Vorherige Eingabe stehen bleibt wird der Bildschirm gecleared
  4.     --      -Waehrend der Arbeit wird die Anzahl der noch uebrigen Gaenge angezeigt
  5.     --      -Optische Blinkausgabe bei fehlendem Treibstoff angepasst
  6.     --      -Startbedingung wurde auf ein Fuellevel von 500 angepasst
  7.     --      -Betriebsbedingungen wurde nauf ein Fuellevel von 100 angepasst
  8.    
  9.    
  10.          --Variablen
  11.          
  12.          zaehler=1
  13.          gangZaehler=1
  14.          
  15.          --Methoden
  16.          
  17.          
  18.          function move3vor()     --Gräbt sich 3 mal nach vorne
  19.              for e=1,3 do
  20.                  turtle.attack()
  21.                  turtle.dig()
  22.                  while turtle.detect()==true do
  23.                      turtle.attack()
  24.                      turtle.dig()
  25.                      turtle.attack()
  26.                  end
  27.                  turtle.forward()
  28.                  turtle.attack()
  29.                  turtle.digUp()
  30.              end
  31.          end
  32.          
  33.          
  34.          function turnAround()
  35.              turtle.turnLeft()
  36.              turtle.turnLeft()
  37.          end
  38.          
  39.          function schrittvor()
  40.              turtle.attack()
  41.              turtle.dig()
  42.              while turtle.detect()==true do          --Überprüft ob noch Sand, Kies oder Mob vor einem ist
  43.                  turtle.attack()
  44.                  turtle.dig()
  45.              end
  46.              turtle.attack()
  47.              turtle.forward()
  48.              turtle.attack()
  49.              turtle.digUp()
  50.          end
  51.          
  52.          
  53.          function gang()                 --Gräbt einen Gang in eine Richtung
  54.              for i=1,laenge do
  55.                  schrittvor()
  56.              end
  57.              turnAround()
  58.              for z=1,laenge do
  59.                  schrittvor()
  60.                  zaehler=zaehler+1
  61.                  if zaehler==abstand+1 then
  62.                      fackel()
  63.                      zaehler=1
  64.                  end
  65.              end
  66.              zaehler=1
  67.          end
  68.          
  69.          function fackel()      
  70.              if turtle.getItemCount(16)==0 then      --Überprüft ob Fackel in Slot 16 ist
  71.              else    --Wenn Fackel da ist wird Fackel gesetzt
  72.                  turnAround()
  73.                  turtle.select(16)
  74.                  turtle.place()
  75.                  turnAround()
  76.              end
  77.          end
  78.          
  79.          function ablegen()      --Legt komplettes Inventar außer den Fackelslot ab
  80.              for d=1,15 do
  81.                  turtle.select(d)
  82.                  turtle.drop(64)
  83.              end
  84.          end
  85.          
  86.          --Programm
  87.          
  88.          shell.run("clear")
  89.          
  90.          while turtle.getFuelLevel()<500 do
  91.              shell.run("clear")
  92.              sleep(0.5)
  93.              turtle.select(15)
  94.              --term.setTextColor(colors.red)                          
  95.              print("Zu wenig Treibstoff!!!\n")
  96.              --term.setTextColor(colors.white)
  97.              print("Fuellevel: ",turtle.getFuelLevel())
  98.              print("Bitte fuehren Sie Treibstoff in das dick umrandete Feld ein.")
  99.              turtle.refuel(64)
  100.              sleep(1.5)
  101.          end
  102.          
  103.          
  104.          shell.run("clear")
  105.          turtle.select(16)
  106.          
  107.              
  108.              --Erklaerung
  109.              
  110.          print(" ------------------------------------- ")
  111.          print("|  Zum benutzen des Strip Programms   |")
  112.          print("|  wird eine Kiste und Fackeln        |")
  113.          print("|  benoetigt.                         |")
  114.          print("|  Vor Beginn stelle die Kiste        |")
  115.          print("|  hinter die Turtle.                 |")
  116.          print("|  Wenn vorhanden legen Sie Fackeln   |")
  117.          print("|  in das dick umrandete Feld.        |")
  118.          print(" ------------------------------------- ")
  119.          print("Benzin: ",turtle.getFuelLevel())
  120.          print("Druecke Enter um fortzufahren")
  121.          read()
  122.          shell.run("clear")
  123.          
  124.          
  125.              --Abfragen
  126.          
  127.          print("Wie viele gaenge?")  --Abfrage nach Ganganzahl
  128.          gaenge=tonumber(read())
  129.          local anzahl=gaenge
  130.          
  131.            
  132.          shell.run("clear")
  133.          
  134.          print("Wie lang sollen die Gaenge sein?")               --Abfrage nach Ganglänge
  135.          laenge=tonumber(read())
  136.            
  137.          shell.run("clear")
  138.          
  139.          print("Abstand der Fackeln?")   --Abfrage nach dem Abstand der Fackeln
  140.          abstand=tonumber(read())
  141.            
  142.          shell.run("clear")
  143.            
  144.          
  145.          print("Nach wie vielen Gaengen soll entleert werden?")          --Abfrage nach der entleerung
  146.          leeren=tonumber(read())
  147.          
  148.          
  149.          shell.run("clear")
  150.        
  151.              --Hauptprogramm
  152.          
  153.          for gangNR=1,gaenge do                    
  154.              shell.run("clear")
  155.              print("Noch ",anzahl," Gaenge")
  156.              move3vor()
  157.              anzahl=anzahl-1
  158.              turtle.turnLeft()
  159.              gang()          --Linker Gang
  160.              gang()          --Rechter Gang
  161.              turtle.turnRight()
  162.              gangZaehler=gangZaehler+1
  163.              if turtle.getFuelLevel()<200 then
  164.                      turnAround()
  165.                      for c=gangNR,1,-1 do
  166.                      move3vor()
  167.                  end
  168.                  while turtle.getFuelLevel()<100 do
  169.                      shell.run("clear")
  170.                      sleep(0.5)
  171.                      turtle.select(15)
  172.                      print("Kein Treibstoffmehr!\n")
  173.                      print("Bitte fuehren SieTreibstoff links neben dem Fackelslot rein (Slot 15)")
  174.                      turtle.refuel(64)
  175.                      sleep(1.5)
  176.                  end
  177.                  turnAround()
  178.                  for c=1,gangNR do
  179.                      move3vor()
  180.                  end
  181.              end  
  182.                
  183.              if gangNR==gaenge then    --Wenn Ende dann zurück zum Ausgang
  184.                  turnAround()
  185.                  for c=gangNR ,1,-1 do
  186.                      move3vor()
  187.                  end
  188.                  ablegen()
  189.          
  190.              else
  191.                  if gangZaehler==leeren+1 then          --Fährt zurück zur Kiste
  192.                      turnAround()
  193.                      for c=gangNR,1,-1 do
  194.                          move3vor()
  195.                      end
  196.                      ablegen()
  197.                      turnAround()
  198.                      for c=1,gangNR do
  199.                          move3vor()
  200.                          gangZaehler=1
  201.                      end
  202.                  end
  203.              end
  204.          end
  205.          
  206.         turnAround()
  207.         print("Programmende Strip")
  208.         print("Erwarte neue Befehle")
  209.        
  210.         --Programmende
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement