18 DSY88, DSX88, JLBD88, LQD88, SG88, LYS88, SSY88,
19 QYJ64, XSY64, XSX64, ZYS64, SAK64, YSSLH64,
22 Q7D24, QSK24, QYS24, YSSTS24, YSSJG24, QDA24, QZ24, QX24,
23 QL16, SSSLH16, YSSBG16, QDW16, STK16, SAK16,
25 HL8, TBD8, SSSTS8, SSSJG8, WFH8, MSHC8, HDLY8, GSKH8, QGH8,
26 PPH6, HYS6, SSSBG6, WMQ6, QQR6, SAG6, SJK6,
28 QDY4, BQR4, SMG4, HJZ4,
29 JK2, QFK2, MFK2, MQQ2, PH2, SGY2, STK2, SAK2, AG2, DY2,
30 YBG1, XXF1, LL1, LSF1, YJK1, MG1, QYM1, WZ1, BZ1, KZ1, DDJ1, ZM1,
37 enum class Type { F4, F7, F13 };
39 using Fans = std::vector<Fan>;
46 const Fans &fans()
const;
49 void init13(
const FormCtx &ctx);
51 static int calcFan(
const Fans &fs);
53 Fans calcFansF7(
const FormCtx &ctx,
const Hand &hand)
const;
54 Fans calcFansF4(
const FormCtx &ctx,
const Hand &hand,
const T37 &last,
55 const Explain4 &exp,
bool juezhang)
const;
57 void checkV8864F4(Fans &res,
const Hand &hand,
const Explain4 &exp,
59 void checkV4832F4(Fans &res,
const Explain4 &exp,
bool pureNumMelds)
const;
60 void checkV24F4(Fans &res,
const Explain4 &exp,
bool pure)
const;
61 void checkV16F4(Fans &res,
const Explain4 &exp)
const;
62 void checkV12F4(Fans &res,
const Explain4 &exp)
const;
63 void checkV8F4(Fans &res,
const Explain4 &exp,
const FormCtx &ctx)
const;
64 void checkV6F4(Fans &res,
const Explain4 &exp,
const Hand &hand)
const;
65 void checkV5F4(Fans &res,
const Explain4 &exp)
const;
66 void checkV4F4(Fans &res,
const Explain4 &exp,
bool mqq,
bool hjz)
const;
68 const Hand &hand,
const T37 &pick)
const;
71 void checkPick(Fans &fans,
const FormCtx &ctx)
const;
88 #endif // SAKI_FORM_GB_H
Parsed 4-meld complete hand.
Definition: explain.h:27