pull/1/head
wsy182 2024-11-30 17:11:12 +08:00
parent 4dbbd583b9
commit 5d660ff39a
1 changed files with 7 additions and 7 deletions

View File

@ -17,18 +17,18 @@ def calculate_score(fan: int, base_score: int, is_self_draw: bool, is_dealer: bo
if is_self_draw: if is_self_draw:
# 自摸,其他三家平摊 # 自摸,其他三家平摊
if is_dealer: if is_dealer:
# 庄家自摸:每家付总分 # 庄家自摸:每家付单倍总分
loser_score = -total_score per_loser_score = -total_score
winner_score = total_score * 3 winner_score = -3 * per_loser_score
return { return {
"winner": winner_score, "winner": winner_score,
"loser": [loser_score] * 3 "loser": [per_loser_score] * 3
} }
else: else:
# 闲家自摸:庄家付双倍,其他两家付单倍 # 闲家自摸:庄家付双倍,其他两家付单倍
dealer_loss = -total_score * 2 dealer_loss = -total_score * 2
other_loss = -total_score other_loss = -total_score
winner_score = total_score * 4 winner_score = -dealer_loss + 2 * other_loss
return { return {
"winner": winner_score, "winner": winner_score,
"loser": [dealer_loss, other_loss, other_loss] "loser": [dealer_loss, other_loss, other_loss]
@ -38,7 +38,7 @@ def calculate_score(fan: int, base_score: int, is_self_draw: bool, is_dealer: bo
if is_dealer: if is_dealer:
# 庄家点炮 # 庄家点炮
loser_score = -total_score loser_score = -total_score
winner_score = total_score winner_score = -loser_score
return { return {
"winner": winner_score, "winner": winner_score,
"loser": [loser_score, 0, 0] "loser": [loser_score, 0, 0]
@ -46,7 +46,7 @@ def calculate_score(fan: int, base_score: int, is_self_draw: bool, is_dealer: bo
else: else:
# 闲家点炮 # 闲家点炮
loser_score = -total_score loser_score = -total_score
winner_score = total_score winner_score = -loser_score
return { return {
"winner": winner_score, "winner": winner_score,
"loser": [loser_score, 0, 0] "loser": [loser_score, 0, 0]