66 lines
10 KiB
Plaintext
66 lines
10 KiB
Plaintext
io.write("Cube height? (top to bottom):")
|
|
local height = tonumber(io.read())
|
|
|
|
io.write("Cube width? (left to right):")
|
|
local width = tonumber(io.read())
|
|
|
|
io.write("Cube depth? (front to back):")
|
|
local depth = tonumber(io.read())
|
|
|
|
io.write("Dig direction? (up/down):")
|
|
local dir = io.read()
|
|
|
|
local digVert, moveVert, digBack, moveBack
|
|
if dir == "up" then
|
|
digVert = turtle.digUp
|
|
moveVert = turtle.up
|
|
digBack = turtle.digDown
|
|
moveBack = turtle.down
|
|
else
|
|
digVert = turtle.digDown
|
|
moveVert = turtle.down
|
|
digBack = turtle.digUp
|
|
moveBack = turtle.up
|
|
end
|
|
|
|
for d = 1, depth do
|
|
turtle.refuel(1)
|
|
turtle.turnLeft()
|
|
|
|
local goingUp = true
|
|
|
|
for w = 1, width do
|
|
turtle.dig()
|
|
turtle.forward()
|
|
|
|
if goingUp then
|
|
for h = 1, height - 1 do
|
|
digVert()
|
|
moveVert()
|
|
end
|
|
else
|
|
for h = 1, height - 1 do
|
|
digBack()
|
|
moveBack()
|
|
end
|
|
end
|
|
|
|
goingUp = not goingUp
|
|
end
|
|
|
|
-- return to original height
|
|
if not goingUp then
|
|
-- ended at top, come back down
|
|
for h = 1, height - 1 do
|
|
moveBack()
|
|
end
|
|
end
|
|
|
|
-- face depth
|
|
turtle.turnLeft()
|
|
|
|
if d < depth then
|
|
turtle.dig()
|
|
turtle.forward()
|
|
end
|
|
end |