Как-то раз мне пришла в голову мысль о честности модераторов и о сомнениях участников турнира в достоверности жеребьёвки. В итоге была написана программа жеребьёвки, заточенная под Worms, а в частности, под Worms Olympic: Global Tournament Moderator, или GTM.

GTM может быть использована для проведения жеребьёвки ЛЮБОГО
турнира с количеством участников от 4-х до 32-х
.

. Кроме всего прочего, цель программы заключается ещё и в рекламе нашей любимой Worms Armageddon. Программа оформлена в стиле W:A и, кроме того, в окне HELP находятся ссылки на основные ресуры W:A в интернете.

Этот вариант программы GTM осуществляет жеребьёвку
по принципу равенства всех участников
.

Будет и другая версия для турниров, где будет опция "посева" игроков и с возможностью сохранения и, соответственно, загрузки турнира. В этой версии я специально отключил опцию сохранения/загрузки во избежание подтасовок, ибо нет ничего проще вначале сохранить турнир, а затем проводить жеребьёвки до достижения результата, выгодного модератору.

Итак, работа с программой начинается с заполнения полей стартового экрана: модератор заполняет список игроков турнира и устанавливает галочки напротив игрока, если он способен создать хост.

Стартовое окно программы:

fg


Алгоритм программы ГАРАНТИРУЕТ абсолютно надёжное и беспристрастное осуществление жеребьёвки турнира, хотя (по возможности) может узнать своего создателя, хехе. Надеюсь, никто не сомневается, что я далёк от той мысли, чтобы выбирать себе соперников попроще. Тогда уж лучше вообще не играть, имхо.

Для генерации случайных чисел используется новая функция NET, которые обеспечивает лучший результат, чем старый вариант с Randomize() и RND().
ЗЫ Возможно, это связано с тем, что старая функция из классического VB работает в новой среде не совсем корректно.

Представьте, следующий код может выдавать число 23, что многих позабавило:
K = Int(Rnd() * 22 + 1)

GTM обладает большой гибкостью в плане количества участников турнира. Их количество может быть любым от 4-х до 32-х. В случае, если в каком-либо раунде количество игроков будет нечётным, то один из игроков (конечно, случайным образом) будет помечен и перейдет в следующий раунд без игры
(free round).

Пример с 27-ю участниками турнира. Как видно, в первом и третьем турах один
игрок будет в "free round":

fg

Попробуйте поэкспериментировать с программой...

Если начальное количество участников будет 16, то 8 будет во втором раунде, 4 в третьем и два игрока разыграют финал. Теперь введем только 13 участников. И что получим? В первом раунде будет 6 пар и один игрок - во free round. Следующий этап - три пары и снова один в free round. Затем две пары в третьем круге... Таким образом, несмотря на то, что программа легко позволит вам провести турнир и с 13-ю участниками, это не будет являться хорошим выбором. Поэтому не вызывает сомнений, что наилучшим выбором для турниров будет 8, 16 или 32 участника.

Программа не накладывает каких-либо ограничений модератору турнира, который вправе помечать или не помечать как выигравшего любого игрока. Эта опция введена на случай неявки игроков, дисквалификаций и т.п.:

Единственное, нельзя будет выделить как победителей обоих игроков из какой-либо пары. То есть, если отметить так, как на рисунке, GTM будет ругаться.

GTM допускает финальный раунд из двух или трёх игроков, как это обычно практикуется в Worms - турнирах. То есть финалисты сыграют каждый друг с другом.

GTM по возможности не сводит друг с другом игроков, которые не были помечены в первом экране флажком (can host). Однако, если количество игроков, которые не могут хостить, превышает количество хостящих игроков, то GTM старается уменьшить до минимума количество таких пар и предупреждает модератора турнира об этом.

При нажатии на имени первого игрока в паре, в буфер обмена будет помещён текст.
Это весьма удобно для последующей вставки в чат.

Если нажать сюда, то в буфер будет помещено: ''Pair № 7: Player № 10 vs Player № 4''

По нажатии на кнопку "Print Tournament" программа сохраняет образ окна турнира в файл на рабочий стол Windows. На сайте Worms Olympic будет, скорее всего, возможность увидеть этот файл, дабы никто не сомневался в честности модератора.

Реализована фишка с "водяными" надписями, весьма затрудняющими возможность редактирования сохранённого png-файла недобросовестными модераторами. Например, если попробовать скриншот программы редактировать в фотошопе, то придётся править и водяные знаки... Однако это весьма муторно и потребует большого кличества времени!

Если поменять в фотошопе япкость-контраст, то можно увидеть "водяные" знаки:

fg

В данном случае можно различить, что эти игроки помещены в первую пару.

---------------------------------------------------------------------------------------------------------------------------------------------------

Программа написана на языке Visual Basic.NET и требует для работы NET.Framework 3.5.
У кого-то до сих пор нет фоеймворка, скачайте с сайта Microsoft по этой ссылке.

Программа запускается с exe-файла и не требует инсталляции.

Работа над GMT доставила мне большое удовольствие и заодно позволила мне перейти на новую (2010) студию вместе со всем .NET. Все-таки разница с классическим VB большая, и некоторые вещи приходилось выцарапывать на форумах и в книжках. Однако, теперь мне понятно, что платформа NET обладает очень мощными возможностями (которые лишь на маааленький процент реализованы в этой программе).

GLOBAL TOURNAMENT MODERATOR
DOWNLOAD ver. 1.3

Замечания и предложения по программе пишите на e-mail: avkost&inbox.ru
или на форум

 

log

 

Hosted by uCoz