Handling the npc tank. from AIMap import AIMap import math from mymath import D1, D45, D360 self.tank = tank self.map = AIMap(tank.field.level) Instance creation error! Instance association error! self.tank = tank 0 : return True return False ]]> 0 : sighted_list.sort(key=lambda x: x[1]) return sighted_list[0][0] else : return (-1,-1) ]]> return new_position != self.enemy_pos raise enemy_lost raise stop_attacking received enemy lost self.tank = tank self.map = aimap stop_exploring received received attack received stop attack raise shoot self.tank = tank self.map = aimap return self.map.calculatePath(self.tank.getPosition(), self.destination) return self.map.calculateCell(self.destination) != self.map.calculateCell(new_destination) return len(self.waypoints) > 0 self.tank = tank self.map = aimap cell = self.map.calculateCell((self.tank.x, self.tank.y)) return cell == self.dest_cell = (D360 - D45) : #self.tank.moveSpeed = int(math.ceil(((diff - (D360 - D45)) / D45) * self.maxMoveSpeed)) return True return False ]]> = (D360 - D45) : return False return True ]]> = self.margin and diff <= math.pi: return True return False ]]> = self.margin and diff <= math.pi: return True return False ]]> (D360- self.margin) : return True return False ]]> self.tank = tank self.margin = tank.cannonSpeed * D1 = self.margin and diff <= math.pi: return True return False ]]> = self.margin and diff <= math.pi: return True return False ]]> (D360- self.margin): return True return False ]]> self.tank = tank self.tank = tank