Compare commits

...

4 Commits

Author SHA1 Message Date
211189a776 Update test_calculate_fan.py 2024-11-30 16:57:29 +08:00
4e563ae946 Update calculate_fan.py 2024-11-30 16:55:56 +08:00
066436b4e5 Update calculate_fan.py 2024-11-30 16:53:47 +08:00
705afd596b Update calculate_fan.py 2024-11-30 16:52:18 +08:00
2 changed files with 12 additions and 9 deletions

View File

@@ -36,17 +36,20 @@ def calculate_fan(hand, melds, is_self_draw, is_cleared, conditions):
"is_tian_hu": lambda: 12 if conditions.get("is_tian_hu", False) else 0,
"is_di_hu": lambda: 12 if conditions.get("is_di_hu", False) else 0,
"basic_win": lambda: 1 if not (conditions.get("is_seven_pairs", False) or
conditions.get("is_big_pairs", False) or
conditions.get("is_dragon_seven_pairs", False) or
conditions.get("is_pure_cleared", False) or
conditions.get("is_double_pure_cleared", False) or
conditions.get("is_small_pairs", False) or
conditions.get("is_clear_seven_pairs", False) or
conditions.get("is_full_request", False)) else 0,
conditions.get("is_big_pairs", False) or
conditions.get("is_dragon_seven_pairs", False) or
conditions.get("is_pure_cleared", False) or
conditions.get("is_double_pure_cleared", False) or
conditions.get("is_small_pairs", False) or
conditions.get("is_clear_seven_pairs", False) or
conditions.get("is_full_request", False) or
conditions.get("is_rob_gang", False) or
conditions.get("is_under_the_sea", False) or
conditions.get("is_tian_hu", False) or
conditions.get("is_di_hu", False)) else 0,
}
print("\nCalculating fan...")
# 逐一应用规则
for rule, func in rules.items():

View File

@@ -253,7 +253,7 @@ def test_dragon_seven_pairs():
}
fan = calculate_fan(hand, melds, is_self_draw=True, is_cleared=False, conditions=conditions)
assert fan == 13, f"Expected 13 fans (1 self-draw + 12 dragon seven pairs), got {fan}"
assert fan == 12, f"Expected 13 fans (1 self-draw + 12 dragon seven pairs), got {fan}"
def test_self_draw():
"""