Показать сообщение отдельно
Старый 20-10-2006, 00:00   #8
DeadLine
Administrator
 
Регистрация: Jun 2006
Сообщения: 308
Send a message via Skype™ to DeadLine
По умолчанию

Цитата:
Сообщение от system error
Просьба написать то что надо от автоматизированой системы. Ее функции. итп
Вот, что написал Fomka

ТЗ к движку.

1. ОБЩИЕ ПОЛОЖЕНИЯ.
1.1. Любое максимальное количество играющих команд (Выставляется отдельно для каждой игры)
1.2. Любое количество заданий и бонусов.
1.3. По одному игровому окну на команду.
1.4. Возможность переключения между каждым из открытых заданий/бонусов (как для просмотра текста задания, так и
для ввода кода).
Желательно также, чтобы можно было просмотреть текст уже пройденных заданий.
1.5. Подсчёт времени с точностью до секунд.
1.6. Возможность просмотра текущей статистики в процессе игры (если это разрешено автором игры).
1.7. Возможность аварийного регулирования хода игры организатором.

2. ЗАДАНИЯ.
2.1. Задаётся количество заданий в игре. (и их тексты)
2.2. Для каждого из заданий задаётся количество подсказок. (и их тексты)
2.3. Для каждой из подсказок задаётся время её получения после прихода задания.
2.4. После прихода последней подсказки ко времени команды прибавляется заданное время (штраф за слив).
(Подразумевается, что
последняя подсказка - это код в явном виде. Если задано 0:00, то игра без штрафов).
2.5. Для каждого задания задаётся количество кодов (1 - нормальное задание, 2 и больше - составной код). При этом
количество кодов
явно не показывается движком, коды вводятся по очереди. (При желании, автор сам укажет количество кодов в задании.)
2.6. Для каждого из заданий задаётся очерёдность его выдачи. Должны быть реализованы варианты:
2.6.1. Номер, которым должно по счёту идти это задание.
2.6.2. Диапозон номеров, которым по счёту оно может быть. (Например, для задания с агентом логично задать "1-3",
чтобы не морозить
его на улице всю ночь).
2.6.3. Номер задания, за которым оно должно идти (для логически связанных заданий).
2.6.4. Неважно (случайная последовательность).
2.6.5. Запасное (Должно быть сначала введено в игру организатором. После этого тоже выдаётся в случайной
последовательности.)
Заданная очерёдность должна автоматически проверяться на непротиворечивость.
2.7. Для каждого задания задаётся список номеров тех заданий, которые находятся рядом с ним. (Чтобы не было два
задания подряд в
одном районе. Можно также использовать, чтобы не давать подряд два задания с похожей логикой, либо два задания с
агентом подряд, и
тд.).
2.8. Задания выдаются игрокам согласно следующему списку приоритетов (начиная с наивысшего):
2.8.1. Задан номер задания.
2.8.2. Задание должно идти за предыдущим.
2.8.3. Задан диапозон номеров.
(Эти три верхних слоя уже проверены на непротиворечивость и будут выполняться в любом случае).
2.8.4. Соседние задания не должны даваться подряд.
(В случае невозможности выполнения - этот пункт нарушается).
2.8.5. Команды не должны пересекаться на заданиях.
(В случае невозможности выполнения - команда отправляется на то задание, которое быстрее освободится. Скорость
освобождения
считается по времени до слива.)
Система приоритетов, возможно, будет доработана.

3. БОНУСЫ.
3.1. Задаётся количество бонусов в игре. (и их тексты)
3.2. Для каждого из бонусов задаётся бонусное время.
3.3. Для каждого из бонусов задаётся количество подсказок, для каждой из подсказок задаются:
3.3.1. Их тексты.
3.3.2. Время, на которое получение подсказки уменьшает бонусное время.
3.3.3. Тип получения - вручную (нажав на кнопку "хочу подсказку") или автоматически.
3.4. Для моментов начала действия бонуса, окончания действия бонуса и получения автоматической подсказки задаётся
одно из следующих
условий:
3.4.1. Получено задание Х.
3.4.2. Выполнено задание Х.
3.4.3. Получено n-e по счёту задание.
3.4.4. Выполнено n-e по счёту задание.
3.4.5. Выполнен (или слит) бонус Х.
3.4.6. Прошло t минут с момента получения бонуса Х.
3.4.7. Прошло t минут с момента начала игры.
3.5. Для каждого из бонусов должна быть возможность ввода составного кода на тех же условиях, что и для заданий.

4. ФОРС-МАЖОР.
Организатор игры должен обладать следующими возможностями:
4.1. Аварийный останов игры (с отключением движка и уведомлением всех играющих).
4.2. Снятие одной из команд.
4.3. Общий технический таймаут - пауза в выдаче новых заданий командам.
4.4. Технический таймаут для одной из команд.
4.5. Снятие одного из заданий или бонусов. Снятое задание не будет считаться в статистике для тех, кто уже успел
его пройти.
4.6. Ввод запасного задания в игру.
4.7. Редактирование текстов заданий, подсказок и бонусов в процессе игры. (?) (как вариант - только тех, которые
ещё никто не
получил).
4.8. "Технические штрафы или бонусы" - время, которое можно добавить/вычесть к результату любой из команд в
процессе игры или после
неё.
DeadLine вне форума   Ответить с цитированием