mahjong.hand_calculating.yaku_list

class mahjong.hand_calculating.yaku_list.AkaDora[source]

Bases: Yaku

Red five

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Chankan[source]

Bases: Yaku

Yaku situation

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Chantai[source]

Bases: Yaku

Every set must have at least one terminal or honour tile, and the pair must be of a terminal or honour tile. Must contain at least one sequence (123 or 789)

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Chiitoitsu[source]

Bases: Yaku

Hand contains only pairs

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Chinitsu[source]

Bases: Yaku

The hand contains tiles only from a single suit

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Chun[source]

Bases: Yaku

Pon of red dragons

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.DaburuOpenRiichi[source]

Bases: Yaku

Yaku situation

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.DaburuRiichi[source]

Bases: Yaku

Yaku situation

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Dora[source]

Bases: Yaku

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Haitei[source]

Bases: Yaku

Yaku situation

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Haku[source]

Bases: Yaku

Pon of white dragons

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Hatsu[source]

Bases: Yaku

Pon of green dragons

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Honitsu[source]

Bases: Yaku

The hand contains tiles from a single suit plus honours

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Honroto[source]

Bases: Yaku

All tiles are terminals or honours

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Houtei[source]

Bases: Yaku

Yaku situation

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Iipeiko[source]

Bases: Yaku

Hand with two identical chi

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Ippatsu[source]

Bases: Yaku

Yaku situation

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Ittsu[source]

Bases: Yaku

Three sets of same suit: 1-2-3, 4-5-6, 7-8-9

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Junchan[source]

Bases: Yaku

Every set must have at least one terminal, and the pair must be of a terminal tile. Must contain at least one sequence (123 or 789). Honours are not allowed

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.NagashiMangan[source]

Bases: Yaku

Yaku situation

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.OpenRiichi[source]

Bases: Yaku

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Pinfu[source]

Bases: Yaku

Yaku situation

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Renhou[source]

Bases: Yaku

Yaku situation

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Riichi[source]

Bases: Yaku

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Rinshan[source]

Bases: Yaku

Yaku situation

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.RoundWindEast[source]

Bases: Yaku

Round wind east yakuhai

is_condition_met(hand, round_wind, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:
  • hand (Collection[Sequence[int]])

  • round_wind (int | None)

Return type:

bool

class mahjong.hand_calculating.yaku_list.RoundWindNorth[source]

Bases: Yaku

Round wind north yakuhai

is_condition_met(hand, round_wind, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:
  • hand (Collection[Sequence[int]])

  • round_wind (int | None)

Return type:

bool

class mahjong.hand_calculating.yaku_list.RoundWindSouth[source]

Bases: Yaku

Round wind south yakuhai

is_condition_met(hand, round_wind, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:
  • hand (Collection[Sequence[int]])

  • round_wind (int | None)

Return type:

bool

class mahjong.hand_calculating.yaku_list.RoundWindWest[source]

Bases: Yaku

Round wind west yakuhai

is_condition_met(hand, round_wind, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:
  • hand (Collection[Sequence[int]])

  • round_wind (int | None)

Return type:

bool

class mahjong.hand_calculating.yaku_list.Ryanpeikou[source]

Bases: Yaku

The hand contains two different Iipeikou’s

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.SanKantsu[source]

Bases: Yaku

The hand with three kan sets

is_condition_met(hand, melds, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:
  • hand (Collection[Sequence[int]])

  • melds (Collection[Meld])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Sanankou[source]

Bases: Yaku

Three closed pon sets, the other sets need not to be closed

is_condition_met(hand, win_tile, melds, is_tsumo)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:
  • hand (Collection[Sequence[int]])

  • win_tile (int)

  • melds (Collection[Meld])

  • is_tsumo (bool)

Return type:

bool

class mahjong.hand_calculating.yaku_list.Sanshoku[source]

Bases: Yaku

The same chi in three suits

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.SanshokuDoukou[source]

Bases: Yaku

Three pon sets consisting of the same numbers in all three suits

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.SeatWindEast[source]

Bases: Yaku

Seat wind east yakuhai

is_condition_met(hand, player_wind, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:
  • hand (Collection[Sequence[int]])

  • player_wind (int | None)

Return type:

bool

class mahjong.hand_calculating.yaku_list.SeatWindNorth[source]

Bases: Yaku

Seat wind north yakuhai

is_condition_met(hand, player_wind, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:
  • hand (Collection[Sequence[int]])

  • player_wind (int | None)

Return type:

bool

class mahjong.hand_calculating.yaku_list.SeatWindSouth[source]

Bases: Yaku

Seat wind south yakuhai

is_condition_met(hand, player_wind, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:
  • hand (Collection[Sequence[int]])

  • player_wind (int | None)

Return type:

bool

class mahjong.hand_calculating.yaku_list.SeatWindWest[source]

Bases: Yaku

Seat wind west yakuhai

is_condition_met(hand, player_wind, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:
  • hand (Collection[Sequence[int]])

  • player_wind (int | None)

Return type:

bool

class mahjong.hand_calculating.yaku_list.Shosangen[source]

Bases: Yaku

Hand with two dragon pon sets and one dragon pair

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Tanyao[source]

Bases: Yaku

Hand without 1, 9, dragons and winds

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Toitoi[source]

Bases: Yaku

The hand consists of all pon sets (and of course a pair), no sequences.

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.Tsumo[source]

Bases: Yaku

Yaku situation

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool

class mahjong.hand_calculating.yaku_list.UraDora[source]

Bases: Yaku

is_condition_met(hand, *args)[source]

Is this yaku exists in the hand? :param: hand :param: args: some yaku requires additional attributes :return: boolean

Parameters:

hand (Collection[Sequence[int]])

Return type:

bool