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,497 @@
/*****************黄欢****************/
/**
* ————————
*游戏自定义接口
* ————————
* */
var RoomConfig = {
roomcode: 100000,
roomtype: [],
room_name_type: {},
turns: 0,
people: 2,
}
/*房间号,局数,游戏玩法,人数*/
function RoomInit(roomtype) {
RoomConfig.roomcode = Desk.roomcode || 100000;
if (Desk.roomtype && Desk.roomtype.length > 0) {
RoomConfig.roomtype = Desk.roomtype;
} else if (roomtype && roomtype.length > 0) {
RoomConfig.roomtype = roomtype;
} else {
RoomConfig.roomtype = [];
}
(function (roomtype) {
RoomConfig.turns = roomtype[1] * 8 || 0;
var peoples = [4, 4, 3, 2]
RoomConfig.people = (peoples[roomtype[6]]) || 4;
RoomConfig.room_name_type.jushu = roomtype[1];//局数
RoomConfig.room_name_type.buy_horse = roomtype[2];//买马
RoomConfig.room_name_type.limit = roomtype[3];//精分
RoomConfig.room_name_type.horse = roomtype[5];//几匹马
RoomConfig.room_name_type.top_limit = roomtype[6];//封顶 人数
RoomConfig.room_name_type.host2 = roomtype[7];//庄家翻倍
RoomConfig.room_name_type.base_score = roomtype[8];//底分
RoomConfig.room_name_type.piao = roomtype[9];//底分
RoomConfig.room_name_type.jia = roomtype[10];//底分
RoomConfig.room_name_type.start_hu = roomtype[11];//底分
RoomConfig.room_name_type.start_hu_arr = roomtype[12];//底分
RoomConfig.room_name_type.star = roomtype[13];//底分
RoomConfig.room_name_type.qiangganghu = roomtype[15];//底分
})(RoomConfig.roomtype);
}
//房间接口
var RoomFunc = {};
//房间变量池
var RoomPool = {};
//可能会执行很多次
//点击,永远可用
RoomFunc.c_click = function (spid_up, upx, upy, downx, downy, spid_down) {
if (spid_up == 1403) {
d.click_ready(1403);
set_group(208,37,0,0,0);
set_group(300,37,0,0,0);
}
if (spid_up == 2998) {
d.show_xiao_settle(1);
d.show_timeready(1);
}
if (spid_up != 2999 && get_self(1247, 37)) {//听牌显示
set_group(237, 37, 0, 0, 0);
}
if (spid_up == 2233) {//托管
RoomFunc.tuoguan();
}
if (spid_up == 2996 && d.huanpai2.length == 3) {//换三张
d.huanpai3(1);
}
if (spid_up == 2994) {//取消换三张
d.huanpai3(2);
}
if (d.replay == 0 && (spid_up == 2231 || spid_up == 2232)) {//取消托管
d.OverTime = 0;
d.jishi_chu = 0;
set_group(221, 37, 0, 0, 0);
set_self(2233, 43, 1, 0, 0);
if(d.user_ctrl[2] == C_Player.seat && d.replay==0) {
set_self (2895,37,1,0,0);
set_self (2896,37,1,0,0);
set_self (2897,37,1,0,0);
}
d.show_my13card();
d.show_14card();
}
if (spid_up == 2509) {//小局2
d.horse_time = 0;
d.compare_jing_time3 = 0;
if (get_self(1598, 37) == 1) {
d.a.show_history3_1();
} else {
d.show_xiao1_settle(1);
}
}
if (spid_up == 2510) {//小局2
set_group(260, 37, 0, 0, 0);
}
if (spid_up == 2656) {//精牌详情
d.horse_time = 0;
d.compare_jing_time3 = 0;
set_self(2656, 37, 0);
d.show_xiao2_settle(1);
set_group(214, 41, 0, 0, 0);
set_self(2657, 41, 1);
set_self(2787, 41, 1);
//if (get_self(1598,37) == 1) {
//d.a.show_history3_2();
//}else {
//d.show_xiao2_settle(1);
//}
}
if (spid_up == 2787 || spid_up == 2657) {//关闭精牌详情
set_self(2656, 37, 1);
set_group(214, 37, 0, 0, 0);
}
if (spid_up == 233) {//结算
d.compare_jing_time3 = 0;
}
if (spid_up == 700) {//关闭胡杠详情
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
for (var i = 0; i < person; i++) {
set_self(717 + i, 37, 1);
}
set_group(214, 37, 0, 0, 0);
}
if (spid_up == 2895 && d.replay==0) {
d.click_btn(0);
}
if (spid_up == 2896 && d.replay==0) {
// d.click_btn(1);
RoomFunc.click_tip();
}
if (spid_up == 2897 && d.replay==0) {
d.click_btn(2);
}
//console.log("roomfunc 点击,永远可用");
}
RoomFunc.click_tip = function(){
if(d.getEnumCard.flag){
// var tip = d.getEnumCard.value[d.getEnumCard.getIndex()];
var tip = d.getTip();
if (tip.length>0) {
for (var i = 0; i < 60; i++) {
if (get_self(817 + i, 19, 0, 0, 0) < 500) {
set_self(817 + i, 19, 500, 0, 0);
}
}
for (var i = 0; i < tip.length; i++) {
var index = d.hand[C_Player.seat][0].indexOf(tip[i]);
set_self(817 + index, 19, 480, 0, 0);
}
d.pai = d.c(tip);
d.show_btn();
}else{
d.click_btn(1);
}
}
}
//点击,游戏开始之后可用
RoomFunc.g_click = function (spid_up, upx, upy, downx, downy, spid_down) {
//console.log("roomfunc 点击,游戏开始之后可用");
}
//开战,是否发牌
RoomFunc.make_war = function (_msg) {
console.log("roomfunc RoomConfig一进去就开战");
return true;
}
//重连重绘之前,游戏开始后收到包就执行
RoomFunc.running_before = function (_msg) {
console.log("roomfunc RoomConfig重连重绘之前,游戏开始后收到包就执行");
}
//重连重绘
RoomFunc.re_connect = function () {
console.log("roomfunc RoomConfig重连重绘")
}
//重连重绘之后,游戏开始后收到包就执行
RoomFunc.running_after = function (_msg) {
console.log("roomfunc RoomConfig重连重绘之后,游戏开始后收到包就执行")
}
//点击牌的判断
RoomFunc.clickpai_before = function (spid, a) {
if (d.replay != 0) {
return false;
}
if (d.isEnd()) {
return false;
}
if (get_self(spid, 21) < 120) {
return false;
}
//if (d.ting_record[C_Player.seat] == 0) {
//return true;
//} else if (d.ting_record[C_Player.seat] == 1) {
//var pos = d.Ting_Tip.indexOf(get_self(spid, 43));
//if (pos != -1) {
//return true;
//}
//} else if (d.ting_record[C_Player.seat] == 3) {
//if (d.user_ctrl[3] == get_self(spid, 43) && spid >= 817 + d.hand[C_Player.seat][0].length) {
//return true;
//}
//}
return false;
}
//点击操作按钮,显示出操作图案之后
RoomFunc.operate_before = function (spid, num) {//num=7是自摸,8是放炮 ,9?10?
if (num == 8) {
//return;
}
if (num == 20) {
num = 12;
}
if (!AM.is_play(spid)) {
AM.remove(spid, false)
var dh_bz = [0, 0, 634, 633, 630, 633, 633, 631, 631, 631, 632, 9, 632];//1吃,3杠,5胡,7碰,9听,
//var a=1;
AM.add(spid).bfunc(function () {
set_self(spid, 1, dh_bz[num], 0, 0);
set_self(spid, 37, 1, 0, 0);
set_self(spid, 33, 200, 0, 0);
set_self(spid, 43, 1, 0, 0);
}).zoom(300, 8).zoom(150, 3).wait(5, function () {
//set_self(spid,37,0,0,0);
//AM.cls_id(spid);
}).start();
}
var dh_bz2 = [0, 0, 634, 633, 630, 633, 633, 631, 631, 631, 632, 9, 632];//1吃,3杠,5胡,7碰,9听,
if (!AM.is_play(spid + 61)) {
AM.add(spid + 61).wait(3, function () {
set_self(spid + 61, 1, dh_bz2[num], 0, 0);
set_self(spid + 61, 18, get_self(spid, 18) - 90, 0, 0);
set_self(spid + 61, 19, get_self(spid, 19) - 90, 0, 0);
set_self(spid + 61, 37, 1, 0, 0);
set_self(spid + 61, 43, 2, 0, 0);
set_self(spid + 61, 35, 255, 0, 0);
set_self(spid + 61, 33, 0, 0, 0);
}).alpha(200, 8).zoom(200, 8).wait(10, function () {
//set_self(spid+61,43,4,0,0);
set_self(spid + 61, 37, 0, 0, 0);
set_self(spid, 37, 0, 0, 0);
AM.cls_id(spid);
AM.cls_id(spid + 61);
}).start();
}
if ((d.last_operate[0] == 2 || d.last_operate[0] == 4) && !d.isEnd()) {
//加杠动画 明杠动画
if (!AM.is_play(2394)) {
AM.add(2394).bfunc(function () {
set_self(2394, 37, 1, 0, 0);
set_self(2394, 43, 2, 0, 0);
}).wait(3, function () {
set_self(2394, 43, 3, 0, 0);
}).wait(3, function () {
set_self(2394, 43, 4, 0, 0);
}).wait(3, function () {
set_self(2394, 43, 5, 0, 0);
}).wait(3, function () {
set_self(2394, 43, 6, 0, 0);
}).wait(3, function () {
set_self(2394, 43, 2, 0, 0);
}).wait(3, function () {
set_self(2394, 43, 3, 0, 0);
}).wait(3, function () {
set_self(2394, 43, 4, 0, 0);
}).wait(3, function () {
set_self(2394, 43, 5, 0, 0);
}).wait(3, function () {
set_self(2394, 43, 6, 0, 0);
}).wait(3, function () {
}).func(function () {
set_self(2394, 37, 0, 0, 0);
set_self(2394, 43, 2, 0, 0);
AM.cls_id(2394);
}).start();
}
}
}
//点击操作按钮
RoomFunc.operate_click = function (spid_up) {
if (get_self(1965, 37) == 1) {
return false;
}
else {
return true;
}
}
//战局开始,牌显示之前
RoomFunc.showcard_before = function () {
set_self(2874, 43, 60, 0, 0);
//一般执行14次
return true;
}
//战局开始,牌显示之后
RoomFunc.showcard_after = function () {
//执行一次
console.log("roomfunc RoomConfig战局开始,牌显示之后");
if (RoomFunc.hua()) {
d.hualen3 = [d.hua_hua[0].length, d.hua_hua[1].length, d.hua_hua[2].length, d.hua_hua[3].length];
d.hualen = d.hua_hua[0].length + d.hua_hua[1].length + d.hua_hua[2].length + d.hua_hua[3].length;
if (d.hualen > 0) {
set_self(346, 57, 1000, 0, 0);
}
}
d.playerid = [];
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
for (var i = 0; i < person; i++) {
d.playerid.push(Desk.PlayerList[i].playerid);
//d.grade_j.push[d.grade[i]];
}
}
//自己有摸牌,且是自己的控制權
RoomFunc.mopai_before = function (first_card, seat) {
//最新的牌
console.log("roomfunc RoomConfig自己有摸牌,且是自己的控制權", first_card, seat);
}
//自己沒摸牌,且是自己的控制權
RoomFunc.nomopai_before = function (seat) {
console.log("roomfunc RoomConfig自己沒摸牌", seat);
}
//要不要顯示战绩,服务器判断要不要买马动画
RoomFunc.zhanji_before = function () {
console.log("roomfunc RoomConfig要不要顯示战绩");
if (RoomFunc.compare_jing() && d.compare_jing_time3 == 0) {
if (get_self(2377, 37) == 0) {
set_self(2377, 37, 1);
}
d.compare_jing_time3 = 1;
} else if (RoomFunc.buyhorse() && d.horse_time == 0) {
d.horse_time = 1;
} else {
return true;
}
return false;
}
//一小局的结束,显示了牌之后,还没有显示动画
RoomFunc.turn_over = function () {
for (var i = 936; i <= 954; i++) {
set_self(i, 1, 503, 0, 0);
}
}
//游戲中战绩显示,在其他数据全部显示之后
RoomFunc.game_show_settle = function (turn, identity, names, avatar, playerids, hand, turn_point, buyHorse, winHorse, Horse_vic_def, final_hu, settlePoint, hu_note_gang, roomtype, many_hu, start_hu, piao, sea_hua, peng_chi_num, hu_note_gang_jing, putJing, jing, jing_reduce) {
}
//大厅战绩显示,在其他数据全部显示之后,与上面的
RoomFunc.game_out_show_settle = function (js, js1) {
}
//绘制接口
RoomFunc.draw = function (spid) {
}
//超时自动出牌
RoomFunc.Overtime_chupai = function () {
var Overtime_chupai = Desk.roomtype[18];
if (Overtime_chupai == 2) {//快版
return true;
}
return false;
}
//托管
RoomFunc.tuoguan = function (mode) {
mode = mode || 0;
if (get_self(2233, 43) == 1 && mode == 0) {
set_self(2233, 43, 2, 0, 0)
d.show_tuoguan();
} else if (mode == 0 || mode == 1) {
set_self(2233, 43, 1, 0, 0)
d.OverTime = 0;
set_group(221, 37, 0, 0, 0);
if(d.user_ctrl[2] == C_Player.seat) {
//set_self (2895,37,1,0,0);
set_self (2896,37,1,0,0);
set_self (2897,37,1,0,0);
}
d.jishi_chu = 0;
}
}
//财神
RoomFunc.god = function () {
return false;
}
//财神
RoomFunc.mammon = function () {
var mammon = Desk.roomtype[11];
if (mammon == 1) {
return true;
} else {
return false;
}
}
//精分
RoomFunc.jingscore = function () {
return false;
}
//比精
RoomFunc.compare_jing = function () {
return false;
}
//买马
RoomFunc.buyhorse = function () {
return false;
}
//可以多人胡
RoomFunc.canManyHu = function () {
return true;
}
//花牌算分
RoomFunc.huascore = function () {
return false;
}
//花牌配置
RoomFunc.hua = function () {
return false;
}
//有抄庄
RoomFunc.can_chao_host = function () {
return false;
}
//血战玩法
RoomFunc.xue_zhan = function () {
return true;
}
//不同张牌数玩法
RoomFunc.num_pai = function () {
if (false) {
return 7;
} else if (true) {
return 10;
} else if (false) {
return 13;
}
return 13;
}