Skip to main content

actionMaskFromState

Encode legal actions from a poker state into a compact bitmask.

actionMaskFromState(state: NativePokerState | PokerStateBytes): number

Import

const poker = require('poker-calculations');

ESM (Node):

import { createRequire } from 'module';
const require = createRequire(import.meta.url);
const poker = require('poker-calculations');

When to use

Use actionMaskFromState when you need to encode legal actions from a poker state into a compact bitmask.

How to use

const poker = require('poker-calculations');
const state = {
players: [
{holeCards: ['Ah', 'Kh'], stack: 200, seat: 0, committedThisStreet: 0},
{holeCards: ['7c', '7d'], stack: 180, seat: 1, folded: false},
],
communityCards: ['Qh', 'Jh', '2c'],
phase: 'flop',
pot: 30,
currentBet: 10,
smallBlind: 1,
bigBlind: 2,
actingIndex: 0,
actedThisStreet: [false, true],
};

const result = poker.actionMaskFromState(state, {monteCarloSimulations: 0});
console.log(result);

See also

decideAction · NativePokerState