View difference between Paste ID: UWNw3gAe and 1MF0NDpg
SHOW: | | - or go back to the newest paste.
1
local t = turtle
2
3
local function forward(x)
4
	for i = 1, x do
5
		t.forward()
6
	end
7
end
8
9
local function rTurn(x)
10
	for i = 1, x do
11
		t.turnRight()
12
	end
13
end
14
15
local function lTurn(x)
16
	for i = 1, x do
17
		t.turnLeft()
18
	end
19
end
20
21
local function up(x)
22
	for i = 1, x do
23
		t.up()
24
	end
25
end
26
27
local function down(x)
28
	for i = 1, x do
29
		t.down()
30
	end
31
end
32
33
local function back(x)
34
	for i = 1, x do
35
		t.back()
36
	end
37
end
38
39
local function gotoStart()
40
	rs.setAnalogOutput("left", 0)
41
	os.sleep(1)
42
	up(2)
43
	back(1)
44
	lTurn(1)
45
	forward(1)
46
end
47
48
local function rowUp()
49
	for i = 1, 4, 1 do
50
		t.dig()
51
		up(1)
52
	end
53
end
54
55
local function rowDown()
56
	for i = 1, 4, 1 do
57
		t.dig()
58
		down(1)
59
	end
60
end
61
62
local facing = t.detect()
63
64
local height = t.detect(down)
65
66
local function harvest(x)
67
	for i = 1, x do
68
		if facing == true then
69
			if height == true then
70
				rowUp()
71
				rTurn(1)
72
			else
73
				rowDown()
74
				rTurn(1)
75
			end
76-
		else
76+
		elseif facing == false then
77
			if height == true then
78
				forward(1)
79
				lTurn(1)
80
				rowUp()
81
				rTurn(1)
82
			else
83
				forward(1)
84
				lTurn(1)
85
				rowDown()
86
				rTurn(1)
87
			end
88
		end
89
	end
90
end
91
		
92
local function gotoHome()
93
	back(2)
94
	lTurn(1)
95
	forward(1)
96
	down(5)
97
	os.sleep(1)
98
	rs.setAnalogOutput("left", 15)
99
	os.sleep(3600)
100
end
101
102
while true do	
103
	gotoStart()
104
	rowUp()
105
	harvest(6)
106
	gotoHome()
107
end