pets1/CONGRATULATIONS_SYSTEM.md

8.1 KiB
Raw Blame History

Система поздравлений игрока от ботов

🎯 Описание

Боты теперь поздравляют игрока, когда он выигрывает с сильной покерной рукой! Вероятность поздравления зависит от редкости и силы руки.


📊 Вероятности поздравлений по силе руки

Рука Ранг Вероятность Пример
Роял-флеш 10 90% "A♠ K♠ Q♠ J♠ 10♠ - Легенда!"
Стрит-флеш 9 80% "9♥ 8♥ 7♥ 6♥ 5♥ - Невероятно!"
Каре 8 60% "K♠ K♥ K♦ K♣ - Впечатляет!"
Фулл-хаус 7 40% "Q♠ Q♥ Q♦ 5♠ 5♥ - Красиво!"
Флеш 6 25% "A♠ J♠ 9♠ 7♠ 3♠ - Неплохо!"
Стрит 5 15% "10♦ 9♠ 8♥ 7♣ 6♦ - Хорошо!"
Сет и ниже ≤4 0% Не поздравляют

🤖 Стили поздравлений от разных ботов

1. Виктор "Акула" (агрессивный)

  • Обычная рука: "Неплохо сыграно!", "Уважаю!"
  • Сильная: "Вау, фулл-хаус! 💪", "Монстр-рука!"
  • Очень сильная: "Роял-флеш?! Респект! 🔥", "НЕВЕРОЯТНО!"

2. Анна "Блефер" (загадочная)

  • Обычная: "Интересно сыграно... 😏"
  • Сильная: "Фулл-хаус? Впечатляет! 👏"
  • Очень сильная: "Стрит-флеш... Я в восторге! 😮"

3. Дед Михалыч (старая школа)

  • Обычная: "Молодец, голубчик!"
  • Сильная: "Фулл-хаус! Красота! 👴"
  • Очень сильная: "Роял-флеш! За 50 лет такое редко видел! 😲"

4. Макс "ГТО" (математик)

  • Обычная: "Хороший EV!"
  • Сильная: "Фулл-хаус! Rare! 📊", "Топ 0.1% рук!"
  • Очень сильная: "Роял-флеш... 0.00154%! 🤯"

5. Катя "Удача" (суеверная)

  • Обычная: "Ура! Молодец! 😊"
  • Сильная: "Фулл-хаус! Удача! 🍀"
  • Очень сильная: "Роял-флеш! ЭТО МАГИЯ! 🎉🍀"

6. Борис "Молчун" (молчаливый)

  • Обычная: "Хм. Неплохо."
  • Сильная: "Фулл-хаус... Ого."
  • Очень сильная: "Роял-флеш?! ..."

7. Олег "Тильтер" (эмоциональный)

  • Обычная: "Ну везёт же... 😒"
  • Сильная: "Фулл-хаус?! Ладно, красиво 😤"
  • Очень сильная: "Роял-флеш... Я не верю! 😱"

8. Ирина "Профи" (профессионал)

  • Обычная: "GG WP!"
  • Сильная: "Фулл-хаус. Респект! 💎"
  • Очень сильная: "Роял-флеш! Incredible! 🎯"

🎬 Примеры игровых ситуаций

Ситуация 1: Флеш (25% вероятность)

Игрок выигрывает с: A♠ K♠ 9♠ 7♠ 3♠ (Флеш)
Банк: 250 фишек

🎲 Случайный бот (25% шанс):
  Макс "ГТО": "Флеш! Статистически сильно! 📊"

Ситуация 2: Фулл-хаус (40% вероятность)

Игрок выигрывает с: K♠ K♥ K♦ 8♠ 8♥ (Фулл-хаус)
Банк: 500 фишек

🎲 Случайный бот (40% шанс):
  Дед Михалыч: "Фулл-хаус! Красота! Как в старые времена! 👴"

Ситуация 3: Каре (60% вероятность)

Игрок выигрывает с: A♠ A♥ A♦ A♣ Q♠ (Каре тузов)
Банк: 800 фишек

🎲 Случайный бот (60% шанс):
  Виктор "Акула": "Каре тузов! МОНСТР-РУКА! 💪🔥"

Ситуация 4: Стрит-флеш (80% вероятность)

Игрок выигрывает с: 9♥ 8♥ 7♥ 6♥ 5♥ (Стрит-флеш)
Банк: 1200 фишек

🎲 Случайный бот (80% шанс):
  Анна "Блефер": "Стрит-флеш до девятки... Я в восторге! 😮✨"

Ситуация 5: Роял-флеш (90% вероятность)

Игрок выигрывает с: A♠ K♠ Q♠ J♠ 10♠ (Роял-флеш!)
Банк: 2000 фишек

🎲 Случайный бот (90% шанс):
  Макс "ГТО": "РОЯЛ-ФЛЕШ! Математическое чудо! Вероятность 0.00154%! 🤯🎯"

⚙️ Технические детали

Алгоритм работы:

  1. Проверка победителя

    • Игрок победил? (не бот)
    • Есть информация о руке?
  2. Определение вероятности

    • Ранг руки ≥ 5 (стрит или выше)
    • Вероятность от 15% до 90%
  3. Выбор бота

    • Случайный бот из активных (не спасовавших)
    • Учитывается его личность
  4. Генерация поздравления

    • С помощью LLM (если включён)
    • Или запасные фразы по стилю бота
  5. Отправка в чат

    • Задержка 1-2.5 секунды
    • Не конфликтует с эмоциональными реакциями

Интеграция с LLM:

При включенном LLM бот получает контекст:

Игрок [Имя] только что ВЫИГРАЛ с рукой "Фулл-хаус"!
Банк: 500 фишек
Это сильная рука!

Поздравь игрока КРАТКО (максимум 5-7 слов), в своём стиле.

🎮 Примеры с LLM (если включён)

Виктор "Акула":

  • Флеш: "С флешем на терне? Красиво прочитал борд! 🔥"
  • Каре: "Каре на ривере?! Вот это хладнокровие! 💪"

Дед Михалыч:

  • Фулл-хаус: "Эх, молодость! С таким фулл-хаусом я бы в 82-м весь турнир взял!"
  • Стрит-флеш: "Святые угодники! Такое в жизни раз видел!"

Макс "ГТО":

  • Флеш: "Флеш на этой текстуре борда - +EV колл!"
  • Каре: "Четыре аута превратились в каре. Probability magic! 📊"

📝 Файлы изменены

  1. ai.js

    • Добавлена generatePlayerCongratulation() - генерация поздравления через LLM
    • Добавлена getFallbackCongratulation() - запасные фразы для каждого стиля
  2. main.js

    • Добавлена generatePlayerCongratulations() - логика выбора бота и отправки
    • Вызывается в onHandEnd() после завершения раздачи

🎯 Результат

Теперь игра стала более живой и реалистичной:

  • Боты замечают и ценят сильные руки игрока
  • Редкие комбинации вызывают восхищение
  • Каждый бот поздравляет в своём уникальном стиле
  • LLM делает поздравления ещё более контекстуальными

Пример полного взаимодействия:

[Игрок собрал каре королей и выиграл банк 800 фишек]

Макс "ГТО": "Каре королей! Топ 0.024% рук! 📊" (через 1.2 сек)

🎰🃏 Играйте и получайте заслуженные поздравления!