Advertisement
naej

minage opti controle manuel

Sep 8th, 2013
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.53 KB | None | 0 0
  1. -- Controle des parametres
  2. local tArgs = { ... }
  3.  
  4. if #tArgs == 0 then
  5.   print("Hey biatch !! je vais ou ?")
  6.   print("Syntaxe: Commande <longueur> <nb_de_tunnels>")
  7.   return
  8. end
  9.  
  10. -- Declaration des variables
  11. local length = tonumber(tArgs[1])
  12. local width = tonumber(tArgs[2])
  13. local slotNum = 0
  14. local loop = 0
  15. local torchPlace = 0
  16. local nbTorch = 0
  17. local retry = 0
  18.  
  19. -- Plein d'energie
  20. if turtle.getFuelLevel() == 0 then
  21.   turtle.select(16)
  22.   print("Ajoutez du Carburant dans le dernier slot.")
  23.   print("Entree pour continuer")
  24.   ok  = read()
  25.   turtle.refuel()
  26.   if turtle.getFuelLevel() == 0 then
  27.     print("Boulay !! donne moi quelque chose a cramer pour avancer !!")
  28.     return
  29.   elseif turtle.getFuelLevel() == "unlimited" then
  30.     print("Pwoua trop cheater meme pas besoin de cramer quelque chose pour foncer !!")
  31.     return
  32.   end
  33. elseif turtle.getFuelLevel() > 0 then
  34.   print("Niveau de carburant : " .. turtle.getFuelLevel())
  35.   turtle.select(16)
  36.   print("Ajoutez du Carburant dans le dernier slot pour completer le plein.")
  37.   print("Entree pour continuer")
  38.   ok  = read()
  39.   turtle.refuel()
  40. end
  41. -- Plein de torche
  42. print("Ajoutez des torches dans le premier slot.")
  43. print("Entree pour continuer")
  44. ok = read()
  45. nbTorch = turtle.getItemCount(1)
  46. if nbTorch == 0 then
  47.   print("Meme pas peur du noir...")
  48. else
  49.   print("Bien mieux pour miner en paix.")
  50. end
  51.  
  52. -- Fonction placement de torches
  53. function torch()
  54.   if torchPlace == 10 then
  55.     turtle.back()
  56.     turtle.select(1)
  57.     turtle.placeDown()
  58.     torchPlace = 0
  59.     turtle.forward()
  60.   else
  61.     torchPlace = torchPlace + 1
  62.   end
  63. end
  64.  
  65. -- Fonction gestion des bocages
  66. function moveForward()
  67.   if turtle.forward() == false then
  68.     while turtle.dig() do
  69.     end
  70.     if turtle.forward() == false then
  71.       print("Deplacement impossible")
  72.       return false
  73.     end
  74.   return true
  75.   end
  76. end
  77.  
  78. -- Fonction de minage
  79. function digger(n)
  80.   print("Debut de la phase de minage.")
  81.   torchPlace = 0
  82.   while (n > 0) do
  83.     turtle.dig()
  84.     moveForward()
  85.     turtle.digUp()
  86.     turtle.digDown()
  87.     torch()
  88.     n = n - 1
  89.   end
  90.   print("")
  91. end
  92.  
  93. -- Fonction de retour sur la longueur
  94. function backL(n)
  95.   print("Retour au coffre.")
  96.   turtle.turnLeft()
  97.   turtle.turnLeft()
  98.   while (n > 0) do
  99.     moveForward()
  100.     n = n - 1
  101.   end
  102. end
  103.  
  104. -- Fonction de retour sur la largeur
  105. function backW(n)
  106.   turtle.turnRight()
  107.   n = n * 3
  108.   while (n > 0)do
  109.     moveForward()
  110.     n = n - 1
  111.   end
  112.   turtle.turnLeft()
  113. end
  114.  
  115. -- Fonction vidage dans le coffre
  116. function drop()
  117.   print("Devidage des items dans le coffre.")
  118.   slotNum = 2
  119.   repeat
  120.     turtle.select(slotNum)
  121.     turtle.drop()
  122.     slotNum = slotNum + 1
  123.   until slotNum == 17
  124.   print("")
  125. end
  126.  
  127. -- Fonction placement pour la ligne suivante
  128. function nextLine(n)
  129.   turtle.turnLeft()
  130.   n = n * 3
  131.   while (n > 0) do
  132.     turtle.dig()
  133.     moveForward()
  134.     turtle.digUp()
  135.     n = n - 1
  136.   end
  137.   turtle.turnLeft()
  138. end
  139.  
  140. -- Programme principal
  141.  
  142. print("+--------------------------+")
  143. print("|     Debut du minage      |")
  144. print("+--------------------------+")
  145. print("")
  146. print("longueur des tunnels : " .. length)
  147. print("nombre de tunnels : " .. width)
  148. print("")
  149.  
  150. digger(length)
  151. backL(length)
  152. drop()
  153.  
  154. width = width - 1
  155.  
  156. while (loop < width) do
  157.   loop = loop + 1
  158.   nextLine(loop)
  159.   digger(length)
  160.   backL(length)
  161.   backW(loop)
  162.   drop()
  163. end
  164.  
  165. print("+--------------------------+")
  166. print("|      Fin du minage       |")
  167. print("+--------------------------+")
  168. print("")
  169. print("Nombre de blocs detruits : " .. length * width * 3 + length * 3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement