Files
youle_cocos/projects/pdk_card_client-jinxian/js/config/Config.js
T
joywayerandClaude Opus 4.8 7ab748919a 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>
2026-06-28 11:55:13 +08:00

498 lines
12 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*****************黄欢****************/
/**
* ————————
*游戏自定义接口
* ————————
* */
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;
}