Advertisement
meuced

[LUA] Minage turtle optimisée V0.02

Feb 12th, 2013
1,016
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.40 KB | None | 0 0
  1. local direction = 0 --direction
  2. local drapeauBedrock = false --indicateur pour savoir si on est arrivé à la bedrock
  3. local profondeur = 0 --indique de combien on a creusé
  4. local niveauFuelMini = 5 -- niveau de déplacements auquel on doit refaire le plein
  5.  
  6. -- fonction qui compare et mine, tourne à droite et direction++
  7. function compare_mine()
  8.  
  9.     local slot = 0
  10.     local resultat = false
  11.    
  12.     for slot=1,3 do
  13.         turtle.select(slot)
  14.         if turtle.compare() or resultat then
  15.             resultat = true
  16.         end
  17.     end
  18.    
  19.     if resultat == false then
  20.         turtle.dig()
  21.     end
  22.    
  23.     turtle.turnRight()
  24.     direction=direction+1
  25.    
  26. end
  27.  
  28. function verifFuel() -- vérifie si on a assez de fuel (déplacements) en réserve.
  29.   -- 1 charbon = 96 deplacements
  30.   -- On vérifie le niveau de fuel
  31.     local niveauFuel = turtle.getFuelLevel()
  32.     if (niveauFuel ~= "unlimited") then
  33.         if (niveauFuel < niveauFuelMini) then
  34.             -- On a besoin de faire le plein
  35.             turtle.select(16)
  36.             local fuelItems = turtle.getItemCount(16)
  37.             if fuelItems < 5 then
  38.                 turtle.refuel(fuelItems)
  39.                 -- ici fonction pour retourner au depart pour reprendre du coal puis revient
  40.             else
  41.                 turtle.refuel(1) -- on recharge pour 96 deplacements
  42.             end
  43.         end
  44.     end
  45. end
  46.  
  47. -- turtle.select(16)
  48. -- turtle.refuel(1) -- correspond à 96 déplacements (avant arrière descendre monter)
  49.  
  50. verifFuel()
  51. turtle.digDown() --creuse le bloc dessous
  52. turtle.down() --descend d'un cran
  53. profondeur = profondeur+1
  54. verifFuel()
  55.  
  56. while drapeauBedrock == false do
  57.  
  58.     -- ici, direction = 0
  59.     while direction~=4 do
  60.         --compare et mine, tourne à droite et direction++
  61.         compare_mine()
  62.     end
  63.     direction=0
  64.    
  65.     if turtle.detectDown() == true then   -- on vérifie si il y a un bloc en dessous
  66.         if turtle.digDown() == false then -- si on n'arrive pas à creuser en dessous, alors c'est la bedrock
  67.             drapeauBedrock = true         -- donc je met le drapeau à true pour sortir de la boucle
  68.             print("bedrock !")
  69.         else
  70.             turtle.down()
  71.             profondeur = profondeur+1
  72.             verifFuel()
  73.         end
  74.     else                    -- si il n'y a pas de bloc alors c'est de l'air, de l'eau ou de la lave
  75.         turtle.down()       -- alors on descend simplement (la tortue ne craint pas la lave ou l'eau) et on continue à miner
  76.         profondeur = profondeur+1
  77.         verifFuel()
  78.     end
  79.    
  80. end
  81. print("fin de la boucle "..profondeur)
  82. -- ici je remonte à la surface
  83. while profondeur ~= 0 do
  84.     turtle.up()
  85.     profondeur = profondeur-1
  86.     verifFuel()
  87. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement