- m = re.match("pos=%s,%s,%s"%(INT,INT,INT), l)
- if m:
- robot_x = int(m.groups()[0])
- robot_y = int(m.groups()[1])
- robot_a = int(m.groups()[2])
- set_robot()
- m = re.match("ballboard=%s"%(INT), l)
- if m:
- print int(m.groups()[0])
- m = re.match("cobboard=%s"%(INT), l)
- if m:
- mode = int(m.groups()[0])
- if (mode & 0x01) == 0:
- robot_lspickle = 0
- elif (mode & 0x02) == 0:
- robot_lspickle = 1
- else:
- robot_lspickle = 2
- if (mode & 0x04) == 0:
- robot_rspickle = 0
- elif (mode & 0x08) == 0:
- robot_rspickle = 1
- else:
- robot_rspickle = 2
+
+ # parse position
+ if not m:
+ m = re.match("pos=%s,%s,%s"%(INT,INT,INT), l)
+ if m:
+ robot_x = int(m.groups()[0])
+ robot_y = int(m.groups()[1])
+ robot_a = int(m.groups()[2])
+ set_robot()
+
+ # parse ballboard
+ if not m:
+ m = re.match("ballboard=%s"%(INT), l)
+ if m:
+ print "ballboard: %d"%(int(m.groups()[0]))
+
+ # parse cobboard
+ if not m:
+ m = re.match("cobboard=%s,%s"%(INT,INT), l)
+ if m:
+ #print "cobboard: %x,%x"%(int(m.groups()[0]),int(m.groups()[1]))
+ side = int(m.groups()[0])
+ flags = int(m.groups()[1])
+ if side == 0:
+ robot_lspickle_deployed = ((flags & 1) * 2)
+ robot_lspickle_autoharvest = ((flags & 2) != 0)
+ else:
+ robot_rspickle_deployed = ((flags & 1) * 2)
+ robot_rspickle_autoharvest = ((flags & 2) != 0)
+
+ if scene.mouse.events != 0:
+ oppx, oppy, oppz = scene.mouse.getevent().project(normal=(0,0,1))
+ set_opp(oppx, oppy)
+ try:
+ if color == YELLOW:
+ fw.write("opp %d %d"%(int(oppx + 1500), int(oppy + 1050)))
+ else:
+ fw.write("opp %d %d"%(int(1500 - oppx), int(1050 - oppy)))
+ except:
+ print "not connected"