finish extra/bringing-a-gun-to-a-trainer-fight #9
@ -13,19 +13,13 @@ def solution(dimentions, your_position, trainer_position, distance):
|
|||||||
return sum(1 for (position, is_trainer) in nearest_target.values() if is_trainer and line_length(your_position, position) <= distance)
|
return sum(1 for (position, is_trainer) in nearest_target.values() if is_trainer and line_length(your_position, position) <= distance)
|
||||||
|
|
||||||
def generate_room_id(dimentions, your_position, distance):
|
def generate_room_id(dimentions, your_position, distance):
|
||||||
memo = []
|
|
||||||
room_width = dimentions[0]
|
room_width = dimentions[0]
|
||||||
room_height = dimentions[1]
|
room_height = dimentions[1]
|
||||||
x_range = distance / room_width + 1
|
x_range = distance / room_width + 1
|
||||||
y_range = distance / room_height + 1
|
y_range = distance / room_height + 1
|
||||||
for room_x in range(x_range):
|
for room_x in range(-x_range, x_range):
|
||||||
for room_y in range(y_range):
|
for room_y in range(-y_range, y_range):
|
||||||
memo += [(room_x, room_y)]
|
|
||||||
yield room_x, room_y
|
yield room_x, room_y
|
||||||
for room_x, room_y in memo:
|
|
||||||
yield - room_x - 1, room_y
|
|
||||||
yield room_x, - room_y - 1
|
|
||||||
yield - room_x - 1, - room_y - 1
|
|
||||||
|
|
||||||
def generate_positions(dimentions, your_position, trainer_position, distance):
|
def generate_positions(dimentions, your_position, trainer_position, distance):
|
||||||
room_width, room_height = dimentions
|
room_width, room_height = dimentions
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user