- Я строю игру (вид покера) в Haskell, но я новичок в Haskell и вообще застревают, когда пытаются думать, как реализовать вещь в чисто функциональном языке. *
Игра состоит из 3-х игроков (просто чтобы было легко объяснить). Два игрока будут играть с настольных карточек, а один будет играть из стека. Оба игрока будут использовать одну карту и использовать ее, если это полезно (замените одну из ваших карт в руке) или просто свалите ее (если нет). Победа - это просто фулл-хаус или прямая.Haskell Переменная Updation
У двух из них есть
understanding
, что-то, с чем они договорились, прежде чем помогать друг другу. Например, если я взял K (скажем) из таблицы и следующей рукой я взял 4 из таблицы означает, что я собираюсь в полный дом, и, следовательно, вы должны помочь, если можете, любым возможным способом. Каждый из этих игроков должен помогать друг другу, чтобы один из них мог выиграть до того, как игрок сыграет со стопкой, но не ценой самого себя.Таблица имеет всего 5 карт и так делает каждый игрок
Реализовать Понимание между двумя игроками:
я застрял, как отследить, что другой игрок уже взял со стола. Я пытаюсь это сделать, добавляя карты к моей руке (практически помню вещь), а в то время как вычисления донга моей руки (реальные) я собираюсь взять только первые пять карт и, выполняя расчет, чтобы помочь ему «Я собираюсь сбросить пять карт, а затем выполнить вычисления с этим. Есть ли какая-нибудь лучшая стратегия, чтобы сделать то же самое? Это может быть тривиально, но я любитель в мире haskell. Если вы хотите код, я могу его просто поднять.
базовый набор из моей игры:
data Card = Card {
c :: (Int, Char)
} deriving (Eq, Ord, Show)
data Deck = Deck {
d :: [Card]
} deriving (Show, Eq, Ord)
data Game = Game {
bact1Hand :: [Card],
bact2Hand :: [Card],
orgHand :: [Card],
tableCards :: [Card],
deck :: Deck
} deriving (Show, Eq, Ord)
type GameState a = State Game a`
У нас нет переменных в Haskell! Используйте [рекурсия] (http://learnyouahaskell.com/recursion). – AJFarmar
По крайней мере, я знаю. Но как вы собираетесь помнить? о последней руке или карте, которую игрок взял со стола? thanks – user2754673
Дополнительные аргументы вашей функции. – Zeta