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 |