Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- rednet.open("right")
- function Puntaje()
- beeTable["Industrious"] = 31
- beeTable["Imperial"] = 30
- beeTable["Unweary"] = 21
- beeTable["Majestic"] = 20
- beeTable["Diligent"] = 11
- beeTable["Noble"] = 10
- beeTable["Cultivated"] = 6
- beeTable["Common"] = 5
- beeTable["Forest"] = 1
- beeTable["Meadows"] = 1
- end
- function agarroBee(pos)
- turtle.up()
- turtle.forward()
- turtle.forward()
- turtle.turnRight()
- for i = 1,pos do
- turtle.forward()
- end
- turtle.turnLeft()
- for i = 1,6 do
- if turtle.suck() then
- contarBees = contarBees + 1
- end
- end
- end
- function buscoCombs(pos)
- checkCombs = 0
- for i = 1,6 do
- turtle.select(i)
- for j = 16, 16 do
- if turtle.compareTo(j) then
- rednet.send(45, "Encontre Combs!\n")
- print("Encontre Combs!")
- if checkCombs == 0 then
- turtle.turnRight()
- turtle.down()
- temp = 8 - pos
- for h = 1,temp do
- turtle.forward()
- end
- turtle.turnLeft()
- turtle.forward()
- turtle.forward()
- checkCombs = 1
- end
- turtle.drop()
- turtle.select(contarBees)
- turtle.transferTo(i, 1)
- contarBees = contarBees - 1
- end
- end
- end
- end
- function scanBees(pos)
- if checkCombs == 1 then
- turtle.turnLeft()
- turtle.turnLeft()
- turtle.up()
- turtle.forward()
- else
- turtle.turnRight()
- temp = 7 - pos
- for i = 1,temp do
- turtle.forward()
- end
- turtle.turnLeft()
- turtle.forward()
- turtle.turnRight()
- turtle.forward()
- turtle.turnRight()
- end
- for i = 1, contarBees do
- turtle.select(i)
- turtle.drop()
- end
- turtle.down()
- turtle.forward()
- rednet.send(45, "\nEsperando 30 segundos mientras escane la primera abeja...\n")
- sleep(30)
- end
- function determineBest(slot)
- score = beeTable[data["speciesPrimary"]] + beeTable[data["speciesSecondary"]]
- rednet.send(45, "Actual: "..currScore)
- rednet.send(45, "Nuevo Puntaje: "..score.."\n")
- print("Actual: "..currScore)
- print("Nuevo Puntaje: "..score)
- if(bestDrone == 0) then
- bestDrone = slot
- currScore = score
- else
- if (score > currScore) then
- bestDrone = slot
- currScore = score
- end
- end
- end
- function analyzeBees()
- for i = 1, contarBees do
- turtle.select(i)
- turtle.suckUp()
- turtle.drop()
- m = peripheral.wrap("front")
- data = m.analyze()
- rednet.send(45, "\n-------------------------")
- if (data["type"] == "princess") then
- princess = i
- rednet.send(45, "Princesa = "..i)
- print("Princesa = "..i)
- else
- determineBest(i)
- end
- rednet.send(45, data["speciesPrimary"]..":"..data["speciesSecondary"])
- rednet.send(45, "Mejor Drone = "..bestDrone)
- print(data["speciesPrimary"]..":"..data["speciesSecondary"])
- print("Mejor Drone = "..bestDrone)
- turtle.suck()
- rednet.send(45, "-------------------------\n")
- if i ~= contarBees then sleep(26) end
- end
- end
- function returnBees(pos)
- turtle.turnRight()
- temp = 8 - pos
- for i = 1,temp do
- turtle.forward()
- end
- turtle.turnRight()
- turtle.forward()
- turtle.select(bestDrone)
- turtle.dropUp()
- turtle.turnLeft()
- turtle.turnLeft()
- turtle.forward()
- turtle.up()
- turtle.up()
- turtle.turnLeft()
- turtle.turnLeft()
- turtle.forward()
- turtle.select(princess)
- turtle.dropDown()
- turtle.back()
- turtle.down()
- end
- function Home(pos)
- turtle.turnLeft()
- for i = 1,pos do
- turtle.forward()
- end
- turtle.turnLeft()
- turtle.forward()
- turtle.forward()
- turtle.down()
- turtle.turnLeft()
- turtle.turnLeft()
- end
- function dropExcess()
- for i = 1, 6 do
- turtle.select(i)
- turtle.drop()
- end
- end
- while true do
- for nextpos=1,5 do
- rednet.send(45, "\n\n-------------------------")
- rednet.send(45, "\nApiary Nro. "..nextpos)
- rednet.send(45, "-------------------------")
- currslot = 1
- princess = 0
- bestDrone = 0
- data=""
- contarBees = 0
- beeTable = {}
- currScore = 0
- haybreak = 0
- turtle.select(1)
- Puntaje()
- agarroBee(nextpos)
- if (turtle.getItemCount(1) == 0) then
- Home(nextpos)
- print("No hay abejas para retirar")
- rednet.send(45, "No hay abejas para retirar")
- haybreak = 1
- end
- if haybreak == 0 then
- buscoCombs(nextpos, countBees)
- scanBees(nextpos)
- analyzeBees()
- returnBees(nextpos)
- Home(nextpos)
- dropExcess()
- end
- end
- rednet.send(45, "\n\nEsperando 5 Minutos...\n")
- print("Esperando 5 Minutos")
- sleep(300)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement