chore: 纳入项目全部源码进根仓库统一管理

删除 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>
This commit is contained in:
2026-06-28 11:55:13 +08:00
co-authored by Claude Opus 4.8
parent f5673c33c8
commit 7ab748919a
7317 changed files with 2810014 additions and 0 deletions
@@ -0,0 +1,170 @@
/*****************郑忠水****************/
/**
* ————————
*吃碰杠等操作的动画显示
* ————————
* */
//显示吃碰杠牌动画
d.show_chi_peng_act = function (spid) {
if (spid == 801 && get_self(149,37) && d.recon != 1 && d.backstage != 1) {
if (d.act[0] >= 2 && d.act[0] <= 10 && d.act[2] > 0 || d.act[0] == 19 && d.act[2] > 0) {
d.act[2] = 0;
var seat = d.act[1];
if (seat == C_Player.seat && d.act[0] < 4) {
// var pos_r=d.get_handpos_byid(seat,d.act[3]);//哪几个位置的牌要亮
// for(var i=0;i<pos_r.length;i++)
// {set_self(pos_r[i],1,303,0,0);
// }
d.set_show_chi_pos(seat, d.act[0]);
}
else {//var light_cards=d.get_rand_3handcard(seat,d.act[3].length);
}
//d.show_sea();
d.Ting_Tip=[];d.ctrl_ting=0;
d.show_my13card();
d.show_you13card();
d.show_shang13card();
d.show_zuo13card();
//if(d.act[0]<6)
{
d.show_14card();
}
if (seat != C_Player.seat && d.act[0] <= 4 && d.act[0] >= 2 || seat == C_Player.seat && d.act[0] == 4) {
}
else {
d.set_show_chi_pos(seat, d.act[0]);
}
}
else if (d.act[0] == 12 && d.act[2] > 0) {
d.act[2] = 0;
for (var i = 0; i < 4; i++) {
if (d.act[3][i] != undefined && d.act[3][i] > -1) {
var seat = d.act[3][i];
d.set_show_chi_pos(seat, d.act[0]);
}
}
}
}
}
//显示吃碰动画
d.set_show_chi_pos = function (seat, f) {
var show_spids = [2160, 2161, 2162, 2163];
var pos = d.pos[seat];
//2人模式
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
if (person == 2) {
show_spids = [2160, 2162, 2162, 2162];
if (pos != 0) {
pos = 2;
}
}
var show_spid = show_spids[pos];
RoomFunc.operate_before(show_spid,f);
}
//显示出牌碰吃牌成功后的动画
d.show_act_pai_flash = function () {
if (d.act_pai[1] == -1) {
return;
}
//d.act_pai=[3,seat0,throw_card0,near_seat,-1];//牌的动画[1 put\2peng\3chi\4gang\5hu ,本次操作的座位,上个操作的牌,上个操作的牌池,自摸杠的座位]
if (d.act_pai[0] == 4)//自摸杠
{
}
if (d.act_pai[0] == 9)//抢杠胡
{
}
if (C_Player.seat != d.act_pai[1] && d.act_pai[0] >= 1 && d.act_pai[0] <= 3 || C_Player.seat == d.act_pai[1] && d.act_pai[0] == 3) {
d.set_show_chi_pos(d.act_pai[1], d.act_pai[0] + 1);
}
//d.show_sea();
var tar_seat = d.act_pai[1];
var tar_posxys = [[620, 600], [1010, 315], [616, 75], [200, 320]];
var tar_posxy = tar_posxys[d.pos[tar_seat]];
var id_whs = [[41, 50], [44, 46], [41, 50], [44, 46]];
var id_fs = [303, 300, 303, 301];
var id_seat = d.act_pai[3];
var id = 0, x = 0, y = 0, t = 300;
if (d.act_pai[3] >= 0) {
id_seat = d.act_pai[3];
var l = d.sea[d.pos[id_seat]].length;
id = d.sea[d.pos[id_seat]][l];
x = get_self(id, 18, 0, 0, 0);
y = get_self(id, 19, 0, 0, 0);
t = 350;
}
else if (d.act_pai[4] >= 0) {
id_seat = d.act_pai[4];
var id_posxys = [[620, 600], [1010, 315], [616, 75], [200, 320]];
x = id_posxys[d.pos[id_seat]][0];
y = id_posxys[d.pos[id_seat]][1];
t = 350;
}
var id_wh = id_whs[d.pos[id_seat]];
var id_f = id_fs[d.pos[id_seat]];
// set_self(1586,37,1,0,0);
// set_self(1586,1,id_f,0,0);
// set_self(1586,18,x,0,0);
// set_self(1586,19,y,0,0);
// set_self(1586,20,id_wh[0],0,0);
// set_self(1586,21,id_wh[1],0,0);
// set_self(1586,43,d.act_pai[2],0,0);
// play_ani123(1,1586,18,x,tar_posxy[0],t,1);
// play_ani123(1,1586,19,y,tar_posxy[1],t,1);
d.show_my13card();
d.show_you13card();
d.show_shang13card();
d.show_zuo13card();
d.show_14card();
set_self(1586, 37, 0, 0, 0);
play_ani123(0, 1586, 18);
play_ani123(0, 1586, 19);
d.click_ban = 1;
d.act_pai = [-1, -1, 0, -1, -1];
}
//停止牌动画
d.act_pai_doend = function (id, sx, allend) {
if (id > 0 && Desk.stage != 0 && d.recon != 1 && d.backstage != 1) {
if (id == 1586 && sx == 18 && allend == 1 || id == 1586 && sx == 19 && allend == 1) {
d.show_my13card();
d.show_you13card();
d.show_shang13card();
d.show_zuo13card();
d.show_14card();
set_self(1586, 37, 0, 0, 0);
play_ani123(0, 1586, 18);
play_ani123(0, 1586, 19);
d.click_ban = 1;
}
}
}
@@ -0,0 +1,656 @@
/*****************郑忠水****************/
/**
* ————————
*吃碰杠等操作的显示 和 点击操作(发包)
* ————————
* */
//显示操作按钮(吃碰杠)及操作按钮的位置显示
d.show_btn = function (show_btn_ban) {
if (d.user_ctrl[2] == C_Player.seat && d.btn == 1 && !d.isEnd() && d.OverTime == 0 && d.replay == 0) {
d.spy = 0;
set_self(2895, 37, 0, 0, 0);
set_self(2896, 37, 1, 0, 0);
set_self(2897, 37, 1, 0, 0);
if (show_btn_ban != undefined && show_btn_ban == 0) {
setTimeout(function () {
RoomFunc.click_tip();
}, 500);
set_self(2896, 37, 0, 0, 0);
set_self(2897, 37, 0, 0, 0);
}
set_self(2897, 43, 6);
set_self(2897, 41, 0);
set_self(2895, 43, 1);
set_self(2895, 41, 1);
if (d.pai.length == 0) {
set_self(2897, 43, 6);
}
if (d.last_put && d.last_put[0] < 4) {
if (d.last_put[0] == -1) {
set_self(2895, 43, 4, 0, 0);
set_self(2895, 41, 0, 0, 0);
}
}
if (d.pai.length > 0) {
var chu = (d.last_put == undefined || d.last_put[0] == -1 || d.last_put[0] == C_Player.seat) && Battle.check(d.pai);
var beat = (d.last_put && d.user_ctrl[1] > -1 && Battle.beat(d.pai, d.last_put[1]) && d.recon != 1);
if (chu || beat) {
set_self(2897, 43, 3);
set_self(2897, 41, 1);
}
}
// if(d.pai.length>0 && ((d.last_put[0]==-1 || d.last_put[0]==C_Player.seat) && Battle.check(d.pai)) || d.pai.length>0 && (d.user_ctrl[1]>-1 && Battle.beat(d.pai,d.last_put[1]))){
// set_self(2897,43,3);
// set_self(2897,41,1);
// }
} else {
set_self(2895, 37, 0, 0, 0);
set_self(2896, 37, 0, 0, 0);
set_self(2897, 37, 0, 0, 0);
}
console.log(1111);
}
d.click_btn = function (type) {
if (d.replay == 0) {
if (type == 0) {
d.spy = 0;
set_self(2891, 37, 0, 0, 0);
set_self(2890, 37, 0, 0, 0);
var pai = [];
var send = {
"app": "youle",
"route": d.route,
"rpc": "put",
"data": {
"agentid": GameData.AgentId,
"gameid": GameData.GameId,
"playerid": C_Player.playerid,
"roomcode": Desk.roomcode,
"seat": C_Player.seat,
"put": pai
}
};
Net.ws_tcp.send(JSON.stringify(send));
}
if (type == 1) {
if (d.pai.length > 0 && Battle.beat(d.pai, d.last_put[1])) {
var pai = d.pai;
var send = {
"app": "youle",
"route": d.route,
"rpc": "put",
"data": {
"agentid": GameData.AgentId,
"gameid": GameData.GameId,
"playerid": C_Player.playerid,
"roomcode": Desk.roomcode,
"seat": C_Player.seat,
"put": pai
}
};
Net.ws_tcp.send(JSON.stringify(send));
d.pai = [];
}
else {
set_self(2891, 37, 0, 0, 0);
set_self(2890, 37, 0, 0, 0);
var pai = [];
var send = {
"app": "youle",
"route": d.route,
"rpc": "put",
"data": {
"agentid": GameData.AgentId,
"gameid": GameData.GameId,
"playerid": C_Player.playerid,
"roomcode": Desk.roomcode,
"seat": C_Player.seat,
"put": pai
}
};
Net.ws_tcp.send(JSON.stringify(send));
d.getEnumCard.flag = false;
d.getEnumCard.value = [];
}
}
if (type == 2) {
if (get_self(2897, 43) == 3) {
var pai = d.pai;
var send = {
"app": "youle",
"route": d.route,
"rpc": "put",
"data": {
"agentid": GameData.AgentId,
"gameid": GameData.GameId,
"playerid": C_Player.playerid,
"roomcode": Desk.roomcode,
"seat": C_Player.seat,
"put": pai
}
};
Net.ws_tcp.send(JSON.stringify(send));
d.pai = [];
//d.spy = 1;
d.getEnumCard.flag = false;
d.getEnumCard.value = [];
d.getEnumCard.getIndex = null;
} else {
}
}
}
}
d.show_operate = function () {
d.operate_show_con = 0;
//d.user_eat_bump chi 1,peng 2,gang 3,ting 4,hu 5,guo 6//杠碰吃、自摸杠
set_self(1962, 41, 0, 0, 0);
set_group(206, 37, 0, 0, 0);
var n = 0;
var pai_vis = 0;
if (get_self(1013, 37, 0, 0, 0) == 1) {
return;
}
if (d.user_eat_bump[C_Player.seat][0] || d.user_eat_bump[C_Player.seat][1]) {
for (var i = 0; i < 19; i++) {
var spid = 936 + i;
if (get_self(spid, 21) > 120 && get_self(spid, 43) == d.throw_card) {
set_self(spid, 19, 480);
}
}
}
if (d.user_eat_bump[C_Player.seat][6])//报
{
var id = d.get_free_operate();
d.chi_ani();
set_self(id, 37, 1, 0, 0);
set_self(id, 43, 4, 0, 0);
n += 1;
}
if (d.qing_status[C_Player.seat])//请
{
var id = d.get_free_operate();
d.chi_ani();
set_self(id, 37, 1, 0, 0);
set_self(id, 43, 6, 0, 0);
n += 1;
}
if (d.user_eat_bump[C_Player.seat][5])//胡
{
var id = d.get_free_operate();
set_self(id, 37, 1, 0, 0);
set_self(id, 43, 5, 0, 0);
d.chi_ani();
//set_self(id,35,160,0,0);
//play_ani123(1,id,35,160,255,200,1);
n += 1;
}
if (d.user_eat_bump[C_Player.seat][0] || d.user_eat_bump[C_Player.seat][3] || d.user_eat_bump[C_Player.seat][4])//杠
{
//if(d.ting_status[C_Player.seat]==1)
{
var id = d.get_free_operate();
set_self(id, 37, 1, 0, 0);
set_self(id, 43, 3, 0, 0);
d.chi_ani();
//set_self(id,35,160,0,0);
//play_ani123(1,id,35,160,255,200,1);
n += 1;
}
// var id=d.get_free_operate();
// set_self(id,37,1,0,0);
// set_self(id,43,7,0,0);
// set_self(id,35,160,0,0);
// play_ani123(1,id,35,160,255,200,1);
// n+=1;
}
if (d.user_eat_bump[C_Player.seat][1])//碰
{
var id = d.get_free_operate();
set_self(id, 37, 1, 0, 0);
set_self(id, 43, 2, 0, 0);
d.chi_ani();
//set_self(id,35,160,0,0);
//play_ani123(1,id,35,160,255,200,1);
n += 1;
pai_vis = 1;
}
if (d.user_eat_bump[C_Player.seat][2])//吃
{
var id = d.get_free_operate();
set_self(id, 37, 1, 0, 0);
set_self(id, 43, 1, 0, 0);
d.chi_ani();
//set_self(id,35,160,0,0);
//play_ani123(1,id,35,160,255,200,1);
n += 1;
pai_vis = 1;
}
else {
set_group(211, 37, 0, 0, 0);
}
if (d.user_eat_bump[C_Player.seat][7] == 1)//要
{
var id = d.get_free_operate();
set_self(id, 37, 1, 0, 0);
set_self(id, 43, 8, 0, 0);
//set_self(id,35,160,0,0);
//play_ani123(1,id,35,160,255,200,1);
n += 1;
}
if (n > 0) {
d.rep[0] += 1;
d.operate_time = 7 + 1;//纠正计时器
if (d.throw_card > 0 && pai_vis == 1) {
set_self(1850, 37, 1, 0, 0);
set_self(1850, 43, d.throw_card, 0, 0);
n += 0.5;
}
//if(d.user_ctrl[2]!=C_Player.seat)
{
var id = d.get_free_operate();
set_self(id, 37, 1, 0, 0);
set_self(id, 43, 7, 0, 0);//过
//set_self(id,35,160,0,0);
//play_ani123(1,id,35,160,255,200,1);
//n+=1.2;
}
}
else {
return;
}
var x1 = 0;
for (var i = 0; i < 19; i++) {
if (get_self(936 + i, 37, 0, 0, 0) == 1 && get_self(936 + i, 21, 0, 0, 0) > 120) {
x1 = get_self(936 + i, 18, 0, 0, 0) + 89;
if (d.user_ctrl[2] == C_Player.seat) {
x1 -= 83;
}
}
}
var w = get_self(1013, 20, 0, 0, 0) + 10;
var x0 = parseInt((1280 - w * n) / 2);
//x0=x1-w*n;
var n = 0;
for (var i = 0; i < 6; i++) {
if (get_self(1013 + i, 37, 0, 0, 0) == 1) {
set_self(1013 + i, 18, x0 + n * w + 5);
set_self(d.N + i, 18, get_self(1013 + i, 18) + 6.5);
set_self(d.N + i, 19, get_self(1013 + i, 19) + 5);
set_self(d.M + i, 18, get_self(1013 + i, 18) - 6);
set_self(d.M + i, 19, get_self(1013 + i, 19) - 8);
if (get_self(1013 + i, 43, 0, 0, 0) == 7) {//过
if (get_self(1850, 37, 0, 0, 0) == 1) {
set_self(1850, 18, x0 + n * w + 5, 0, 0);
n += 0.5;
}
set_self(1013 + i, 18, parseInt(x0 + (n + 0.1) * w + 5), 0, 0);
set_self(2881 + i, 18, get_self(1013 + i, 18) + 6.5);
}
n += 1;
}
}
if (d.user_eat_bump[C_Player.seat][2])//吃
{
}
d.rep[0] += 1;
for (var i = 1013; i <= 1018; i++) {
if (get_self(i, 37, 0, 0) == 1) {
set_self(1962, 37, 1, 0, 0);
break;
}
}
}
//返回操作按钮的精灵id 1013开始
d.get_free_operate = function () {
for (var i = 0; i < 6; i++) {
if (get_self(1013 + i, 37, 0, 0, 0) == 0) {
return 1013 + i;
}
}
return 0;
}
d.get_free_o = function (N) {
for (var i = 0; i < 6; i++) {
if (get_self(N + i, 37, 0, 0, 0) == 0) {
return N + i;
}
}
return 0;
}
d.object = function (N) {
this.O = N,
this.oB = function (SS) {
return SS + true;
}
}
//d.get_free_wq = function(){
//for (var i = 0; i < 6; i++) {
//if(get_self(2886 + i, 37, 0, 0, 0) == 0) {
//return 2886 + i;
//}
//}
//return 0;
//}
//点击操作按钮
/*
spid_up:点击操作精灵的id (吃碰杠等1013精灵开始)
*/
d.click_operate = function (spid_up) {
if (!RoomFunc.operate_click(spid_up) || d.hostwait && d.identity[4] == C_Player.seat) {
return;
}
var f = get_self(spid_up, 43, 0, 0, 0);
d.rep[0] += 1;
d.click_id = 0;
set_group(237, 37, 0, 0, 0);
set_group(206, 37, 0, 0, 0);
var operate = [0, 0, 0];//操作类型,操作选项,操作备注
var sex = C_Player.sex || 1; //性别 (1:男 , 2:女)
var sid = 50 + (sex - 1) * 60;
var tou = "00";
if (String(sid).length == 2) {
tou = "000";
}
else if (String(sid).length == 3) {
tou = "00";
}
if (f == 1) {
operate[0] = 3;
//AM.cls_id(d.quan);
//AM.cls_id(d.waiq);
//if(sid)
//{Utl.playSound(tou+String(sid+1)+".mp3");}
}//吃
else if (f == 2) {
operate[0] = 1;
//AM.cls_id(d.quan);
//AM.cls_id(d.waiq);
if (sid) {
//Utl.playSound(tou + String(sid + 2) + ".mp3");
}
}//碰
else if (f == 3)//杠
{
operate[0] = 2;
//AM.cls_id(d.quan);
//AM.cls_id(d.waiq);
// if(f==3)
// {operate[2]=2;
// d.bar_roll[0]=2;
// }
// else if(f==7)
// {operate[2]=1;
// d.bar_roll[0]=1;
// }
if (sid) {
//Utl.playSound(tou + String(sid + 3) + ".mp3");
}
}
else if (f == 4) {
operate[0] = 9;
}
else if (f == 6) {//请胡
operate[0] = 8;
}
else if (f == 7) {//过
operate[0] = 6;
Utl.playSound("00" + 170 + ".mp3");
set_group(211, 37, 0, 0, 0);
var yao = 0;
for (var i = 0; i < 6; i++) {
if (get_self(1013 + i, 37, 0, 0, 0) == 1 && get_self(1013 + i, 43, 0, 0, 0) == 8) {
yao = 1;
break;
}
}
if (yao == 1) {
operate[0] = 8;
operate[1] = 0;
}//不要
if (operate[0] == 6) {
var t1 = new Date().getTime();
var t = ifast_div(t1 - d.user_ctrl0, 100);
if (d.limit_t - t < 60) {
d.t = 60 - (d.limit_t - t);
}
}
}
else if (f == 5)//胡
{
operate[0] = 7;
//AM.cls_id(d.quan);
//AM.cls_id(d.waiq);
d.zhenshu = 0;
d.shanD(Math.ceil(Math.random() * 1) + 99);
if (d.user_ctrl[2] == C_Player.seat) {
operate[1] = 0;
if (sid) {
//Utl.playSound(tou + String(sid + 6) + ".mp3");
}
}//自摸胡(杠上开花)
else {
operate[1] = 1;//碰吃胡(杠上开花)
if (sid) {
//Utl.playSound(tou + String(sid + 5) + ".mp3");
}
if (d.last_operate[2] > -1 && d.last_operate[0] == 4)//上个操作是自摸杠
{
operate[1] = 2;
}//抢杠胡
}
}
else if (f == 8) {
operate[0] = 8;
operate[1] = 1;
Utl.playSound("00" + 170 + ".mp3");
}//要
var ban = 0;
if (operate[0] == 3) {
}
console.log("111operate=" + operate);
if (ban == 0) {
set_self(1289, 37, 0, 0, 0);
set_self(1289, 7, -1);
var send = {
"app": "youle",
"route": d.route,
"rpc": "operate",
"data": {
"agentid": GameData.AgentId,
"gameid": GameData.GameId,
"playerid": C_Player.playerid,
"roomcode": Desk.roomcode,
"seat": C_Player.seat,
"operate": operate
}
};
Net.ws_tcp.send(JSON.stringify(send));
d.click_ban = 1;
if (operate[0] == 7 && d.user_ctrl[2] == C_Player.seat) {
d.baoting = [];
d.user_ctrl[2] = -1;
}
if (operate[0] == 6 && d.user_ctrl[2] == C_Player.seat) {
d.click_ban = 1;
d.show_my13card();
d.show_14card();
} else {
d.user_ctrl[2] = -1;
d.Ting_Tip = [];
d.ctrl_ting = 0;
}
d.bar_roll[0] = 0;
set_self(1289, 37, 0, 0, 0);
set_self(1289, 7, -1);
for (var i = 0; i < 4; i++) {
set_self(376 + i, 35, 255, 0, 0);
}
for (var i = 0; i < 14; i++) {
play_ani123(0, 1143 + i, 19);
}
set_group(212, 37, 0, 0, 0);
d.peng_option = 0;
d.peng_flame = [];
d.gang_option = 0;
d.gang_flame = [];
d.user_eat_bump[C_Player.seat] = [0, 0, 0, 0, 0, 0, 0, 0];
if (operate[0] == 6 && d.user_ctrl[2] == C_Player.seat) {
d.show_time();
d.show_my13card();
d.show_14card();
}
}
}
d.get_PDKConfig = function () {
var handLen = d.roomtype[11];
switch (handLen) {
case 0:
PDKConfig = {
danshunNum: 3,
duishunNum: 2,
sandaiOrNot: 0,
last4: 0
};
break;
case 1:
case 2:
PDKConfig = {
danshunNum: 5,
duishunNum: 2,
sandaiOrNot: 1,
last4: 0
};
break;
}
}
d.getTip = function (self_put_card) {
var tip = [];
if (d.getEnumCard.flag == false) {
d.getEnumCard.flag = true;
d.get_PDKConfig();
if (self_put_card) {
d.getEnumCard.value = RoomFunc.tip_put_card(d.hand[C_Player.seat][0], PDKConfig);
} else {
d.getEnumCard.value = RoomFunc.card_help(d.hand[C_Player.seat][0], d.last_put[1], PDKConfig);
}
if (d.getEnumCard.value.length != 0) {
d.getEnumCard.getIndex = (function () {
var index = 0;
var temp;
for (var i = 0; i < d.getEnumCard.value.length; i++) {
temp = d.getEnumCard.value[i];
if (RoomFunc.compare_array(d.hand[C_Player.seat][0], temp)) {
d.getEnumCard.value = [temp];
break;
}
}
var len = d.getEnumCard.value.length;
function getIndex() {
var back = index;
index = (++index) % len;
return back;
}
function resetIndex() {
index = 0;
}
return {
'getIndex': getIndex,
'resetIndex': resetIndex
}
}());
if (RoomFunc.compare_array(d.hand[C_Player.seat][0], d.getEnumCard.value[0]) || !self_put_card) {
tip = d.getEnumCard.value[d.getEnumCard.getIndex.getIndex()];
} else {
tip = [];
}
}
} else {
if (d.getEnumCard.value.length > 0) {
tip = d.getEnumCard.value[d.getEnumCard.getIndex.getIndex()];
}
}
return tip;
}