Расстановка

Делаю арену, и тут маленькой подзадачкой стало расстановка игроков в лабиринте, таким образом чтоб шанс был практически равный у всех.
Сначала думал написать общий алгоритм, а потом решил, что нафик не надо, ибо количество игроков в лабиринте-арене – лимитировано.
И так вот, что получилось:
Есть лабиринт с размерами wh*wh, и есть n игроков. Задача расставить n игроков по полю наиболее равномерно, в зависимости от n.
Далее варианты:

  • Игрок один – становится ровно по центру c={wm/2,wh/2}
  • Два игрока – по диагонали в разных углах – рандомно два варианта c1 = {0,0}; c2 = {wm,hm} и c1 = {wm,0}; c2 = {0,hm}
  • Три игрока – считаем что wm ~ hm, а значит равносторонним треугольником: c1 = {wm/2,0}, c2 = {0,hm}, c3 = {wm,hm}
  • Четыре игрока – тут все ясно – по углам
  • Пять игроков – как и четыре плюс один в центре
  • Шесть игроков – тут вот не совсем равномерно получается, но два ряда по три. Рандом – либо ряды вертикальные, либо горизонтальные
  • Семь игроков – как и шесть, только с добавочным по середине
  • Восемь – по периметру через каждые wh/2
  • Девять (и думаю это максимум) – по периметру, и один посередине

  • Конечно, именно на конкретных местах встать не получится (стенка или нельзя пройти) – поэтому на все будет дана погрешность, будет по расширяющей спирали искаться свободное, под солнцем, место.