Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Update 1.3 Advanced Turtle:
- -- -Neues Interface bei der Erklaerung. Optische verbesserung
- -- -Anstatt das jede Vorherige Eingabe stehen bleibt wird der Bildschirm gecleared
- -- -Waehrend der Arbeit wird die Anzahl der noch uebrigen Gaenge angezeigt
- -- -Optische Blinkausgabe bei fehlendem Treibstoff angepasst
- -- -Startbedingung wurde auf ein Fuellevel von 500 angepasst
- -- -Betriebsbedingungen wurde nauf ein Fuellevel von 100 angepasst
- --Variablen
- zaehler=1
- gangZaehler=1
- --Methoden
- function move3vor() --Gräbt sich 3 mal nach vorne
- for e=1,3 do
- turtle.attack()
- turtle.dig()
- while turtle.detect()==true do
- turtle.attack()
- turtle.dig()
- turtle.attack()
- end
- turtle.forward()
- turtle.attack()
- turtle.digUp()
- end
- end
- function turnAround()
- turtle.turnLeft()
- turtle.turnLeft()
- end
- function schrittvor()
- turtle.attack()
- turtle.dig()
- while turtle.detect()==true do --Überprüft ob noch Sand, Kies oder Mob vor einem ist
- turtle.attack()
- turtle.dig()
- end
- turtle.attack()
- turtle.forward()
- turtle.attack()
- turtle.digUp()
- end
- function gang() --Gräbt einen Gang in eine Richtung
- for i=1,laenge do
- schrittvor()
- end
- turnAround()
- for z=1,laenge do
- schrittvor()
- zaehler=zaehler+1
- if zaehler==abstand+1 then
- fackel()
- zaehler=1
- end
- end
- zaehler=1
- end
- function fackel()
- if turtle.getItemCount(16)==0 then --Überprüft ob Fackel in Slot 16 ist
- else --Wenn Fackel da ist wird Fackel gesetzt
- turnAround()
- turtle.select(16)
- turtle.place()
- turnAround()
- end
- end
- function ablegen() --Legt komplettes Inventar außer den Fackelslot ab
- for d=1,15 do
- turtle.select(d)
- turtle.drop(64)
- end
- end
- --Programm
- shell.run("clear")
- while turtle.getFuelLevel()<500 do
- shell.run("clear")
- sleep(0.5)
- turtle.select(15)
- term.setTextColor(colors.red)
- print("Zu wenig Treibstoff!!!\n")
- term.setTextColor(colors.white)
- print("Fuellevel: ",turtle.getFuelLevel())
- print("Bitte fuehren Sie Treibstoff in das dick umrandete Feld ein.")
- turtle.refuel(64)
- sleep(1.5)
- end
- shell.run("clear")
- turtle.select(16)
- --Erklaerung
- print(" ------------------------------------- ")
- print("| Zum benutzen des Strip Programms |")
- print("| wird eine Kiste und Fackeln |")
- print("| benoetigt. |")
- print("| Vor Beginn stelle die Kiste |")
- print("| hinter die Turtle. |")
- print("| Wenn vorhanden legen Sie Fackeln |")
- print("| in das dick umrandete Feld. |")
- print(" ------------------------------------- ")
- print("Benzin: ",turtle.getFuelLevel())
- print("Druecke Enter um fortzufahren")
- read()
- shell.run("clear")
- --Abfragen
- print("Wie viele gaenge?") --Abfrage nach Ganganzahl
- gaenge=tonumber(read())
- local anzahl=gaenge
- shell.run("clear")
- print("Wie lang sollen die Gaenge sein?") --Abfrage nach Ganglänge
- laenge=tonumber(read())
- shell.run("clear")
- print("Abstand der Fackeln?") --Abfrage nach dem Abstand der Fackeln
- abstand=tonumber(read())
- shell.run("clear")
- print("Nach wie vielen Gaengen soll entleert werden?") --Abfrage nach der entleerung
- leeren=tonumber(read())
- shell.run("clear")
- --Hauptprogramm
- for gangNR=1,gaenge do
- shell.run("clear")
- print("Noch ",anzahl," Gaenge")
- move3vor()
- anzahl=anzahl-1
- turtle.turnLeft()
- gang() --Linker Gang
- gang() --Rechter Gang
- turtle.turnRight()
- gangZaehler=gangZaehler+1
- if turtle.getFuelLevel()<200 then
- turnAround()
- for c=gangNR,1,-1 do
- move3vor()
- end
- while turtle.getFuelLevel()<100 do
- shell.run("clear")
- sleep(0.5)
- turtle.select(15)
- print("Kein Treibstoffmehr!\n")
- print("Bitte fuehren SieTreibstoff links neben dem Fackelslot rein (Slot 15)")
- turtle.refuel(64)
- sleep(1.5)
- end
- turnAround()
- for c=1,gangNR do
- move3vor()
- end
- end
- if gangNR==gaenge then --Wenn Ende dann zurück zum Ausgang
- turnAround()
- for c=gangNR ,1,-1 do
- move3vor()
- end
- ablegen()
- else
- if gangZaehler==leeren+1 then --Fährt zurück zur Kiste
- turnAround()
- for c=gangNR,1,-1 do
- move3vor()
- end
- ablegen()
- turnAround()
- for c=1,gangNR do
- move3vor()
- gangZaehler=1
- end
- end
- end
- end
- turnAround()
- print("Programmende Strip")
- print("Erwarte neue Befehle")
- --Programmende
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement