Итак, долгожданное обновление! Все, о чем так долго спорили, пришло наконец в реальный мир и готово к критике, замечаниям. Но не фразам "Это подстава и этим пользоваться категорически запрещено!"
Не хотите - тяните из мешочков шарики, кости, лотошки, бумажки...
Полуавтоматическая жеребьевка!
Реализована она на основе вспомогательных функций, которые были написаны чуть ранее и которым предписано следить за зонами и секторами, оставшимися в жеребьевочных "мешочках", а так же слежение за краями зон и смежными секторами, относительно которых есть определенные запреты. Мне оставалось лишь прописать порядок "случайности" жеребьевки команд и личников. Т.е. программа имеет набор зон и секторов, доступных для жеребьевки командами и личниками. И вибирает она их случайным образом (отдельно зоны и отдельно сектора). И следит при этом за смежностью зон, крайними секторами.
При этом, очередность жеребьевки остается за человеком. Хотя, в случае выпадения командам крайних секторов, программа рекомендует отжеребить их в первую очередь (см. информационное поле) при переходе на жеребьевку нового тура.
Личники жеребятся по одному. Программа формирует список оставшихся для них секторов и так же раздает их случайным образом.
Для того, что бы выбрать полуавтоматический режим жеребьевки, необходимо поставить галочку "Полуавтоматическая жеребьевка". При этом появится поле списка команд и личников, из которого (двойным кликом мышки или пробелом) выбирается объект жеребьевки. Личники в этом списке обозначены как "(Л)".
Оператору необходимо выбрать пункт (команду или личника). Появится диалоговое окно, в котором объекту жеребьевки достаточно будет только нажать клавишу "Ввод" или "пробел".
Однако! Если вы не определите кол-во секторов в зонах, полуавтоматическая жеребьевка не будет доступна.
Фууу. Многа букав. Надеюсь, я понятно все изложил?...
;)