Advertisement
thekazador

Untitled

Dec 2nd, 2012
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     rednet.open("right")
  2.  
  3.     function Puntaje()
  4.         beeTable["Industrious"] = 31
  5.         beeTable["Imperial"] = 30
  6.         beeTable["Unweary"] = 21
  7.         beeTable["Majestic"] = 20
  8.         beeTable["Diligent"] = 11
  9.         beeTable["Noble"] = 10
  10.         beeTable["Cultivated"] = 6
  11.         beeTable["Common"] = 5
  12.         beeTable["Forest"] = 1
  13.         beeTable["Meadows"] = 1
  14.     end
  15.  
  16.     function agarroBee(pos)
  17.       turtle.up()
  18.       turtle.forward()
  19.       turtle.forward()
  20.       turtle.turnRight()
  21.       for i = 1,pos do
  22.         turtle.forward()
  23.       end
  24.       turtle.turnLeft()
  25.      
  26.       for i = 1,6 do
  27.         if turtle.suck() then
  28.           contarBees = contarBees + 1
  29.         end
  30.       end
  31.     end
  32.      
  33.     function buscoCombs(pos)
  34.       checkCombs = 0
  35.       for i = 1,6 do
  36.         turtle.select(i)
  37.         for j = 16, 16 do
  38.           if turtle.compareTo(j) then
  39.             rednet.send(45, "Encontre Combs!\n")
  40.             print("Encontre Combs!")
  41.             if checkCombs == 0 then
  42.               turtle.turnRight()
  43.               turtle.down()
  44.               temp = 8 - pos
  45.               for h = 1,temp do
  46.                 turtle.forward()
  47.               end
  48.               turtle.turnLeft()
  49.               turtle.forward()
  50.               turtle.forward()
  51.               checkCombs = 1
  52.             end
  53.             turtle.drop()
  54.             turtle.select(contarBees)
  55.             turtle.transferTo(i, 1)
  56.             contarBees = contarBees - 1
  57.           end
  58.         end
  59.       end
  60.     end
  61.      
  62.     function scanBees(pos)
  63.       if checkCombs == 1 then
  64.         turtle.turnLeft()
  65.         turtle.turnLeft()
  66.         turtle.up()
  67.         turtle.forward()
  68.       else
  69.         turtle.turnRight()
  70.         temp = 7 - pos
  71.         for i = 1,temp do
  72.           turtle.forward()
  73.         end
  74.         turtle.turnLeft()
  75.         turtle.forward()
  76.         turtle.turnRight()
  77.         turtle.forward()
  78.         turtle.turnRight()
  79.       end
  80.      
  81.      
  82.       for i = 1, contarBees do
  83.         turtle.select(i)
  84.         turtle.drop()
  85.       end
  86.       turtle.down()
  87.       turtle.forward()
  88.       rednet.send(45, "\nEsperando 30 segundos mientras escane la primera abeja...\n")
  89.       sleep(30)
  90.     end
  91.      
  92.      
  93.     function determineBest(slot)
  94.       score = beeTable[data["speciesPrimary"]] + beeTable[data["speciesSecondary"]]
  95.       rednet.send(45, "Actual: "..currScore)
  96.       rednet.send(45, "Nuevo Puntaje: "..score.."\n")
  97.       print("Actual: "..currScore)
  98.       print("Nuevo Puntaje: "..score)
  99.       if(bestDrone == 0) then
  100.         bestDrone = slot
  101.         currScore = score
  102.       else
  103.         if (score > currScore) then
  104.           bestDrone = slot
  105.           currScore = score
  106.         end    
  107.       end          
  108.     end
  109.      
  110.          
  111.     function analyzeBees()
  112.       for i = 1, contarBees do
  113.         turtle.select(i)
  114.         turtle.suckUp()
  115.         turtle.drop()
  116.         m = peripheral.wrap("front")        
  117.         data = m.analyze()
  118.         rednet.send(45, "\n-------------------------")
  119.         if (data["type"] == "princess") then
  120.           princess = i
  121.           rednet.send(45, "Princesa = "..i)
  122.           print("Princesa = "..i)
  123.         else
  124.           determineBest(i)            
  125.         end
  126.         rednet.send(45, data["speciesPrimary"]..":"..data["speciesSecondary"])
  127.         rednet.send(45, "Mejor Drone = "..bestDrone)
  128.         print(data["speciesPrimary"]..":"..data["speciesSecondary"])
  129.         print("Mejor Drone = "..bestDrone)
  130.         turtle.suck()
  131.         rednet.send(45, "-------------------------\n")
  132.         if i ~= contarBees then sleep(26) end
  133.       end    
  134.     end
  135.      
  136.      
  137.     function returnBees(pos)
  138.       turtle.turnRight()
  139.       temp = 8 - pos
  140.       for i = 1,temp do
  141.         turtle.forward()
  142.       end
  143.      
  144.       turtle.turnRight()
  145.       turtle.forward()
  146.      
  147.       turtle.select(bestDrone)
  148.       turtle.dropUp()
  149.      
  150.       turtle.turnLeft()
  151.       turtle.turnLeft()
  152.       turtle.forward()
  153.       turtle.up()
  154.       turtle.up()
  155.       turtle.turnLeft()
  156.       turtle.turnLeft()
  157.       turtle.forward()
  158.       turtle.select(princess)
  159.       turtle.dropDown()
  160.       turtle.back()
  161.       turtle.down()
  162.     end
  163.      
  164.     function Home(pos)
  165.       turtle.turnLeft()
  166.       for i = 1,pos do
  167.         turtle.forward()
  168.       end
  169.       turtle.turnLeft()
  170.       turtle.forward()
  171.       turtle.forward()
  172.       turtle.down()
  173.       turtle.turnLeft()
  174.       turtle.turnLeft()
  175.     end
  176.      
  177.      
  178.     function dropExcess()
  179.       for i = 1, 6 do
  180.         turtle.select(i)
  181.         turtle.drop()
  182.       end  
  183.     end
  184.      
  185.      
  186.     while true do
  187.       for nextpos=1,5 do
  188.         rednet.send(45, "\n\n-------------------------")
  189.         rednet.send(45, "\nApiary Nro. "..nextpos)
  190.         rednet.send(45, "-------------------------")
  191.      
  192.         currslot = 1
  193.         princess = 0
  194.         bestDrone = 0
  195.         data=""
  196.         contarBees = 0
  197.         beeTable = {}
  198.         currScore = 0
  199.      
  200.         haybreak = 0
  201.         turtle.select(1)
  202.         Puntaje()
  203.         agarroBee(nextpos)
  204.      
  205.         if (turtle.getItemCount(1) == 0) then
  206.           Home(nextpos)
  207.           print("No hay abejas para retirar")
  208.           rednet.send(45, "No hay abejas para retirar")
  209.           haybreak = 1
  210.         end
  211.         if haybreak == 0 then
  212.           buscoCombs(nextpos, countBees)
  213.           scanBees(nextpos)
  214.           analyzeBees()
  215.           returnBees(nextpos)
  216.           Home(nextpos)
  217.           dropExcess()
  218.         end
  219.       end
  220.       rednet.send(45, "\n\nEsperando 5 Minutos...\n")
  221.       print("Esperando 5 Minutos")
  222.       sleep(300)
  223.     end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement