View difference between Paste ID: y70ptjJF and 7uRvn3m2
SHOW: | | - or go back to the newest paste.
1-
shell.run("clear")
1+
    -- Update 1.3 Advanced Turtle:
2-
function move3vor()	--Gräbt sich 3 mal nach vorne
2+
    --      -Neues Interface bei der Erklaerung. Optische verbesserung
3-
	for e=1,3 do
3+
    --      -Anstatt das jede Vorherige Eingabe stehen bleibt wird der Bildschirm gecleared
4-
		turtle.attack()
4+
    --      -Waehrend der Arbeit wird die Anzahl der noch uebrigen Gaenge angezeigt
5-
		turtle.dig()
5+
    --      -Optische Blinkausgabe bei fehlendem Treibstoff angepasst
6-
		while turtle.detect()==true do
6+
    --      -Startbedingung wurde auf ein Fuellevel von 500 angepasst
7-
			turtle.attack()
7+
    --      -Betriebsbedingungen wurde nauf ein Fuellevel von 100 angepasst
8-
			turtle.dig()
8+
	
9-
			turtle.attack()
9+
	
10-
		end
10+
         --Variablen
11-
		turtle.forward()
11+
		 
12-
		turtle.attack()
12+
		 zaehler=1
13-
		turtle.digUp()
13+
		 gangZaehler=1
14-
	end
14+
         
15-
end
15+
         --Methoden
16-
16+
		 
17-
17+
         
18-
function turnAround()
18+
         function move3vor()     --Gräbt sich 3 mal nach vorne
19-
	turtle.turnLeft()
19+
             for e=1,3 do
20-
	turtle.turnLeft()
20+
                 turtle.attack()
21-
end
21+
                 turtle.dig()
22-
22+
                 while turtle.detect()==true do
23-
function schrittvor()
23+
                     turtle.attack()
24-
	turtle.attack()
24+
                     turtle.dig()
25-
	turtle.dig()
25+
                     turtle.attack()
26-
	while turtle.detect()==true do		--Überprüft ob noch Sand, Kies oder Mob vor einem ist
26+
                 end
27-
		turtle.attack()
27+
                 turtle.forward()
28-
		turtle.dig()
28+
                 turtle.attack()
29-
	end
29+
                 turtle.digUp()
30-
	turtle.attack()
30+
             end
31-
	turtle.forward()
31+
         end
32-
	turtle.attack()
32+
         
33-
	turtle.digUp()
33+
         
34-
end
34+
         function turnAround()
35-
35+
             turtle.turnLeft()
36-
36+
             turtle.turnLeft()
37-
function gang()			--Gräbt einen Gang in eine Richtung
37+
         end
38-
	for i=1,g do
38+
         
39-
		schrittvor()
39+
         function schrittvor()
40-
	end
40+
             turtle.attack()
41-
	turnAround()
41+
             turtle.dig()
42-
	for z=1,g do
42+
             while turtle.detect()==true do          --Überprüft ob noch Sand, Kies oder Mob vor einem ist
43-
		schrittvor()
43+
                 turtle.attack()
44-
		r=r+1
44+
                 turtle.dig()
45-
		if r==l+1 then
45+
             end
46-
			fackel()
46+
             turtle.attack()
47-
			r=1
47+
             turtle.forward()
48-
		end
48+
             turtle.attack()
49-
	end
49+
             turtle.digUp()
50-
end
50+
         end
51-
51+
         
52-
function fackel()	
52+
         
53-
	if turtle.getItemCount(16)==0 then	--Überprüft ob Fackel in Slot 16 ist
53+
         function gang()                 --Gräbt einen Gang in eine Richtung
54-
	else	--Wenn Fackel da ist wird Fackel gesetzt
54+
             for i=1,laenge do
55-
		turnAround()
55+
                 schrittvor()
56-
		turtle.select(16)
56+
             end
57-
		turtle.place()
57+
             turnAround()
58-
		turnAround()
58+
             for z=1,laenge do
59-
	end
59+
                 schrittvor()
60-
end
60+
                 zaehler=zaehler+1
61-
61+
                 if zaehler==abstand+1 then
62-
function ablegen() 	--Legt komplettes Inventar außer den Fackelslot ab
62+
                     fackel()
63-
	for d=1,15 do
63+
				     zaehler=1
64-
		turtle.select(d)
64+
                 end
65-
		turtle.drop(64)
65+
             end
66-
	end
66+
		     zaehler=1
67-
end
67+
         end
68-
68+
         
69-
while turtle.getFuelLevel()<200 do
69+
         function fackel()      
70-
 shell.run("clear")
70+
             if turtle.getItemCount(16)==0 then      --Überprüft ob Fackel in Slot 16 ist
71-
 turtle.select(15)
71+
             else    --Wenn Fackel da ist wird Fackel gesetzt
72-
 term.setTextColor(colors.red)
72+
                 turnAround()
73-
 print("Zu wenig Treibstoff!!!\n")
73+
                 turtle.select(16)
74-
 term.setTextColor(colors.white)
74+
                 turtle.place()
75-
 print("Fuellevel: ",turtle.getFuelLevel())
75+
                 turnAround()
76-
 print("Bitte fuehren Sie Treibstoff in das dick umrandete Feld ein")
76+
             end
77-
 turtle.refuel(64)
77+
         end
78-
 sleep(0.5)
78+
         
79-
end
79+
         function ablegen()      --Legt komplettes Inventar außer den Fackelslot ab
80-
shell.run("clear")
80+
             for d=1,15 do
81-
turtle.select(16)
81+
                 turtle.select(d)
82-
b=1
82+
                 turtle.drop(64)
83-
83+
             end
84-
print("Zum benutzen des Strip Programms wird eine Kiste und Fackeln benoetigt.\n")
84+
         end
85-
print("Vor Beginn stelle die Kiste hinter die Turtle.")
85+
		 
86-
print("Wenn vorhanden legen Sie Fackeln in das dick umrandete Feld.\n")
86+
		 --Programm
87-
print("Aktuelles Fuellevel: ",turtle.getFuelLevel(),"\n")
87+
		 
88-
print("Druecke Enter um fortzufahren")
88+
         shell.run("clear") 
89-
read()
89+
		 
90-
shell.run("clear")
90+
         while turtle.getFuelLevel()<500 do
91-
91+
             shell.run("clear")
92-
92+
             sleep(0.5)
93-
print("Wie viele Gaenge?")  --Abfrage nach Ganganzahl
93+
             turtle.select(15)
94-
f=tonumber(read())
94+
             --term.setTextColor(colors.red)                           
95-
95+
             print("Zu wenig Treibstoff!!!\n")
96-
print("Wie lang sollen die Gaenge sein?")		--Abfrage nach Ganglänge
96+
             --term.setTextColor(colors.white)
97-
g=read()
97+
             print("Fuellevel: ",turtle.getFuelLevel())
98-
98+
             print("Bitte fuehren Sie Treibstoff in das dick umrandete Feld ein.")
99-
print("Abstand der Fackeln?")	--Abfrage nach dem Abstand der Fackeln
99+
             turtle.refuel(64)
100-
l=read()
100+
             sleep(1.5)
101-
r=1
101+
         end
102-
print("Nach wie vielen Gaengen soll entleert werden?")		--Abfrage nach der entleerung
102+
		 
103-
k=read()
103+
		 
104-
104+
         shell.run("clear")
105-
105+
         turtle.select(16)
106-
shell.run("clear")
106+
         
107-
107+
              
108-
for a=1,f do			--Hauptprogramm
108+
			 --Erklaerung
109-
	move3vor()
109+
			 
110-
	turtle.turnLeft()
110+
         print(" ------------------------------------- ")
111-
	gang()		--Linker Gang
111+
         print("|  Zum benutzen des Strip Programms   |")
112-
	gang()		--Rechter Gang
112+
         print("|  wird eine Kiste und Fackeln        |")
113-
	turtle.turnRight()
113+
         print("|  benoetigt.                         |")
114-
	b=b+1
114+
         print("|  Vor Beginn stelle die Kiste        |")
115-
 if turtle.getFuelLevel()<200 then
115+
         print("|  hinter die Turtle.                 |")
116-
  turnAround()
116+
         print("|  Wenn vorhanden legen Sie Fackeln   |")
117-
  for c=a,1,-1 do
117+
         print("|  in das dick umrandete Feld.        |")
118-
   move3vor() 
118+
         print(" ------------------------------------- ")
119-
  end
119+
         print("Benzin: ",turtle.getFuelLevel())
120-
  while turtle.getFuelLevel()<200 do
120+
         print("Druecke Enter um fortzufahren")
121-
   shell.run("clear")
121+
         read()
122-
   turtle.select(15)
122+
         shell.run("clear")
123-
   print("Kein Treibstoffmehr!\n")
123+
		 
124-
   print("Bitte fuehren SieTreibstoff links neben dem Fackelslot rein (Slot 15)")
124+
		 
125-
   turtle.refuel(64)
125+
		     --Abfragen
126-
   sleep(0.5)
126+
         
127-
  end
127+
         print("Wie viele gaenge?")  --Abfrage nach Ganganzahl
128-
  turnAround()
128+
         gaenge=tonumber(read())
129-
  for c=1,a do
129+
         local anzahl=gaenge
130-
   move3vor()
130+
		 
131-
  end
131+
           
132-
 end  
132+
         shell.run("clear")
133-
	if a==f then	--Wenn Ende dann zurück zum Ausgang
133+
         
134-
		turnAround()
134+
         print("Wie lang sollen die Gaenge sein?")               --Abfrage nach Ganglänge
135-
		for c=a ,1,-1 do
135+
         laenge=tonumber(read())
136-
			move3vor()
136+
            
137-
		end
137+
         shell.run("clear")
138-
		ablegen()
138+
         
139-
139+
         print("Abstand der Fackeln?")   --Abfrage nach dem Abstand der Fackeln
140-
	else
140+
         abstand=tonumber(read())
141-
		if b==k+1 then		--Fährt zurück zur Kiste
141+
            
142-
			turnAround()
142+
         shell.run("clear")
143-
			for c=a,1,-1 do
143+
           
144-
				move3vor()
144+
         
145-
			end
145+
         print("Nach wie vielen Gaengen soll entleert werden?")          --Abfrage nach der entleerung
146-
			ablegen()
146+
         leeren=tonumber(read())
147-
			turnAround()
147+
         
148-
			for c=1,a do
148+
         
149-
				move3vor()
149+
         shell.run("clear")
150-
				b=1
150+
       
151-
			end
151+
             --Hauptprogramm
152-
		end
152+
		 
153-
	end
153+
         for gangNR=1,gaenge do                    
154-
end
154+
             shell.run("clear")
155-
155+
             print("Noch ",anzahl," Gaenge")
156-
turnAround()
156+
             move3vor()
157-
print("Programmende Strip")
157+
             anzahl=anzahl-1
158-
print("Erwarte neue Befehle")
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