/////////////////////////////////////////////////////////////// ////////// EQW_Sprites: 精灵结构(清单 §5.2/§5.3 手牌与桌面牌)// /////////////////////////////////////////////////////////////// // 子游戏精灵段 1001–2999。结构与 Sprites_Table.js 一致: // View 下 Layer 为图层声明(一个 View 恰好一个图层),其余键是 group 容器; // 容器内 id 为群组 ID、其余键才是精灵 id。 // 连号精灵逐条写全,不用循环生成——便于人逐张对照编辑器核对。 var EQW_Sprites = EQW_Sprites || {}; //自己手牌区:36 张手牌 + 36 个手牌标记(每张牌一个,见下方裁决说明),同属群组 210(清单 §5.2,Layer 102) EQW_Sprites.HandView = { Layer: EQW_Layers.HAND, //102 HandCards: { id: EQW_Groups.HAND, //210 //—— 36 张手牌,资源 EQW_Images.CARD_FACE_L,帧 = cardIdToFrame(id)(§0.4 唯一权威转换)—— HAND_CARD_1: 1200, HAND_CARD_2: 1201, HAND_CARD_3: 1202, HAND_CARD_4: 1203, HAND_CARD_5: 1204, HAND_CARD_6: 1205, HAND_CARD_7: 1206, HAND_CARD_8: 1207, HAND_CARD_9: 1208, HAND_CARD_10: 1209, HAND_CARD_11: 1210, HAND_CARD_12: 1211, HAND_CARD_13: 1212, HAND_CARD_14: 1213, HAND_CARD_15: 1214, HAND_CARD_16: 1215, HAND_CARD_17: 1216, HAND_CARD_18: 1217, HAND_CARD_19: 1218, HAND_CARD_20: 1219, HAND_CARD_21: 1220, HAND_CARD_22: 1221, HAND_CARD_23: 1222, HAND_CARD_24: 1223, HAND_CARD_25: 1224, HAND_CARD_26: 1225, HAND_CARD_27: 1226, HAND_CARD_28: 1227, HAND_CARD_29: 1228, HAND_CARD_30: 1229, HAND_CARD_31: 1230, HAND_CARD_32: 1231, HAND_CARD_33: 1232, HAND_CARD_34: 1233, HAND_CARD_35: 1234, HAND_CARD_36: 1235, //—— 36 个手牌标记【T-8】,与 HAND_CARD_1..36 一一对应(HAND_MARK_i 属于 HAND_CARD_i)—— //资源 EQW_Images.MARK_CARD_GROUP,帧1=拖(拖拉机) 帧2=橙五角星(正2/正7) 帧3=蓝五角星(其他主牌)。 //【裁决:按「每张牌」而非「每组」】清单 §5.2 的表格写的是「牌型分组标记 ×8」,但 §1.6 明确 //规定三种标记互斥、【每张牌】至多一个,core/CardMark.js 也是按每张牌返回标记的。 //一手 28 张牌通常带 13 个以上标记、36 张埋牌手更多,8 个远远不够——§1.6 是行为规格, //比 §5.2 表格的措辞更权威,故按 §1.6 扩到与手牌一一对应。 //ID 另起 2100 段:1236 往后接不下 36 个连号(1250 起已是底牌/埋牌区), //换整段空号 2100–2135 比给别的 View 重新编号更安全。 HAND_MARK_1: 2100, HAND_MARK_2: 2101, HAND_MARK_3: 2102, HAND_MARK_4: 2103, HAND_MARK_5: 2104, HAND_MARK_6: 2105, HAND_MARK_7: 2106, HAND_MARK_8: 2107, HAND_MARK_9: 2108, HAND_MARK_10: 2109, HAND_MARK_11: 2110, HAND_MARK_12: 2111, HAND_MARK_13: 2112, HAND_MARK_14: 2113, HAND_MARK_15: 2114, HAND_MARK_16: 2115, HAND_MARK_17: 2116, HAND_MARK_18: 2117, HAND_MARK_19: 2118, HAND_MARK_20: 2119, HAND_MARK_21: 2120, HAND_MARK_22: 2121, HAND_MARK_23: 2122, HAND_MARK_24: 2123, HAND_MARK_25: 2124, HAND_MARK_26: 2125, HAND_MARK_27: 2126, HAND_MARK_28: 2127, HAND_MARK_29: 2128, HAND_MARK_30: 2129, HAND_MARK_31: 2130, HAND_MARK_32: 2131, HAND_MARK_33: 2132, HAND_MARK_34: 2133, HAND_MARK_35: 2134, HAND_MARK_36: 2135 } }; //底牌区:发牌留桌 8 张(清单 §5.3,Layer 103 群组 211) EQW_Sprites.BottomCardsView = { Layer: EQW_Layers.TABLE_CARDS, //103 BottomCards: { id: EQW_Groups.BOTTOM_CARDS, //211 //—— 资源 EQW_Images.CARD_FACE_L;未揭示时帧=55(牌背),70分公示/庄家查看时翻正面(帧=cardIdToFrame(id))—— BOTTOM_CARD_1: 1250, BOTTOM_CARD_2: 1251, BOTTOM_CARD_3: 1252, BOTTOM_CARD_4: 1253, BOTTOM_CARD_5: 1254, BOTTOM_CARD_6: 1255, BOTTOM_CARD_7: 1256, BOTTOM_CARD_8: 1257 } }; //埋牌底牌展示区:结算时亮出的埋牌底牌 8 张(清单 §5.3,Layer 103 群组 215) EQW_Sprites.BuryCardsView = { Layer: EQW_Layers.TABLE_CARDS, //103 BuryCards: { id: EQW_Groups.BURY_CARDS, //215 //—— 资源 EQW_Images.CARD_FACE_S,帧 = cardIdToFrame(id)—— BURY_CARD_1: 1258, BURY_CARD_2: 1259, BURY_CARD_3: 1260, BURY_CARD_4: 1261, BURY_CARD_5: 1262, BURY_CARD_6: 1263, BURY_CARD_7: 1264, BURY_CARD_8: 1265 } }; //三家已出牌区:自己/左上家/右上家 各 28 张牌 + 牌型标签底 + 标签文字(清单 §5.3,Layer 103 群组 212/213/214) EQW_Sprites.PlayAreaView = { Layer: EQW_Layers.TABLE_CARDS, //103 PlaySelf: { id: EQW_Groups.PLAY_SELF, //212 自己 //—— 本轮打出的牌,资源 EQW_Images.CARD_FACE_M,帧 = cardIdToFrame(id)—— PLAY_SELF_1: 1300, PLAY_SELF_2: 1301, PLAY_SELF_3: 1302, PLAY_SELF_4: 1303, PLAY_SELF_5: 1304, PLAY_SELF_6: 1305, PLAY_SELF_7: 1306, PLAY_SELF_8: 1307, PLAY_SELF_9: 1308, PLAY_SELF_10: 1309, PLAY_SELF_11: 1310, PLAY_SELF_12: 1311, PLAY_SELF_13: 1312, PLAY_SELF_14: 1313, PLAY_SELF_15: 1314, PLAY_SELF_16: 1315, PLAY_SELF_17: 1316, PLAY_SELF_18: 1317, PLAY_SELF_19: 1318, PLAY_SELF_20: 1319, PLAY_SELF_21: 1320, PLAY_SELF_22: 1321, PLAY_SELF_23: 1322, PLAY_SELF_24: 1323, PLAY_SELF_25: 1324, PLAY_SELF_26: 1325, PLAY_SELF_27: 1326, PLAY_SELF_28: 1327, PLAY_SELF_TYPE_BG: 1328, //图片:牌型标签底,资源 EQW_Images.LABEL_CARDTYPE,attach 该区首张牌 bottomLeft PLAY_SELF_TYPE_TEXT: 1329 //文字:标签文案(当前只出「毙」一种,见 EQW_Images.LABEL_CARDTYPE 用途说明) }, PlayLeft: { id: EQW_Groups.PLAY_LEFT, //213 左上家,结构同 212 //—— 本轮打出的牌,资源 EQW_Images.CARD_FACE_M,帧 = cardIdToFrame(id)—— PLAY_LEFT_1: 1400, PLAY_LEFT_2: 1401, PLAY_LEFT_3: 1402, PLAY_LEFT_4: 1403, PLAY_LEFT_5: 1404, PLAY_LEFT_6: 1405, PLAY_LEFT_7: 1406, PLAY_LEFT_8: 1407, PLAY_LEFT_9: 1408, PLAY_LEFT_10: 1409, PLAY_LEFT_11: 1410, PLAY_LEFT_12: 1411, PLAY_LEFT_13: 1412, PLAY_LEFT_14: 1413, PLAY_LEFT_15: 1414, PLAY_LEFT_16: 1415, PLAY_LEFT_17: 1416, PLAY_LEFT_18: 1417, PLAY_LEFT_19: 1418, PLAY_LEFT_20: 1419, PLAY_LEFT_21: 1420, PLAY_LEFT_22: 1421, PLAY_LEFT_23: 1422, PLAY_LEFT_24: 1423, PLAY_LEFT_25: 1424, PLAY_LEFT_26: 1425, PLAY_LEFT_27: 1426, PLAY_LEFT_28: 1427, PLAY_LEFT_TYPE_BG: 1428, PLAY_LEFT_TYPE_TEXT: 1429 }, PlayRight: { id: EQW_Groups.PLAY_RIGHT, //214 右上家,结构同 212 //—— 本轮打出的牌,资源 EQW_Images.CARD_FACE_M,帧 = cardIdToFrame(id)—— PLAY_RIGHT_1: 1500, PLAY_RIGHT_2: 1501, PLAY_RIGHT_3: 1502, PLAY_RIGHT_4: 1503, PLAY_RIGHT_5: 1504, PLAY_RIGHT_6: 1505, PLAY_RIGHT_7: 1506, PLAY_RIGHT_8: 1507, PLAY_RIGHT_9: 1508, PLAY_RIGHT_10: 1509, PLAY_RIGHT_11: 1510, PLAY_RIGHT_12: 1511, PLAY_RIGHT_13: 1512, PLAY_RIGHT_14: 1513, PLAY_RIGHT_15: 1514, PLAY_RIGHT_16: 1515, PLAY_RIGHT_17: 1516, PLAY_RIGHT_18: 1517, PLAY_RIGHT_19: 1518, PLAY_RIGHT_20: 1519, PLAY_RIGHT_21: 1520, PLAY_RIGHT_22: 1521, PLAY_RIGHT_23: 1522, PLAY_RIGHT_24: 1523, PLAY_RIGHT_25: 1524, PLAY_RIGHT_26: 1525, PLAY_RIGHT_27: 1526, PLAY_RIGHT_28: 1527, PLAY_RIGHT_TYPE_BG: 1528, PLAY_RIGHT_TYPE_TEXT: 1529 } };