Завершение игры на сайте¶
Игрок игры завершает на сайте идущую игру: выбирает победителя, тип победы и количество ходов, а результат и рейтинги получаются такие же, как после /игра завершить (/game finish).
На этой странице: Кто видит кнопку, Диалог завершения игры, Подсказка из сейва, Игроки без нации, Результат, Что может пойти не так
Участники¶
Это действует на сервере, с которым работает сайт CivBot.
- Игрок игры — владелец места в игре: открывает диалог на странице игры, проверяет поля и подтверждает завершение.
- Модератор без места в игре — на сайте игру только просматривает; завершает её в Discord командой
/игра завершить. Подробнее — Завершение игры. - Гость — игру на сайте не видит: и список игр, и страница игры просят войти через Discord.
- Сайт — показывает диалог, подставляет предложение из сейва и записывает результат.
- Бот — перерисовывает карточку игры в треде и список последних игр.
Шаги¶
sequenceDiagram
participant G as Игрок
participant S as Сайт
participant B as Бот
G->>S: нажимает «Завершить игру»
S-->>G: показывает диалог «Завершить игру?» с предложением из сейва
G->>S: выбирает победителя, победу и ходы
G->>S: нажимает «Завершить игру» в диалоге
S-->>G: закрывает диалог и показывает завершённую игру
S->>B: сообщает о результате
B-->>G: обновляет карточку игры в треде и список последних игр
- Откройте страницу игры. Войдите на сайт через Discord, откройте свою игру в состоянии «В процессе» и нажмите «Завершить игру». Кнопка стоит в шапке игры; когда к игре прикреплён сейв, такая же кнопка есть и в баннере закрытия игры. Обе открывают один и тот же диалог.
- Проверьте поля. В диалоге «Завершить игру?» три поля: «Победитель», «Победа» и «Ходы». Прикреплённый сейв может подставить значения, но решаете вы.
- Выберите нацию тем, у кого её ещё нет. Пока у кого-то из игроков нет нации, кнопка подтверждения выключена. Нацию можно выбрать тут же, в диалоге.
- Подтвердите. Нажмите «Завершить игру» внизу диалога. Отдельного второго подтверждения нет: после нажатия игра завершена, и результат уже не изменить.
- Дождитесь обновления в Discord. Страница игры обновляется сразу, а бот перерисовывает карточку игры в треде и список последних игр в течение нескольких секунд (до 15 с).
Кто видит кнопку¶
Кнопку «Завершить игру» видит только игрок этой игры, и только пока у игры состояние «В процессе». Для всех остальных на странице игры кнопки нет.
Модератор без места в игре
Сайт не знает ролей Discord, поэтому модератор, который не играет в этой игре, кнопки не видит. Он завершает игру в Discord командой /игра завершить: там модератор может завершить любую игру сервера. Подробнее — Завершение игры.
Кнопки нет и тогда, когда игра уже завершена, прервана или закрыта: изменить такие игры с сайта нельзя.
Диалог завершения игры¶
Диалог «Завершить игру?» открывается поверх страницы игры. Вступление поясняет: «То же, что /finish в Discord: кто бы ни завершил, здесь или там, результат и рейтинги выйдут одинаковыми.» Внизу две кнопки: «Отмена» и «Завершить игру». Пока сайт записывает результат, на кнопке написано «Завершаем…», а поля и «Отмена» выключены.
| Поле | Что в нём | Подсказка |
|---|---|---|
| «Победитель» | Меню из всех игроков этой игры, в строке имя и нация | «Выберите игрока этой игры» |
| «Победа» | Один из пяти типов | — |
| «Ходы» | Целое число от 1 до 330 | «Ход», примечание «от 1 до 330» |
Победитель¶
Победителем можно выбрать только игрока этой игры. Строка меню выглядит как «Orion · Аравия»; если у игрока ещё нет нации, в строке только имя.
Победа¶
Типов пять, и они те же, что в /игра завершить:
- «Научная победа»;
- «Туристическая победа»;
- «Дипломатическая победа»;
- «Военная победа»;
- «Признание победителя».
Собственный тип вписать нельзя.
Ходы¶
В поле вписывают целое число от 1 до 330. Если значение пустое, не целое или выходит за эти границы, ошибки на экране нет: кнопка «Завершить игру» в диалоге просто остаётся выключенной.
Кнопка включается, когда выбраны победитель и тип победы, в «Ходы» стоит корректное число и у каждого игрока есть нация.
Под полями диалог перечисляет последствия: «Рейтинги всех игроков считаются так же, как /finish в игре FFA», «Сообщение игры в Discord обновляется» и с отметкой-предупреждением «Результат потом не изменить ни здесь, ни в Discord».
Подсказка из сейва¶
Если к игре прикреплён сейв, он только предлагает значения: сам ничего не записывает. Над полями стоит полоска с пояснением, а поля, которые ещё совпадают с предложением сейва, имеют метку «из сейва». Измените поле, и метка исчезнет. Каждый раз, когда вы открываете диалог, поля заполняются из сейва заново. Без сейва полоски и подстановки нет. Подробнее о сейвах — Сейвы игры на сайте.
Сейв подставляет победителя, только когда знает ровно одного победителя и этот игрок сопоставлен с местом в игре. Тип победы он подставляет в трёх случаях: победа в космической гонке — «Научная победа», победа завоеванием — «Военная победа», культурная — «Туристическая победа». Ход — это ход победы, а если его нет, то ход сейва.
У полоски пять вариантов:
| Ситуация | Что пишет полоска |
|---|---|
| Сейв записал победу, поля заполнены | «Заполнено из сейва хода 212 — проверьте перед завершением» |
| Сейв записал дипломатическую победу | «Сейв хода 212 записал дипломатическую победу игрока Vega: голосование в ООН или признание поражения, файл не различает — выберите победу сами» |
| Сейв записал победу по очкам | «Сейв хода 212 записал победу по очкам игрока Vega: победитель и ходы заполнены, победу выберите сами» |
| Победитель сейва не сопоставлен с игроком игры | «Сейв записал победу на ходу 212, но её победитель не сопоставлен с игроком этой игры — выберите победителя сами» |
| В сейве ещё нет результата | «Сейв ещё не содержит результата — заполните поля сами» |
В тексте полоски стоит настоящий номер хода и имя игрока. Когда победитель не сопоставлен или результата нет, поля пустые.
Игроки без нации¶
Перед завершением у каждого игрока должна быть нация: выбранная в игре или та, за которую он играл по сейву. Если у кого-то из игроков нации ещё нет, в диалоге появляется жёлтый блок с заголовком вроде «Orion — ещё без нации» и текстом «Перед завершением игры нация нужна каждому игроку. Выберите её здесь — тот же выбор, что на карточках, — или прикрепите сейв.»
Для каждого такого игрока есть строка с кнопкой «Выбрать нацию». Она открывает тот же список наций, что и карточка игрока на странице игры:
- есть поле «Поиск нации»;
- заголовок списка «Нация для Orion · 3 из 43, без банов» показывает, сколько наций в списке этого игрока (первое число) и сколько их всего (второе);
- нация, которую уже выбрал другой игрок, отмечена «занято · Vega» и недоступна;
- если ничего не подходит, список пишет «Ни одна нация не подходит».
Выбор сохраняется сразу, так же как на карточке игрока, а бот перерисовывает карточку в Discord. Когда нации есть у всех, блок исчезает. Подробнее о выборе в Discord — Выбор наций и обмен слотами.
Результат¶
После подтверждения:
- игра получает состояние «Завершена», а сайт записывает победителя, тип победы и количество ходов;
- в игре FFA меняется рейтинг всех игроков так же, как после
/игра завершить, а в игре Duel рейтинг не меняется; подробнее — Как считается рейтинг; - диалог закрывается, а страница игры показывает результат;
- в шапке игры появляется метка «Завершено на сайте» с именем игрока и датой;
- бот обновляет карточку игры в треде и список последних игр на панели игры.
Если к игре уже прикреплён сейв, все игроки сопоставлены и ожидающих замен нет, сайт сразу закрывает игру. Иначе игра остаётся завершённой: когда сейв прикреплён, баннер под шапкой пишет, чего не хватает до закрытия; без сейва его сначала нужно прикрепить. Подробнее — Страница игры и Сейвы игры на сайте.
Правила и исключения¶
Результат одинаковый, где бы игру ни завершили¶
Сайт и /игра завершить дают один и тот же результат, те же проверки и тот же рейтинг. Рейтинг начисляется один раз: если игру одновременно завершают на сайте и в Discord, второе завершение уже не проходит.
Завершённую игру не изменить¶
После завершения результат нельзя изменить ни на сайте, ни в Discord. Закрытую игру изменить с сайта нельзя вообще.
Если игра уже завершена¶
Когда игру завершил кто-то другой, пока ваш диалог был открыт, диалог показывает блок «Эта игра уже завершена» с единственной кнопкой «Закрыть». В нём сказано, где игра завершена: «на сайте» или «в Discord».
Что может пойти не так¶
Отказы сервера диалог показывает в красном блоке. Ничего не записывается.
- «Победитель должен быть игроком этой игры.» Выбран тот, кто не занимает места в игре. Выберите победителя из меню.
- «У игрока ещё нет нации. Выберите её выше, затем завершите игру.» Кто-то потерял нацию, пока диалог был открыт. Выберите её в блоке «Ещё без нации» и повторите.
- «Это могут сделать только участники этой игры.» Вы не занимаете места в этой игре. Модератор завершает игру в Discord командой
/игра завершить. - Ошибки выбора нации в диалоге. Если нацию только что заняло другое место, её уже нельзя выбрать для этого места или выбор не сохранён, диалог пишет об этом; выберите другую нацию или повторите. Подробнее — Страница игры.
- Кнопка «Завершить игру» в диалоге выключена. Не выбран победитель или тип победы, в «Ходы» нет числа от 1 до 330 или у кого-то нет нации.
- Диалог показывает «Эта игра уже завершена». Игру завершили в Discord или на сайте раньше вас (и, возможно, уже закрыли): результат уже записан, ничего делать не нужно.
- Кнопки «Завершить игру» нет на странице. Вы не игрок этой игры или игра не в состоянии «В процессе». Подробнее — Игроки, модераторы и администраторы.
См. также¶
- Страница игры
- Сейвы игры на сайте
- Завершение игры
- Выбор наций и обмен слотами
- Как считается рейтинг
- Игроки, модераторы и администраторы
Эта страница переведена с помощью ИИ и сверена с терминами бота.