Я относительно новичок в clojure, но понимаю основные функциональные понятия. Что-то, с чем я действительно борюсь, - это состояние.Состояние карточной игры в Clojure
Я пишу простую карточную игру, она дошла до того, что я пишу движок игры. Таким образом, концепция государства быстро ударила меня в лицо.
мне нужно следить за большим количеством вещей, имеющих отношение к игре:
- от состояния палубы
- состояние точек
- Кто был дилер
- ... т.д.
Я прочитал, как состояние используется в clojure, Refs, Agents, Atoms и thread local vars. Но ни один из них не кажется правильным вариантом для того, что я делаю.
Итак, мой фактический вопрос: какую конструкцию clojure я использую для поддержания состояния однопоточного игрового движка в clojure?