Игра полковника Блотто
Задание на разработку бизнес-процесса "Игра Полковника Блотто"
Краткое описание предметной области:
Является игрой двух лиц, в которой задача игроков состоит в распределении ограниченных ресурсов по нескольким объектам (полям битв). В классической версии игры игрок, выставивший больше ресурсов на поле, выигрывает битву на этом поле, а суммарный выигрыш (цена игры) равен сумме выигранных битв.
Игра названа в честь мифического Полковника Блотто из работы Гроса и Вагнера (Gross and Wagner) 1950-го года. Полковник был обязан найти оптимальное распределение своих солдат по нескольким полям сражений, зная что:
- на каждом поле сторона, выставившая больше солдат, выигрывает
- ни одна сторона не знает, какое число солдат выставит противоположная сторона на каждом поле
- обе стороны стремятся максимизировать число полей, на которых битва будет выиграна.
В игре участвуют два игрока и ведущий. Имеется три поля сражений и одинаковое количество солдат у каждого игрока. В начале каждого раунда игроки одновременно последовательно вводят три положительных целых числа (количество солдат на каждом поле битвы), сумма которых равна общему количеству солдат у каждого игрока. Затем эти числа попарно сравниваются. - Сравниваются три пары чисел, находящихся в одной и той же позиции у каждого игрока (т.е. число солдат на каждом поле). Игрок, у которого в двух позициях числа больше (то есть, выигравший не менее двух битв), выигрывает раунд и получает количество очков, равное количеству выигранных битв. Если число солдат на поле совпадает, то битва на поле оканчивается вничью. Если число выигранных битв за раунд у обоих игроков совпадает, то раунд оканчивается вничью. Игрок, набравший наибольшее количество очков за заранее известное количество раундов, объявляется победителем. Если оба игрока набрали одинаковое количество очков, то объявляется ничья.
Описание последовательностей действий в бизнес-процессе
Бизнес-процесс начинается с того, что «Ведущий» в стартовой форме вводит количество раундов и выбирает из группы «Группа МП-15-1» первого и второго игрока. Проверка значений переменных формы должна проверять, что эти игроки не совпадают друг с другом и с ведущим. Далее игра ведется раундами. В начале каждого раунда ведущий вводит количество солдат у каждого игрока. Далее игроки ходят одновременно, вводя количество солдат на каждое поле битвы. Бизнес-процесс должен проверять, что сумма количеств солдат по трем полям битвы равно общему количеству солдат. Далее бизнес-процесс определяет, кто из игроков выиграл раунд и сколько очков получил в этом раунде и сообщает об этом обоим игрокам и ведущему. Далее начинается следующий раунд.
После окончания заранее известного числа раундов игра заканчивается. Игрок, набравший наибольшее количество очков, объявляется выигравшим. Если оба игрока набрали одинаковое количество очков, то объявляется ничья. Обоим игрокам и ведущему бизнес-процесс сообщает результат игры и количество очков каждого игрока. После этого бизнес-процесс завершается.
Замечание1. Схема разработанного бизнес-процесса должна умещаться на экране компьютера. Если схема не помещается на экране, то ее части надо выносить во внутренние или внешние подпроцессы.
Замечание2. По возможности надо использовать парные разделения и слияния. Нотация BPMN позволяет использовать в схемах бизнес-процессов элементы разделения без парных им элементов - слияний. В этом случае для удаления выполнивших свою задачу точек управления можно использовать элемент - завершение потока управления. Однако, предпочтительной схемой является схема с парными разделениями и слияниями, так как такие схемы, несмотря на большее число содержащихся в них элементов, являются более понятными бизнес-аналитику, так как участок схемы между разделением и парным им слиянием можно мысленно декомпозировать и таким образом разделить схему бизнес-процесса на две более простых.
Замечание3. Разделения и парные им слияния должны быть так расположены (обычно на одной горизонтальной, или вертикальной линии), чтобы на схеме бизнес-процесса для одного элемента можно было бы легко найти парный ему элемент.
Замечание4. Желательно, чтобы линии переходов, соответствующих одновременно выполняющимся потокам действий, были параллельными, т.к. это увеличивает понятность схемы.
Замечание5. Использовать элементы «окончание бизнес-процесса» предпочтительнее, чем элементы «завершение потока управления», так как в этом случае бизнес-аналитику легче анализировать схему выполняющегося экземпляра бизнес-процесса с нанесенными на нее точками управления. В случае прихода точки управления в элемент «окончание бизнес-процесса» экземпляр бизнес-процесса сразу завершается, в случае же использования элементов «завершение потока управления» бизнес-аналитику приходится затрачивать больше усилий для того, чтобы следить за тем, чтобы все точки управления пришли в элементы «окончание бизнес-процесса».