コード例 #1
0
 def __init__(self, player_id, ship_id, x, y, hp, vel_x, vel_y,
              docking_status, planet, progress, cooldown):
     self.id = ship_id
     self.pos = Circle(x, y, constants.SHIP_RADIUS)
     self.owner = player_id
     self.health = hp
     self.docking_status = docking_status
     self.planet = planet if (docking_status
                              is not Ship.DockingStatus.UNDOCKED) else None
     self._docking_progress = progress
     self._weapon_cooldown = cooldown
     self.velocity = Circle(vel_x, vel_y, 0)
コード例 #2
0
 def __init__(self, planet_id, x, y, hp, radius, docking_spots, current,
              remaining, owned, owner, docked_ships):
     self.id = planet_id
     self.pos = Circle(x, y, radius)
     self.num_docking_spots = docking_spots
     self.current_production = current
     self.remaining_resources = remaining
     self.health = hp
     self.owner = owner if bool(int(owned)) else None
     self._docked_ship_ids = docked_ships
     self._docked_ships = {}
コード例 #3
0
ファイル: squad.py プロジェクト: ecaginicolau/HaliteBot
 def gravitational_center(self):
     """
     Return the gravitational center of the squad
     :return:
     """
     center = Circle(0,0,0)
     for member in self.__members:
         center += member.ship.pos
     # Now divide by the number of members
     center = center / float(self.nb_members())
     logging.debug("gravitational_center: %s" % center)
     return center
コード例 #4
0
# Import & build cython at runtime
import pyximport
pyximport.install()

from bot.navigation import calculate_distance_between as distance2, Circle, calculate_angle_between as angle2, \
    closest_point_to as closest_point_to2, navigate as navigate2, intersect_segment_circle as intersect_segment_circle2

from time import time
from tests.distance_python import calculate_distance_between as distance1, calculate_angle_between as angle1, \
    closest_point_to as closest_point_to1, navigate as navigate1, intersect_segment_circle as intersect_segment_circle1


p1 = Circle(60, 80, 3)
p2 = Circle(180, 80, 2)
circle = Circle(-2, 2, 1)


nb = 1000000


"""
Distance
"""
print("\n\nDistance:")
start_time = time()
for i in range(nb):
    d = distance1(p1, p2)
end_time = time()
duration = end_time - start_time
print("distance: %s" % d)
print("python duration : %s" % duration)
コード例 #5
0
from bot.navigation import Circle, calculate_distance_between, segment_intersect

#DEBUG:root:navigate(ship=Circle(123.80, 91.19, 0.50), target=Circle(122.45, 85.11, 0.00), game_map, speed=7.0, max_corrections=90, angular_spep=1.0, ignore_ships=False, ignore_planets=False, ignore_ghosts=False, assassin=False)

line1 = (Circle(0, 0), Circle(10, 10))
line2 = (Circle(0, 10), Circle(10, 10))
print(segment_intersect(line1[0], line1[1], line2[0], line2[1]))

exit()
ship = Circle(123.80, 91.19, 0.50)
print("ship:%s " % ship)
target = Circle(122.45, 85.11, 0.00)
print("target: %s" % target)

new_target = ship + target
print("new_target: %s" % new_target)
new_target = ship - target
print("new_target: %s" % new_target)

new_target = ship * 2
print("new_target: %s" % new_target)

new_target = ship * target
print("new_target: %s" % new_target)

distance = calculate_distance_between(ship, target)
print("distance: %s" % distance)
コード例 #6
0
 def __init__(self, x, y, radius=0):
     self.pos = Circle(x, y, radius)
     self.health = None
     self.owner = None
     self.id = None
コード例 #7
0
 def __init__(self, x, y, radius, health, player, entity_id):
     self.pos = Circle(x, y, radius)
     self.health = health
     self.owner = player
     self.id = entity_id