Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Baut eine umgekehrte Pyramide by GRxRedZero
- height = tonumber(io.read())
- length = 2
- slot = 16
- -- Nimmt zuerst den letzten Slot des Turtles, damit gewährleistet wird,
- -- dass das richtige Item gesetzt wird!
- function changeSlotIfNecessary(slot)
- local newslot = slot
- while newslot > 1 do
- if turtle.getItemCount(newslot) == 0 then
- if (newslot > 1) and (newslot < 17) then
- turtle.select(newslot - 1)
- end
- newslot = newslot - 1
- else
- break
- end
- end
- if turtle.getItemCount(1) == 0 then
- -- Warte auf Eingabe wenn keine Items im ersten Slot sind.
- local answer
- repeat
- io.write("Continue to build the pyramid (y/n)? ")
- io.flush()
- answer = io.read()
- until answer == "y" or answer == "Y"
- if answer == "y" or answer == "Y" then
- newslot = 16
- end
- end
- return newslot
- end
- -- Funktion zum Platzieren der Linie unterhalb des Turtles
- function digAndPlace()
- turtle.dig()
- turtle.forward()
- turtle.digDown()
- slot = changeSlotIfNecessary(slot)
- turtle.placeDown()
- end
- -- Funktion zum Starten des Baus für die Pyramide
- function startPyramid()
- turtle.digUp()
- turtle.up()
- slot = changeSlotIfNecessary(slot)
- turtle.placeDown()
- turtle.digUp()
- turtle.up()
- end
- -- Programm Start!
- while (height >= length + 1 / 1) do
- -- Baut die Pyramide
- startPyramid()
- for i = 1, height, 1 do
- digAndPlace()
- turtle.turnRight()
- for l = 1, length - 1, 1 do
- digAndPlace()
- end
- turtle.turnRight()
- for j = 1, 4, 1 do
- for k = 1, length, 1 do
- digAndPlace()
- end
- if j < 4 then
- turtle.turnRight()
- end
- turtle.digUp()
- turtle.up()
- end
- length = length + 2
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement