Думаю перепроверять весь массив локаций перед каждым спавном сферы -
крайне не оптимизировано.
Автор интуитивно понял суть оптимизации, но опыта реализовать нехватило.
Интересная задача, вот на мой взгляд правильное решение, минимум итераций.
Предупреждаю это логика подходит для поля 9х9, если поле больше, или вообще динамическое, тогда нужна другая логика, впрочем она тоже проста.
Здесь массив создается ручками, сделал так, просто для того что бы автор понял суть, и не усложнять никак.
https://picua.org/images/2020/05/25/e18 ... 343f1e.pnghttps://picua.org/images/2020/05/25/e9a ... 1ac985.pngЕсли нужна генерация поля
любого размера, что бы итераций было минимум, и массив ручками не создавать, это уже за деньги))
p.s. Шучу, генерация поля любого размера, и спавн сфер.
https://picua.org/images/2020/05/25/c7e ... dfe289.pnghttps://picua.org/images/2020/05/25/347 ... 036c6b.pngрезультат, квадрат полный массив -
https://picua.org/images/2020/05/25/56a ... 93d447.pngрезультат, прямоугольник и количество сфер = длина массива/2 -
https://picua.org/images/2020/05/25/754 ... ed0355.pngp.p.s. -
https://picua.org/images/2020/05/25/8a2 ... 5a1739.png - если нужно что бы сферы появлялись в строго определенных местах, убери ноду с рандомом.