SHOW:
|
|
- or go back to the newest paste.
1 | t = turtle | |
2 | ||
3 | function distanceInput() | |
4 | print("Input Distance") | |
5 | - | num = io.read |
5 | + | num = io.read() |
6 | num = tonumber(num) | |
7 | return num | |
8 | end | |
9 | function fuel(distance) | |
10 | t.refuel() | |
11 | end | |
12 | function hole(distance) | |
13 | while distance > 0 do | |
14 | if t.detectDown() then | |
15 | t.digDown() | |
16 | t.down() | |
17 | else | |
18 | t.down() | |
19 | end | |
20 | distance = distance - 1 | |
21 | end | |
22 | end | |
23 | function modulo(tile) | |
24 | while tile > 8 do | |
25 | tile = tile - 8 | |
26 | end | |
27 | print("Currently at tile: ", tile) | |
28 | return tile | |
29 | end | |
30 | function turn(num) | |
31 | while num > 0 do | |
32 | t.turnRight() | |
33 | num = num - 1 | |
34 | end | |
35 | end | |
36 | function turnAround() | |
37 | t.turnLeft() | |
38 | t.turnLeft() | |
39 | end | |
40 | function dleft() | |
41 | t.turnLeft() | |
42 | if t.detect() then | |
43 | t.dig() | |
44 | t.forward() | |
45 | else | |
46 | t.forward() | |
47 | end | |
48 | t.turnRight() | |
49 | end | |
50 | function dright() | |
51 | t.turnRight() | |
52 | if t.detect() then | |
53 | t.dig() | |
54 | t.forward() | |
55 | else | |
56 | t.forward() | |
57 | end | |
58 | t.turnLeft() | |
59 | end | |
60 | function dback() | |
61 | turnAround() | |
62 | if t.detect() then | |
63 | t.dig() | |
64 | t.forward() | |
65 | else | |
66 | t.forward() | |
67 | - | function bforward() |
67 | + | |
68 | turnAround() | |
69 | end | |
70 | function dforward() | |
71 | if t.detect() then | |
72 | t.dig() | |
73 | t.forward() | |
74 | else | |
75 | t.forward() | |
76 | end | |
77 | end | |
78 | function mineLayer(module) | |
79 | if module == 2 or module == 4 or module == 6 or module == 8 then | |
80 | turn(module/2) | |
81 | dleft() | |
82 | dforward() | |
83 | dback() | |
84 | dback() | |
85 | dright() | |
86 | dright() | |
87 | dforward() | |
88 | dforward() | |
89 | dback() | |
90 | dleft() | |
91 | else | |
92 | turn((module+1)/2) | |
93 | dforward() | |
94 | dright() | |
95 | dback() | |
96 | dback() | |
97 | dleft() | |
98 | dleft() | |
99 | dforward() | |
100 | dright() | |
101 | end | |
102 | end | |
103 | function mine(distance) | |
104 | module = 0 | |
105 | while distance > 0 do | |
106 | module = modulo(distance) | |
107 | mineLayer(module) | |
108 | t.up() | |
109 | distance = distance - 1 | |
110 | end | |
111 | end | |
112 | function spiral() | |
113 | distance = distanceInput() | |
114 | - | end |
114 | + | fuel(distance) |
115 | print("3x3 Spiral Initiated; No further input required") | |
116 | hole(distance) | |
117 | mine(distance) | |
118 | end | |
119 | ||
120 | spiral() |