删除 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>
498 lines
12 KiB
JavaScript
498 lines
12 KiB
JavaScript
/*****************黄欢****************/
|
||
/**
|
||
* ————————
|
||
*游戏自定义接口
|
||
* ————————
|
||
* */
|
||
|
||
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;
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|