二七王:前端 CardOrder,手牌主牌序排序

直接委托 shared/cards.js 的 order_cards(与服务端同一份文件),
前端只负责 concat 防改入参、把未选主表达为 mainflower=0。
单测拿服务端 class.arith 的输出做逐一对照,五种主花色全覆盖。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-26 20:01:51 +08:00
co-authored by Claude Opus 5
parent e9333303d5
commit 39a920bed5
2 changed files with 66 additions and 0 deletions
@@ -0,0 +1,17 @@
///////////////////////////////////////////////////////////////
////////// EQW_CardOrder: 手牌主牌序排序(纯逻辑)//////////////
///////////////////////////////////////////////////////////////
// 清单 T-5:前端排序【对齐服务端主牌序,不另造一套】——
// 权威实现是 shared/cards.js 的 order_cards(与服务端同一份文件)。
// 本模块只负责两件事:不改调用方的数组、把「未选主」表达为 mainflower = 0。
// 选主前(叫分阶段):flower 未定,只有固定主牌(双王 + 全部 2、7)是主牌
// 选主后:正2/正7 升格、主花色普通牌并入主牌段,必须整体重排(design §3)
// 排序从大到小,主牌段自然落在左侧。
var EQW_CardOrder = EQW_CardOrder || {
//返回排好序的【新数组】;cards 不被修改。mainflower:1方块 2梅花 3红心 4黑桃,0 = 尚未选主
sort: function (cards, mainflower) {
if (!cards) { return []; }
return youle_erqiwang_shared_cards.order_cards(mainflower || 0, cards.concat());
}
};