Git Product home page Git Product logo

alisa_chess's Introduction

alisa_chess

[draft]

Play chess with Yandex.Alisa by voice

Use Case Example

Алиса:
- Давайте сыграем в шахматы
Юзер:
- Да
Алиса:
- Е4. Ваш ход
Юзер:
- Е5
Алиса:
- Конь f3. Ваш ход
....
Алиса:
- Мат.

Details

Chess engine: stockfish 10, level 1 Uses: https://github.com/niklasf/python-chess

Other

Some diagrams

alisa_chess's People

Contributors

avyaznikov avatar axtrace avatar

Watchers

 avatar  avatar  avatar

alisa_chess's Issues

Отмени ход

Пользователь отменяет ход.
Надо отменить ход компа и предыдущий ход пользователя

Продолжить партию

Продолжить незавершенную партию с предыдущей сессии.
Для простоты, незавершенная в любой момент времени только 1.
Если началась новая партия, то предыдущая незавершенная забывается

Сдаться

Алиса, сдаюсь
Партия прекращается

Добавить подсказки

Баблы и подсказки. Добавить варианты возможных ходов
И настройку, включающую и отключающую эти подсказки )))

С одной стороны, так удобнее играть
Но с другой - это же просто движок с движком, а пользователь - говорящая голова

Сохранять партию между сессиями

и/или на выбор "продолжить предыдущую" или "начать новую"

Должно быть просто сделать, учитывая, что диалоги стали предоставлять хранилище

Deepgre:
"Не был понятен статус сессии при паузе в использовании и повторном запуске - в каких случая продолжается предыдущая сессия, в каких новая."

Выбрать цвет

Перед началом партии выбирается цвет, за который будет играть пользователь

ну пожалуйста

Ход такой-то невозможен

  • Ну пожалуйста!
    И она разрешает ход.
    Кривой ход конем или пешкой через фигуру

Причем, можно партию не менять, а просто отрисовывать ))

Выделить паттерны ходов

  1. Посмотреть видео игры вслепую. Например, есть такое видео с Шиповым.
  2. Выписать все варианты ходов, названных им
  3. Сделать один или несколько паттернов, подходящих для распознавания ходов (включая указывания начальной клетки и конечной, взятия видов c-d, превращения пешки в фигуру)
  4. Попробовать реализовать эти паттерны (как в коде, так и с помощью сущностей и инстансов в настройках диалога)
  5. --
  6. Profit

Сделать ход с двумя вариантами

На одну и ту же клетку могут пойти две одинаковые фигуры (напр, два коня или две пешки)
Пользователь уточняет конкретную фигуру и ход\

Например, одна ладья стоит на а1, другая на h1, нужно сделать ход ладьей с а1 на d1. В шахматной нотации это Лаd1 (у нас Rad1)

Хотя по правилам, если возможно пойти двумя фигурами, сначала пытаемся различить их по вертикале, а только потом по горизонтале (1.2,3,...), нужно предусмотреть оба случа. Пользователь может назвать и как правильно, с вертикалью, и как неправильно, то есть с горизонталью

Например, хотим пойти нижним конём. Правильно Ncb5 ("Конь цэ бэ пять"), но надоожидать и N3b5 ("Конь три бэ пять")
2021-09-27_22-41-31

Купи слона

Если удалось распознать только фигуру, то обыгрывать эти фразочки

  • Слон!? купи слона? Куда пойдем слоном? Кстати, вы знали, они боятся мышей
  • Слон!? Он же офицер, он же священник, он же Гоша

tbd

Посмотреть эффекты, может быть их добавить: https://yandex.ru/dev/dialogs/alice/doc/speech-effects.html

взять пешку на проходе

Отзыв пользователя

Не получается взять пешку на проходе, Алиса отвечает, что ход не возможен.Невозможно попросить Алису повторить свой последний ход.Когда два коня могут сходить в одну и ту же клетку, то Алиса не уточняет, каким конем она ходит. Не получилось сыграть, нужно работать над этим навыком

Повтор хода уже должен включаться в #34
Две фигуры на одну клетку - #11

Сделать однозначный ход

Пешку можно называть, а можно не называть
Остальные фигуры называем и называем только финальную клетку.

Случай, когда на одну клетку могут пойти две одинаковых фигуры, рассматриваем отдельно

Запрос, где сейчас фигура

  • Где мой слон?
  • на е4

Deepgre:
"Думаю было бы полезны не большие доп функции типа где сейчас такая то фигура , запрос повтора озвучки предыдущего хода."

Сделать рокировку

  • Сделай короткую рокировку

  • Сделай два нуля

  • Сделай рокировку (если возможна только одна)

  • Сделай длинную рокировку

  • Сделай три нуля

Запрос текущей позиции

User:

  • Алиса, какая текущая позиция
    Алиса выводит на экран позицию.

Сюда же, кстати, и настройку "выводить позицию на экран или нет после каждого хода"

Предложить ничью

Пасхалочку может заложить. Соглашаться по четным дням и не соглашаться по нечетным.

По-хорошему, конечно, идти от оценки позиции.

Заменить приветствие

Думаю, надо сделать короче и без отсылки к "Помощь"

Давайте сыграем в шахматы вслепую. Ходы объявляются устно. Начнем?

И заодно во фразе

Начинаем игру. Вы будете играть за белых? Или за черных?

сделать правильное ударение с помощью служебных символов

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.