кто нить знает алгоритм расположения обьктов как на скрине(красные квадраты),да и надо вообразить что там нету моей криворукости и все ровненько
черных квадратов может быть и 2х3,5х19,100х500,2х4 на скрине 2х2

Принятый ответ

8gabriel8, Я полагал, что чёрные - юниты/объекты внутри, а красные - юниты/объекты вокруг, вот собственно его задача была расстановка юнитов/объектов вокруг, но ты прав, нужно больше информации.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
27
5 лет назад
0
8gabriel8, Я всё ещё не вдупляю, почему повторений в цикле 8?
0
26
5 лет назад
0
Он нарисовал четыре чёрных квадрата, а не один большой. Информации предоставил мало, потому исходил из картинки, что надо делать алгоритм появления красных квадратов вокруг чёрного, чтобы не появлялись красные на чёрных. Иначе это стандартная расстановка при найме юнитов в здании.
0
27
5 лет назад
0
8gabriel8, Я полагал, что чёрные - юниты/объекты внутри, а красные - юниты/объекты вокруг, вот собственно его задача была расстановка юнитов/объектов вокруг, но ты прав, нужно больше информации.
Принятый ответ
1
17
5 лет назад
Отредактирован ledoed
1
PrincePhoenix:
8gabriel8, , нужно больше информации.
черных квадратов может быть и 2х3,5х19,100х500,2х4
мне самому кажется нужны 2 независимых цикла
for(int i=0;i<size.x;i++)
{
	posup = (-size.x/2 , 0)+(i,size.y)
	posdown =(-size.x/2 , 0)+(i,-size.y)
}
и тоже самое заполнение по "y",только размер увеличить на 2 так как заполнить углы над,но это какойто костыльный метод
возможно есть алгоритм на полярных координатах за 1 цикл где учитываться прямоугольность конструкции
0
27
5 лет назад
Отредактирован Феникс
0
ledoed, Ты же понимаешь, что для полного понимания картины нужно уточнить о чём собственно идёт речь, какие исходные данные есть и т.д. Подробнее опиши задачу.
Есть вариант:
x = номер углового квадрата
size = размер квадрата
countL = количество квадратов по длине //между угловыми
countH = количество квадратов по высоте //между между угловыми
length = DistanceBetweenPoints(x1, x2) - size
height = DistanceBetweenPoints(x1, x4) - size
countL =  lenght / size
countH = height / size
1
17
5 лет назад
Отредактирован ledoed
1
PrincePhoenix:
ledoed, Ты же понимаешь, что для полного понимания картины нужно уточнить о чём собственно идёт речь, какие исходные данные есть и т.д. Подробнее опиши задачу.
не учитываем смешение,в 0,0 координатах создаем прямоугольник из блоков,условно блок равен (1,1) тоесть чтобы создать поле 3х2 нужно затратить 6 блоков,и вокруг этого прямо-ка создать рамку ещё из квадратов тоесть стена,блок стены тоже размера (1,1)
DistanceBetweenPoints это x1*x1+x2*x2 под корнем?
0
27
5 лет назад
0
ledoed, вроде да, сейчас блокнот соображу открою
Уточни, имеются ли данные о количестве чёрных квадратов?
1
17
5 лет назад
Отредактирован ledoed
1
PrincePhoenix:
Так сказать пища для размышления
от 1-го 2 смещения вправо
от 2-го 2 смещения вниз
от 3-го 2 смещения влево
от 4-го 2 смещения вверх
Алгоритмов может быть несколько, от циклов с проверкой текущего номера куба, до простого назначения переменных
хаха как сам додумал до это вспомнил что гдето этот алгоритм видел
PrincePhoenix:
ledoed, вроде да, сейчас блокнот соображу открою
Уточни, имеются ли данные о количестве чёрных квадратов?
конечно есть они же строються 2м циклом
for(j)
	for(i)
		pos(-size.x/2+i,-size.y/2+j)
кол красных квадратов считаеться по формуле size.x * 2 + size.y * 2 + 4
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.