删除 YouleNexus 内嵌 .git,统一由根仓库唯一管理。提交: - projects/ 旧 H5 模板 Game_Surface_3 与各子游戏源码 - cocoscreator_projects/YouleNexus 工程 + cocos-creator-mcp 扩展源码 - CLAUDE.md、.mcp.json 等配置 library/temp/node_modules/dist 等缓存由 .gitignore 排除。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
301 lines
9.9 KiB
JavaScript
301 lines
9.9 KiB
JavaScript
//接收数据
|
|
Public_data.begin = function(_msg){
|
|
//开始
|
|
aset = cls_doudizhu_aset.New();//创建牌桌
|
|
for (var i = 0; i < aset.cardlist.length; i++) {
|
|
if (cls_doudizhu_card.GetNumber(aset.cardlist[i]) == 1) {
|
|
cls_doudizhu_card.SetArithN(aset.cardlist[i],14);
|
|
} else if (cls_doudizhu_card.GetNumber(aset.cardlist[i]) == 2){
|
|
cls_doudizhu_card.SetArithN(aset.cardlist[i],16);
|
|
}
|
|
}
|
|
|
|
Public_data.Initialization(); //初始化
|
|
Public_data.data.roomtype = _msg.data.roomtype; //房间类型
|
|
Public_data.data.num = _msg.data.num; //局数
|
|
Public_data.data.tuoguan = _msg.data.tuoguan; //托管
|
|
Public_data.data.maxman = _msg.data.maxman; //最大人数
|
|
Public_data.data.grade = _msg.data.grade; //总分
|
|
Public_data.data.gold_score = _msg.data.gold_score; //房卡房金币场的总分
|
|
Public_data.data.gold = _msg.data.gold; //实时金币数
|
|
Public_data.data.stage = _msg.data.stage; //当前阶段
|
|
Public_data.data.playerlist = _msg.data.playerlist; //玩家状态
|
|
config_carlen();//设置牌长度
|
|
cards_interval();//设置牌间距
|
|
|
|
}
|
|
Public_data.dealcard = function(_msg){
|
|
//发牌
|
|
|
|
Public_data.data.hand_cards = _msg.data.hand_cards; //手牌
|
|
Public_data.data.hand_cards = cls_doudizhu_card.SortCardList(cls_doudizhu_aset.CardIdsToCards(aset,Public_data.data.hand_cards)
|
|
,[1,3]);
|
|
Public_data.data.hand_cards = cls_doudizhu_aset.CardsToCardIds(Public_data.data.hand_cards);
|
|
|
|
|
|
Public_data.data.control = _msg.data.control; //当前叫分控制权
|
|
Public_data.data.rest = _msg.data.rest; //剩余牌数量
|
|
Public_data.data.stage = _msg.data.stage; //当前阶段
|
|
Public_data.data.mp_zt = _msg.data.mp_zt; //明牌状态
|
|
Public_data.data.team_cards = _msg.data.team_cards; //明牌id
|
|
mppx();
|
|
Public_data.data.bei = _msg.data.bei; //当前倍数
|
|
Public_data.data.down_score = _msg.data.down_score; //底分
|
|
}
|
|
Public_data.lootbanket = function(_msg){
|
|
//抢庄
|
|
Public_data.data.playerlist = _msg.data.playerlist; //玩家状态
|
|
Public_data.data.down_score = _msg.data.down_score; //当前底分
|
|
Public_data.data.control = _msg.data.control; //当前叫分控制权
|
|
Public_data.data.stage = _msg.data.stage; //当前阶段
|
|
Public_data.data.banker = _msg.data.banker; //庄
|
|
Public_data.data.undercards = _msg.data.undercards; //底牌
|
|
game.seat = _msg.data.seat; //操作的人
|
|
Public_data.data.bei = _msg.data.bei; //当前倍数
|
|
Public_data.data.di_bei = _msg.data.di_bei; //底牌倍数
|
|
Public_data.data.team_cards = _msg.data.team_cards; //明牌id
|
|
Public_data.data.rest = _msg.data.rest; //剩余牌数量
|
|
mppx();
|
|
if(Public_data.data.banker == Utl.getMySeat()){
|
|
Public_data.data.hand_cards = _msg.data.hand_cards; //手牌
|
|
Public_data.data.hand_cards = cls_doudizhu_card.SortCardList(cls_doudizhu_aset.CardIdsToCards(aset,Public_data.data.hand_cards)
|
|
,[1,3]);
|
|
Public_data.data.hand_cards = cls_doudizhu_aset.CardsToCardIds(Public_data.data.hand_cards);
|
|
}
|
|
}
|
|
Public_data.more = function(_msg){
|
|
//加倍
|
|
Public_data.data.playerlist = _msg.data.playerlist; //玩家状态
|
|
Public_data.data.bei = _msg.data.bei; //当前倍数
|
|
game.seat = _msg.data.seat; //操作的人
|
|
}
|
|
Public_data.mingpai = function(_msg){
|
|
//明牌
|
|
Public_data.data.team_cards = _msg.data.team_cards; //明牌id
|
|
Public_data.data.bei = _msg.data.bei; //当前倍数
|
|
game.seat = _msg.data.seat; //操作的人
|
|
Public_data.data.mp_zt = _msg.data.mp_zt; //明牌状态
|
|
mppx();
|
|
}
|
|
Public_data.playcards = function(_msg){
|
|
//出牌
|
|
Public_data.data.stage = _msg.data.stage; //当前阶段
|
|
Public_data.data.jieguo = _msg.data.jieguo; //结果 1:能出 0:不能出
|
|
game.seat = _msg.data.seat; //出牌的座位号
|
|
Public_data.data.cardtype = _msg.data.cardtype; //牌型
|
|
Public_data.data.control = _msg.data.control; //当前控制权
|
|
Public_data.data.dealid = _msg.data.dealid; //所有人出的牌
|
|
Public_data.data.playerlist = _msg.data.playerlist; //玩家状态
|
|
Public_data.data.rest = _msg.data.rest; //剩余牌数量
|
|
Public_data.data.maxplayer = _msg.data.maxplayer; //当前最大出牌人
|
|
Public_data.data.end = _msg.data.end; //2是大局
|
|
Public_data.data.point_cards = _msg.data.point_cards ; //提示牌型
|
|
Public_data.data.bei = _msg.data.bei; //当前倍数
|
|
Public_data.data.caozuo = _msg.data.caozuo; //出牌次数
|
|
Public_data.data.winner = _msg.data.winner; //谁赢了
|
|
Public_data.data.team_cards = _msg.data.team_cards; //明牌id
|
|
if(game.seat == Utl.getMySeat() && Public_data.data.jieguo == 1){
|
|
if (Public_data.data.caozuo > 0) {
|
|
button_show(0);
|
|
putcard_ani(_msg);//手牌动画
|
|
mpbs(0);//明牌标识
|
|
//set_self(1021,37,0,0,0);
|
|
}
|
|
}
|
|
mppx();
|
|
game.tishi = 0;
|
|
//Public_data.data.cardtype = [[4,1],[],12]; //牌型
|
|
}
|
|
Public_data.display = function(_msg){
|
|
//不出
|
|
Public_data.data.stage = _msg.data.stage; //当前阶段
|
|
game.seat = _msg.data.seat; //出牌的座位号
|
|
Public_data.data.playerlist = _msg.data.playerlist; //玩家状态
|
|
Public_data.data.caozuo = _msg.data.caozuo; //出牌次数
|
|
Public_data.data.dealid = _msg.data.dealid; //所有人出的牌
|
|
Public_data.data.control = _msg.data.control; //当前控制权
|
|
Public_data.data.maxplayer = _msg.data.maxplayer; //当前最大出牌人
|
|
Public_data.data.cardtype = _msg.data.cardtype; //牌型
|
|
Public_data.data.point_cards = _msg.data.point_cards ; //提示牌型
|
|
game.tishi = 0;
|
|
}
|
|
|
|
Public_data.aset = function(_msg){
|
|
//小局
|
|
Public_data.data.stage = _msg.data.stage; //当前阶段
|
|
Public_data.data.bj_score = _msg.data.bj_score; //本局得分
|
|
Public_data.data.rest_cards = _msg.data.rest_cards; //剩余牌id
|
|
Public_data.data.winner = _msg.data.winner; //谁赢了
|
|
Public_data.data.end = _msg.data.end; //2是大局
|
|
Public_data.data.grade = _msg.data.grade; //总分
|
|
Public_data.data.gold_score = _msg.data.gold_score; //房卡房金币场的总分
|
|
Public_data.data.gold = _msg.data.gold; //实时金币数
|
|
game.shijian = _msg.data.shijian; //大局结算时间
|
|
Public_data.data.mp_zt = _msg.data.mp_zt; //明牌状态
|
|
Public_data.data.chuntian = _msg.data.chuntian; //春天
|
|
}
|
|
|
|
Public_data.ready = function(_msg){
|
|
//准备
|
|
Public_data.data.playerlist = _msg.data.playerlist; //玩家状态
|
|
Public_data.data.seat = _msg.data.seat; //出牌的座位号
|
|
Public_data.data.mp_zt = _msg.data.mp_zt; //明牌状态
|
|
}
|
|
Public_data.help_play = function(_msg){
|
|
//托管
|
|
Public_data.data.tuoguan = _msg.data.tuoguan; //托管
|
|
}
|
|
Public_data.aset_recovery = function(_msg){
|
|
//小局回放
|
|
Public_data.data.bj_score = _msg.data.gameinfo2.pjhf[dijiju][_msg.data.gameinfo2.pjhf[dijiju].length-1][0]; //本局得分
|
|
Public_data.data.winner = _msg.data.gameinfo2.pjhf[dijiju][_msg.data.gameinfo2.pjhf[dijiju].length-1][3]; //谁赢了
|
|
Public_data.data.di_bei = _msg.data.gameinfo2.di_bei[dijiju]; //底牌倍数
|
|
Public_data.data.banker = _msg.data.gameinfo2.banker[dijiju]; //庄
|
|
|
|
Public_data.data.bei = _msg.data.gameinfo2.bei[dijiju]; //当前倍数
|
|
Public_data.data.down_score = _msg.data.gameinfo2.down_score[dijiju]; //底分
|
|
|
|
}
|
|
Public_data.Recovery = function(){
|
|
//回放
|
|
//Public_data.recovery.pjhf = _msg.data.pjhf; //牌局回放数据 pjhf :[[出牌状态,座位号,[每个人的牌id:[],[]],[手牌ID]],[],[],[].....]
|
|
|
|
var seat = Public_data.recovery.pjhf[Public_data.recovery.num][1];
|
|
Public_data.data.bei = Public_data.recovery.pjhf[Public_data.recovery.num][7]; //当前倍数
|
|
Game_Modify.recovery_step(Public_data.recovery.num);
|
|
Public_data.data.dealid = Public_data.recovery.pjhf[Public_data.recovery.num][2];//出牌
|
|
Public_data.data.playerlist[0] = Public_data.recovery.pjhf[Public_data.recovery.num][4];//玩家状态
|
|
Public_data.data.end = Public_data.recovery.pjhf[Public_data.recovery.num][9];//玩家状态
|
|
|
|
if (Public_data.recovery.num+1<Public_data.recovery.pjhf.length) {
|
|
Public_data.data.control = Public_data.recovery.pjhf[Public_data.recovery.num+1][1];
|
|
if (Public_data.data.end == -1) {
|
|
clock(1);
|
|
} else {
|
|
clock(0);
|
|
}
|
|
|
|
} else {
|
|
clock(0);
|
|
}
|
|
//隐藏牌
|
|
for (var i = 0;i < id_config.hc_len[Utl.changeToStatus(seat)]; i++) {
|
|
set_self(id_config.car_start[Utl.changeToStatus(seat)]+i,37,0,0,0);
|
|
}
|
|
if(Public_data.recovery.pjhf[Public_data.recovery.num][4][seat] == 2){
|
|
//不要
|
|
set_self(id_config.pass[Utl.changeToStatus(seat)],37,1,0,0);
|
|
for(var i = 0; i<Public_data.data.maxman;i++){
|
|
Public_data.data.hand_cards = Public_data.recovery.pjhf[Public_data.recovery.num][3][i];//手牌
|
|
Public_data.data.hand_cards = cls_doudizhu_card.SortCardList(cls_doudizhu_aset.CardIdsToCards(aset,Public_data.data.hand_cards)
|
|
,[1,3]);
|
|
Public_data.data.hand_cards = cls_doudizhu_aset.CardsToCardIds(Public_data.data.hand_cards);
|
|
Hand_card.sort(i,Public_data.data.hand_cards);
|
|
}
|
|
Putcards.sort();
|
|
}else if(Public_data.recovery.pjhf[Public_data.recovery.num][4][seat] == 4){
|
|
//彻底打完
|
|
set_self(id_config.pass[seat],37,0,0,0);
|
|
}else {
|
|
//打牌
|
|
|
|
if (Public_data.recovery.pjhf.length>Public_data.recovery.num+1) {
|
|
var xiaciseat = Public_data.recovery.pjhf[Public_data.recovery.num+1][1];
|
|
Putcards.yinchang(Utl.changeToStatus(xiaciseat));
|
|
}
|
|
//隐藏不要
|
|
set_self(id_config.pass[seat],37,0,0,0);
|
|
for(var i = 0; i<Public_data.data.maxman;i++){
|
|
Public_data.data.hand_cards = Public_data.recovery.pjhf[Public_data.recovery.num][3][i];//手牌
|
|
Public_data.data.hand_cards = cls_doudizhu_card.SortCardList(cls_doudizhu_aset.CardIdsToCards(aset,Public_data.data.hand_cards)
|
|
,[1,3]);
|
|
Public_data.data.hand_cards = cls_doudizhu_aset.CardsToCardIds(Public_data.data.hand_cards);
|
|
Hand_card.sort(i,Public_data.data.hand_cards);
|
|
}
|
|
Putcards.sort();
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|