Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function saisieNombre()
- input = read()
- input = tonumber(input)
- while type(input) == "nil" do
- print("Nombre incorrect, recommencez. ")
- input = read()
- input = tonumber(input)
- end
- return input
- end
- function safeForward()
- succ = turtle.forward()
- while not succ do
- turtle.dig()
- succ = turtle.forward()
- end
- end
- function safeDown()
- succ = turtle.down()
- while not succ do
- turtle.digDown()
- succ = turtle.down()
- end
- end
- function saisieSure(inf, sup)
- inp = saisieNombre()
- while inp < inf or inp > sup do
- print("Nombre incorrect, recommencez. ")
- inp = saisieNombre()
- end
- return inp
- end
- turtle.select(1)
- print("Bienvenue dans le programme de minage")
- print()
- print("Vous allez devoir saisir différentes données avant de lancer le programme.")
- print()
- print("Combien de couches en Y voulez-vous creuser maximum ? [3, 81]")
- print("(pour éviter les mauvaises surprises, saisir un multiple de 3 [64->66])")
- nbCouches = saisieSure(3, 81)
- print("Sachez que la turtle va miner la zone devant/à droite d'elle à partir de la couche de dessous.")
- print("Combien de blocs devant [+1] ? [6, 64]")
- nbX = saisieSure(6, 64)
- print("Combien de blocs à droite ? [6, 64]")
- nbY = saisieSure(6, 64)
- nbDepl = ((nbX * nbY)*((nbCouches+2)/3) + nbCouches)
- print()
- print("La turtle va faire env. "..nbDepl.." déplacements")
- print()
- nbDepl = nbDepl + 96
- nbFuelActuel = turtle.getFuelLevel()
- nbFuelNecessaire = nbFuelActuel - nbDepl
- while nbDepl - turtle.getFuelLevel() > 0 do
- remain = nbDepl - turtle.getFuelLevel()
- print("Veuillez placer "..(math.ceil(remain/80)).." coal/charcoal OU "..(math.ceil(remain/1000)).." lava cell dans le premier slot et valider par [entrée]")
- detect = read()
- if turtle.getItemCount(1) > 0 then
- turtle.refuel(turtle.getItemCount(1))
- end
- end
- print()
- print()
- print("La turtle est prête à miner.")
- print("[enter]")
- detect = read()
- coucheCurr = 0
- tripleCurr = 0
- while nbCouches - coucheCurr > 0 do
- turtle.digDown()
- safeDown()
- coucheCurr = coucheCurr + 1
- turtle.digDown()
- safeDown()
- coucheCurr = coucheCurr + 1
- nbYCurr = 0
- while nbY-nbYCurr > 0 do
- nbXCurr = 0
- while nbX - nbXCurr > 0 do
- turtle.digDown()
- turtle.digUp()
- if nbX - nbXCurr > 1 then
- while turtle.detect() do
- turtle.dig()
- end
- end
- safeForward()
- nbXCurr = nbXCurr + 1
- slot = 0
- while slot ~= 16 do
- slot = slot + 1
- turtle.select(slot)
- c = turtle.getItemDetail()
- if c then
- if c.name == "minecraft:stone" or c.name == "minecraft:dirt" or c.name == "minecraft:cobblestone" then
- turtle.drop()
- end
- end
- end
- end
- if nbY-nbYCurr > 1 then
- if ((nbYCurr+tripleCurr) % 2) == 0 then
- turtle.turnRight()
- else
- turtle.turnLeft()
- end
- while turtle.detect() do
- turtle.dig()
- end
- safeForward()
- if ((nbYCurr+tripleCurr) % 2) == 0 then
- turtle.turnRight()
- else
- turtle.turnLeft()
- end
- end
- nbYCurr = nbYCurr + 1
- end
- turtle.digDown()
- safeDown()
- if(tripleCurr % 2) == 1 then
- turtle.turnLeft()
- turtle.turnLeft()
- else
- turtle.turnRight()
- turtle.turnRight()
- end
- tripleCurr = tripleCurr + 1
- end
Add Comment
Please, Sign In to add comment