Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --turtle_build.exe
- slt = 2 --Eerste slot om blokken te plaatsen, gaat in dit geval tot 16, maar we kunnen dit veranderen om meerdere voorwerpen toe te voegen.
- hgt = 0
- wdth = 0
- lngt = 0
- fndtnc = 0
- --Turtle vraagt om dimensies, legt uit welke slots
- --wat doen, en verteld hoeveel materiaal per
- --onderdeel (wall, floor, roof) nodig is
- function testInv() --test of er nog blokken beschikbaar zijn
- while turtle.getItemCount(slt) == 0 do
- slt = slt + 1
- if slt == 17 then
- print("Refill blocks please, press any key to continue")
- os.pullEvent(key)
- slt = 2
- end
- turtle.select(slt)
- end
- end
- function testfuel()--test of turtle moet bijtanken
- if turtle.getFuelLevel() == 0 then
- turtle.select(1)
- while turtle.getItemCount(1) == 0 do --als de brandstofreserve op is dan is spelerinteractie vereist
- print("Refill fuel please, press any key to continue")
- os.pullEvent("key")
- end
- turtle.refuel(1)
- turtle.select(slt)
- end
- end
- function buildBlock() --Turtle bouwt een blok en gaat naar voren
- testfuel()
- testInv()
- turtle.placeDown()
- turtle.forward()
- end
- function lengteMuur() --Bouw het lengtedeel van de muur
- for op = 2, lngt, 1 do
- buildBlock()
- end
- end
- function breedteMuur() --Bouw het breedtedeel van de muur
- for op = 2, wdth, 1 do
- buildBlock()
- end
- end
- function verdiepingMuur() --Maakt de verdiepingen voor de muren
- for t=1, hgt, 1 do
- lengteMuur()
- turtle.turnRight()
- breedteMuur()
- turtle.turnRight()
- lengteMuur()
- turtle.turnRight()
- breedteMuur()
- turtle.up()
- turtle.turnRight()
- end
- end
- function funderingGraaf() --Graaft de fundering uit
- if fndtn == "Y" then
- testfuel()
- turtle.digDown()
- turtle.down()
- for op=1, wdth, 1 do
- for dg=1, lngt-1, 1 do
- testfuel()
- turtle.dig()
- turtle.forward()
- end
- if ((op % 2) == 0) and (op<wdth) then
- testfuel()
- turtle.turnLeft()
- turtle.dig()
- turtle.forward()
- turtle.turnLeft()
- elseif ((op%2) == 1) and (op<wdth) then
- testfuel()
- turtle.turnRight()
- turtle.dig()
- turtle.forward()
- turtle.turnRight()
- end
- end
- --Return to start
- testfuel()
- turtle.up()
- if (wdth % 2)==1 then --wanneer oneven breedte moet de turtle eerst over de lengte terug
- turtle.turnLeft()
- for op=1, wdth-1, 1 do
- testfuel()
- turtle.forward()
- end
- turtle.turnRight()
- for op = 1, lngt - 1, 1 do
- testfuel()
- turtle.back()
- end
- else --als de breedte even is
- turtle.turnRight()
- for op=1, wdth-1, 1 do
- testfuel()
- turtle.forward()
- end
- turtle.turnRight()
- end
- end
- end
- print("lengte?")
- lngt = tonumber(read())
- print("Breedte?")
- wdth = tonumber(read())
- print("Hoogte?")
- hgt = tonumber(read())
- while fndtnc == 0 do
- print("Fundering? Y/N")
- fndtn = string.upper(read())
- if (fndtn == "Y") or (fndtn == "N") then
- fndtnc = fndtnc + 1
- end
- print("Error on input")
- end
- print("lengte = " .. lngt)
- print("Breedte = " .. wdth)
- print("Hoogte = " .. hgt)
- funderingGraaf()
- verdiepingMuur()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement