We should choose what is_outside_map() should accept. Initially it was is_outside_map(tile_x, tile_y) so let's accept tile position(int) and cast all float cases to int. is_outside_map() accepts both floats and ints in different places.