mahjong.hand_calculating.hand_config

class mahjong.hand_calculating.hand_config.OptionalRules(has_open_tanyao=False, has_aka_dora=False, has_double_yakuman=True, kazoe_limit=0, kiriage=False, fu_for_open_pinfu=True, fu_for_pinfu_tsumo=False, renhou_as_yakuman=False, has_daisharin=False, has_daisharin_other_suits=False, has_sashikomi_yakuman=False, limit_to_sextuple_yakuman=True, paarenchan_needs_yaku=True, has_daichisei=False)[source]

Bases: object

All the supported optional rules

Parameters:
  • has_open_tanyao (bool)

  • has_aka_dora (bool)

  • has_double_yakuman (bool)

  • kazoe_limit (int)

  • kiriage (bool)

  • fu_for_open_pinfu (bool)

  • fu_for_pinfu_tsumo (bool)

  • renhou_as_yakuman (bool)

  • has_daisharin (bool)

  • has_daisharin_other_suits (bool)

  • has_sashikomi_yakuman (bool)

  • limit_to_sextuple_yakuman (bool)

  • paarenchan_needs_yaku (bool)

  • has_daichisei (bool)

__init__(has_open_tanyao=False, has_aka_dora=False, has_double_yakuman=True, kazoe_limit=0, kiriage=False, fu_for_open_pinfu=True, fu_for_pinfu_tsumo=False, renhou_as_yakuman=False, has_daisharin=False, has_daisharin_other_suits=False, has_sashikomi_yakuman=False, limit_to_sextuple_yakuman=True, paarenchan_needs_yaku=True, has_daichisei=False)[source]
Parameters:
  • has_open_tanyao (bool)

  • has_aka_dora (bool)

  • has_double_yakuman (bool)

  • kazoe_limit (int)

  • kiriage (bool)

  • fu_for_open_pinfu (bool)

  • fu_for_pinfu_tsumo (bool)

  • renhou_as_yakuman (bool)

  • has_daisharin (bool)

  • has_daisharin_other_suits (bool)

  • has_sashikomi_yakuman (bool)

  • limit_to_sextuple_yakuman (bool)

  • paarenchan_needs_yaku (bool)

  • has_daichisei (bool)

Return type:

None

class mahjong.hand_calculating.hand_config.HandConfig(is_tsumo=False, is_riichi=False, is_ippatsu=False, is_rinshan=False, is_chankan=False, is_haitei=False, is_houtei=False, is_daburu_riichi=False, is_nagashi_mangan=False, is_tenhou=False, is_renhou=False, is_chiihou=False, is_open_riichi=False, player_wind=None, round_wind=None, kyoutaku_number=0, tsumi_number=0, paarenchan=0, options=None)[source]

Bases: HandConstants

Special class to pass various settings to the hand calculator object

Parameters:
  • is_tsumo (bool)

  • is_riichi (bool)

  • is_ippatsu (bool)

  • is_rinshan (bool)

  • is_chankan (bool)

  • is_haitei (bool)

  • is_houtei (bool)

  • is_daburu_riichi (bool)

  • is_nagashi_mangan (bool)

  • is_tenhou (bool)

  • is_renhou (bool)

  • is_chiihou (bool)

  • is_open_riichi (bool)

  • player_wind (int | None)

  • round_wind (int | None)

  • kyoutaku_number (int)

  • tsumi_number (int)

  • paarenchan (int)

  • options (OptionalRules)

__init__(is_tsumo=False, is_riichi=False, is_ippatsu=False, is_rinshan=False, is_chankan=False, is_haitei=False, is_houtei=False, is_daburu_riichi=False, is_nagashi_mangan=False, is_tenhou=False, is_renhou=False, is_chiihou=False, is_open_riichi=False, player_wind=None, round_wind=None, kyoutaku_number=0, tsumi_number=0, paarenchan=0, options=None)[source]
Parameters:
  • is_tsumo (bool)

  • is_riichi (bool)

  • is_ippatsu (bool)

  • is_rinshan (bool)

  • is_chankan (bool)

  • is_haitei (bool)

  • is_houtei (bool)

  • is_daburu_riichi (bool)

  • is_nagashi_mangan (bool)

  • is_tenhou (bool)

  • is_renhou (bool)

  • is_chiihou (bool)

  • is_open_riichi (bool)

  • player_wind (int | None)

  • round_wind (int | None)

  • kyoutaku_number (int)

  • tsumi_number (int)

  • paarenchan (int)

  • options (OptionalRules | None)

Return type:

None