SHOW:
|
|
- or go back to the newest paste.
1 | term.clear() | |
2 | term.setCursorPos(1,1) | |
3 | ||
4 | ---Donnees---- | |
5 | write("Nombre de ligne optimisee: ") | |
6 | p=read() | |
7 | n=p*3 | |
8 | write("Longueur ligne: ") | |
9 | v=read() | |
10 | r=p-1 | |
11 | itemcount = turtle.getItemCount(16) | |
12 | fuelLevel = turtle.getFuelLevel() | |
13 | ||
14 | ---Fonctions--- | |
15 | ||
16 | function tunnel() | |
17 | ||
18 | turtle.dig() | |
19 | - | turtle.forward() |
19 | + | move("forward") |
20 | turtle.digUp() | |
21 | turtle.digDown() | |
22 | turtle.turnRight() | |
23 | turtle.dig() | |
24 | - | turtle.forward() |
24 | + | move("forward") |
25 | turtle.digUp() | |
26 | turtle.digDown() | |
27 | turtle.turnLeft() | |
28 | turtle.turnLeft() | |
29 | - | turtle.forward() |
29 | + | move("forward") |
30 | turtle.dig() | |
31 | turtle.dig() | |
32 | - | turtle.forward() |
32 | + | move("forward") |
33 | turtle.digUp() | |
34 | turtle.digDown() | |
35 | turtle.turnRight() | |
36 | turtle.turnRight() | |
37 | - | turtle.forward() |
37 | + | move("forward") |
38 | turtle.turnLeft() | |
39 | end | |
40 | ||
41 | function ligne() | |
42 | ||
43 | turtle.dig() | |
44 | - | turtle.forward() |
44 | + | move("forward") |
45 | turtle.digUp() | |
46 | turtle.digDown() | |
47 | end | |
48 | ||
49 | - | function fuel() |
49 | + | function fuel() -- Fonction de vérification du niveau de carburant et réapprovisionnement si besoin |
50 | turtle.select(1) | |
51 | - | write("Fuel Level") |
51 | + | while fuelLevel() < 200 do -- 200 est une valeur de sécurité estimée, elle peut être modifiée si besoin |
52 | - | print(fuelLevel) |
52 | + | turtle.refuel(1) |
53 | - | if fuelLevel < 200 then |
53 | + | if not print("Fuel OK") |
54 | - | turtle.refuel(4) |
54 | + | end |
55 | - | else |
55 | + | end |
56 | - | print("Fuel Level OK") |
56 | + | turtle.select(2) |
57 | end | |
58 | ||
59 | function quarry() | |
60 | ||
61 | for y=0,v do | |
62 | ligne() | |
63 | end | |
64 | fuel() | |
65 | turtle.turnLeft() | |
66 | turtle.turnLeft() | |
67 | ||
68 | for y=0,v do | |
69 | move("forward") | |
70 | - | turtle.forward() |
70 | + | |
71 | vidage() | |
72 | turtle.turnRight() | |
73 | move("forward") | |
74 | - | turtle.forward() |
74 | + | move("forward") |
75 | - | turtle.forward() |
75 | + | move("forward") |
76 | - | turtle.forward() |
76 | + | |
77 | end | |
78 | ||
79 | function vidage() | |
80 | sleep(5) | |
81 | turtle.select(2) | |
82 | for o=1,15 do | |
83 | turtle.select(o) | |
84 | turtle.drop() | |
85 | end | |
86 | turtle.select(1) | |
87 | end | |
88 | ||
89 | function move(direction) | |
90 | - | ---Programme--- |
90 | + | while true do |
91 | if direction == "forward" then | |
92 | if turtle.detect() then | |
93 | turtle.dig() | |
94 | else | |
95 | if turtle.forward() then | |
96 | return true | |
97 | - | turtle.forward() |
97 | + | else |
98 | turtle.attack() | |
99 | - | turtle.forward() |
99 | + | end |
100 | end | |
101 | elseif direction == "up" then | |
102 | if turtle.digUp() then | |
103 | os.sleep(0.4) | |
104 | else | |
105 | if turtle.up() then | |
106 | return true | |
107 | else | |
108 | turtle.attackUp() | |
109 | - | turtle.forward() |
109 | + | end |
110 | end | |
111 | end | |
112 | end | |
113 | - | turtle.forward() |
113 | + | |
114 | - | turtle.forward() |
114 | + | ---Programme--- |
115 | - | turtle.forward() |
115 | + | |
116 | for i=0,n do | |
117 | tunnel() | |
118 | - | |
118 | + | |
119 | turtle.turnLeft() | |
120 | turtle.turnLeft() | |
121 | move("forward") | |
122 | turtle.turnRight() | |
123 | move("forward") | |
124 | ||
125 | for u=0,r do | |
126 | - | turtle.forward() |
126 | + | |
127 | ligne() | |
128 | end | |
129 | - | turtle.forward() |
129 | + | |
130 | - | turtle.forward() |
130 | + | |
131 | turtle.turnLeft() | |
132 | for y=0,v do | |
133 | move("forward") | |
134 | end | |
135 | vidage() | |
136 | turtle.turnRight() | |
137 | move("forward") | |
138 | move("forward") | |
139 | move("forward") | |
140 | - | turtle.forward() |
140 | + | |
141 | end | |
142 | ||
143 | for y=0,v do | |
144 | - | turtle.forward() |
144 | + | |
145 | - | turtle.forward() |
145 | + | |
146 | - | turtle.forward() |
146 | + | |
147 | turtle.turnLeft() | |
148 | turtle.turnLeft() | |
149 | for y=0,v do | |
150 | move("forward") | |
151 | end | |
152 | vidage() | |
153 | move("forward") | |
154 | move("forward") | |
155 | ||
156 | for u=0,r do | |
157 | - | turtle.forward() |
157 | + | |
158 | ligne() | |
159 | end | |
160 | fuel() | |
161 | - | turtle.forward() |
161 | + | |
162 | turtle.turnLeft() | |
163 | for y=0,v do | |
164 | move("forward") | |
165 | - | turtle.forward() |
165 | + | |
166 | turtle.turnRight() | |
167 | move("forward") | |
168 | move("forward") | |
169 | move("forward") | |
170 | turtle.turnRight() | |
171 | end | |
172 | ||
173 | for y=0,v do | |
174 | ligne() | |
175 | end | |
176 | fuel() | |
177 | turtle.turnLeft() | |
178 | turtle.turnLeft() | |
179 | for y=0,v do | |
180 | move("forward") | |
181 | end | |
182 | vidage() | |
183 | fuel() | |
184 | move("forward") | |
185 | turtle.turnLeft() | |
186 | ||
187 | for i=0,n do | |
188 | move("forward") | |
189 | end | |
190 | print("Fin cycle") | |
191 | print("Bon Minage!") |