Показать сообщение отдельно
Старый 20.08.2007, 13:03   #4
jimon
 
Сообщений: n/a
Re: Расстановка.

хм я тут подумал что width и height должны быть кратны 2
иначе ты общий масив не поделиш на 4 части
в принципе ето условие для простого решения задачи

теоретически я думаю ее возможно решить при общем условии
размер масива с числами * 4 <= width * height

первоначально надо выделить из общего масива 1/4 часть
и сделать из нее одномерный масив,

к примеру вот у нас игровая область :
0000
0000
0000
если ее делить на 4 части
при размере масива с числами = 3 то выйдет так
(числами обозначены номер части масива)
1133
1243
2244
или так
1133
2134
2244

в общем нам надо получить только номера клеток для первого под масива

потом все просто - превращаем его в одномерный масив по алгоритму
который я описал в 2 посте пункт 2
размер етого масива будет => размера масива с числами

заполняем псевдо-случайно,
но так чтобы генератор чисел генерировал "ближе" к нулю
(при такой генерации юниты будут только с краев карты)

после всего етого берем етот одномерный масив и копируем в первый блок общего масива
потом собсно инверсно копируем в остальные 4

ps. а задача оказалась чуть сложнее чем я думал
но imho тут нету ничего уж слишком сложного
 
Ответить с цитированием