- Текущий матч
- Очередь на игру
-
startMatch(): Начинать матч
-
При завершении матча возвращать его игроков в комнату
Я не шарю в этом вашем покере. Правильно ли я понимаю, что матч закончится тогда, когда все игроки побывают диллерами ? (с) Данил Стетхэм
- Текущий раунд
- Список игроков
- Какой-либо указатель на диллера
- Карты на "столе"
- "Колоду "из которой всё раздаётся (см. static class Deck)
- nextRound(): Устанавливать следующий раунд (см. class Round getNextRound() ), реализовывать логику подписки
и отпискина события, прокидываемые Player'ами - endMatch(): Заканчивает матч, возвращает игроков в комнату (см. класс Room, может быть просто прокинуть событие о завершении матча?)
Базовый класс всех раундов
- Текущий матч
- getNextRound(): возращать следующий раунд
- Обрабатывать событие OnPlayerChosed(Command c, int bet) (см. класс Player) ( название мб переделать)
- Preflop
- Flop
- Turn
- River
- Личные данные (имя)
- "Руку" - массив с картами
- Событие OnPlayerChosed(Command c, int bet)
Пояснение: по крайней мере в C# при вызове события ему можно было передавать аргумент, который также передавался и обработчику событий, хз как в Питоне
- chooseAction(Command c, int bet): вызывать событие OnPlayerChosed
- check
- bet
- raise
- etc.
- Карты колоды
- giveCard(): возвращать случайную карту, которая удаляется из колоды
- newDeck(): делать колоду снова полной
- Suit
- Value
- Spades
- Clubs
- Diamonds
- Hearts
- 2
- ...
- 9
- J
- Q
- K
- A