codebattle icon indicating copy to clipboard operation
codebattle copied to clipboard

Тренировочный режим

Open ReDBrother opened this issue 4 years ago • 9 comments

Облегченный режим для новичков или ребят, которые хотят только поиграться с механикой кодбатла, без челенджа.

  1. Добавить новый режим с ботом (training) на фронтенде (Модалка в Лобби) и на бекенде (добавить еще тип, механика генерации совпадает с игрой против бота)

  2. Придумать пул задач с уровнем training для battle_asserts, который наш сервер будет подбирать для этого режима. Так же можно выложить список таких задач на этапе формирования игры, чтобы игрок мог сам выбрать решаемую задачу.

    • [x] Ввести новое поле в конфигурацию тасок - теги, содержащую дополнительную мета информацию. Тег training будет определять пул задач для нашего режима.
    • [x] Определить пул задач для нашего режима. Придумать свои или взять из пула задач уровня elementary.
    • [x] Мигрировать базу тасок
    • [ ] Вывести информацию о тегах в реакт компонентах
  3. Настроить режимы работы бота (Настровать в начале и возможно по ходу игры). Для таких игр мы можем настроить бота так, чтобы он отыгрывал механику написания решения к задачи, но не отправлял на проверку, а перезагружался, брал другое решение и повторял с начала.

Под этим ишью будет основное обсуждение идеи, если возьмём в разработку.

ReDBrother avatar Apr 03 '21 11:04 ReDBrother

А есть какие-нибудь особые условия для training задач в battle_asserts, которые их отличают от тех же elementary?

solar05 avatar Apr 05 '21 11:04 solar05

Если говорить про сами таски, то они по сути не отличаются от них. Но набор лучше явно ограничить.

ReDBrother avatar Apr 05 '21 16:04 ReDBrother

Может тогда сделать для задач булевый флаг? Например use-in-training ?

solar05 avatar Apr 05 '21 16:04 solar05

Булеан точно не будем вводить. Лучше набор тегов, которые будут расширять описание тасок.

ReDBrother avatar Apr 05 '21 19:04 ReDBrother

Прикрутил теги к генерации задачек https://github.com/hexlet-codebattle/battle_asserts/pull/708 На неделе тогда соберу пулл задачек и попробую бекенд под новую структуру подкрутить тогда

solar05 avatar Apr 07 '21 22:04 solar05

В самих задачках теперь это будет выглядеть вот так (def tags ["training" "collections" "some another tag"])

solar05 avatar Apr 07 '21 22:04 solar05

Собрал набор задач https://github.com/hexlet-codebattle/battle_asserts/pull/709

solar05 avatar Apr 11 '21 01:04 solar05

@solar05 , хорошая задачка на беке, добавить скоуп по тегам в селектор тасок, нужно добавить optional param для task_tags: [...] и с create_training добавить выбор с тегом training, и @origin_types github

vtm9 avatar Sep 03 '22 09:09 vtm9

image

vtm9 avatar Sep 03 '22 09:09 vtm9

done

vtm9 avatar Apr 14 '24 16:04 vtm9