View difference between Paste ID: 10SzZJm8 and mHvH7T96
SHOW: | | - or go back to the newest paste.
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, "Esperando 30 segundos mientras escane la primera abeja...\n")
88+
      rednet.send(45, "\nEsperando 30 segundos mientras escane la primera abeja...\n")
89-
      print("Esperando 30 segundos mientras escanea Bees")
89+
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, "-------------------------")
96+
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-
        rednet.send(46, data["speciesPrimary"]..":"..data["speciesSecondary"])
129+
130-
        rednet.send(46, "Mejor Drone = "..bestDrone)
130+
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-
        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-
          rednet.send(46, "No hay abejas para retirar")
210+
211
        if haybreak == 0 then
212
          buscoCombs(nextpos, countBees)
213-
          rednet.send(45, "Abejas: "..contarBees)
213+
214-
          rednet.send(45, "---------------------")
214+
215
          returnBees(nextpos)
216
          Home(nextpos)
217
          dropExcess()
218-
          rednet.send(45, "Abejas: "..contarBees)
218+
219-
          rednet.send(45, "---------------------")
219+
220
      rednet.send(45, "\n\nEsperando 5 Minutos...\n")
221
      print("Esperando 5 Minutos")
222
      sleep(300)
223
    end