删除 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>
1210 lines
39 KiB
JavaScript
1210 lines
39 KiB
JavaScript
/*****************郑忠水****************/
|
||
/**
|
||
* ————————
|
||
*点击事件操作
|
||
* ————————
|
||
* */
|
||
//所有需要点击事件操作都可写在这
|
||
d.click = function (spid_up, upx, upy, downx, downy, spid_down) {
|
||
console.log("clickid=" + spid_up + "," + d.chu_cilck)
|
||
if (spid_up == 149 || spid_up == 1158) {
|
||
GameUI.closeRoomInfo();
|
||
}
|
||
else if (spid_up == 284 && Utl.getIsInfinite() == 1) {
|
||
set_self(110, 7, "系统房");
|
||
set_self(512, 37, 0, 0, 0);
|
||
var h = get_self(109, 21);
|
||
//set_self(109, 21, h - 20);
|
||
}
|
||
else if (spid_up == 1953)//高级选项
|
||
{
|
||
Game_Modify.get_roomtype_ini();
|
||
if (get_self(2380, 43, 0, 0) == 1) {
|
||
Game_Modify.star = 0;
|
||
} else {
|
||
Game_Modify.star = 1;
|
||
}
|
||
var roomtype = [Game_Modify.Type_1[Game_Modify.CreateRoomData.Type_1].type,
|
||
Game_Modify.numOfgame,//1局数
|
||
Game_Modify.huan_3,//2换三张1换2不换
|
||
Game_Modify.top,//3封顶,1:6番封顶 2:不封顶
|
||
Game_Modify.deduct_card,//4扣卡方法
|
||
-1,//Game_Modify.jiangma,//5红中奖码;0,无奖码;1,159奖码;2,一码全中
|
||
Game_Modify.top_limit,//6人数
|
||
-1,//Game_Modify.jiang_jima,//7红中奖几码;1,奖2码+4;2,奖4码+8;3,奖6码+12;4,胡几奖几码
|
||
-1,//Game_Modify.base_score,//8底分
|
||
-1,//Game_Modify.feng,//9带字,1带字,2不带字
|
||
-1,//Game_Modify.jia,//10黑摸,1黑摸,2不黑摸
|
||
Game_Modify.peng,//Game_Modify.peng,//11一口香,1一口香,2乱碰,3不可碰
|
||
[[[[2, 3], [1, 5]], [[3, 4], [3, 4]], [[1, 2], [1, 4]]], [8, 1, 1, 0], 1, 1, [2, 3]],//12摸牌概率配置
|
||
Game_Modify.star,//13星星场
|
||
1,//14游戏类型
|
||
1,//Game_Modify.hu,//15
|
||
[0, 0, 0],//16系统房,0初中高级场,1倍数,2限入
|
||
[[1600, 800, 4000], [1000, 600]],//17时间配置
|
||
Game_Modify.overtime,//18托管
|
||
-1,//Game_Modify.Play_card,//19不打牌
|
||
sb1.current,//20倍数
|
||
sb2.current,//21限制
|
||
Game_Modify.tuoguan, //22托管
|
||
sb3.current,//23金币房茶水费
|
||
Game_Modify.Base,//底分
|
||
];//发送的房间类型数组
|
||
Desk.roomtype = [].concat(roomtype);
|
||
//房间描述
|
||
d.a.share();
|
||
var _des = Game_Config.Share.gameDescription.split("\n")[0];
|
||
if (roomtype[13] == 1) {
|
||
if (sb1.current == 0) {
|
||
sb3.setValue(0);
|
||
sb3.current=0;
|
||
}
|
||
Utl.openSnrOption(0, roomtype, _des, sb3.current);//(第一个参数->星星场传0、非星星场传1,第二个参数->roomtype,第三个参数->房间信息描述)
|
||
} else {
|
||
roomtype[20] = 0;
|
||
roomtype[21] = 0;
|
||
roomtype[23] = 0;
|
||
SB.currentValue = 0;
|
||
SB2.currentValue = 0;
|
||
SB3.currentValue = 0;
|
||
sb1.current=0;
|
||
sb2.current=0;
|
||
sb3.current=0;
|
||
Utl.openSnrOption(1, roomtype, _des);
|
||
}
|
||
Game_Config.Share.description = Game_Config.Share.gameDescription;
|
||
//Game_Config.Share.appdownload = "https://m.xihasoft.com/act/dongxiang/howto" + "?" + ifast_random(100000);
|
||
}
|
||
else if (spid_up == 14)//分享微信朋友圈
|
||
{
|
||
Game_Config.Share.description = "每天可领取免费房卡约麻将"//分享描述
|
||
}
|
||
else if (spid_up == 11 || spid_up == 3019) {
|
||
if (Utl.getVersionState()) {
|
||
set_self(d.game2_Number[0], 7, d.gameConfig.asetcount[0] + "局");
|
||
set_self(d.game2_Number[1], 7, d.gameConfig.asetcount[1] + "局");
|
||
}
|
||
else if (get_self(2385, 43) == 1) {
|
||
set_self(d.game2_Number[0], 7, d.gameConfig.asetcount[0] + "局");
|
||
set_self(d.game2_Number[1], 7, d.gameConfig.asetcount[1] + "局");
|
||
}
|
||
//显示房卡文字
|
||
for (var i = 0; i < d.game1_People.length; i++) {
|
||
if (get_self(d.game1_People[i], 43) == 1 && get_self(2380, 43) == 1) {
|
||
set_self(d.game2_Number[0], 7, d.gameConfig.asetcount[0] + "局(" + d.gameConfig.paytype + "x" + d.gameConfig.needroomcard[0][i + 1] + ")");
|
||
set_self(d.game2_Number[1], 7, d.gameConfig.asetcount[1] + "局(" + d.gameConfig.paytype + "x" + d.gameConfig.needroomcard[1][i + 1] + ")");
|
||
}
|
||
}
|
||
if (get_self(2189, 43) == 1 && get_self(2380, 43) == 1) {
|
||
set_self(d.game2_Number[0], 7, d.gameConfig.asetcount[0] + "局(" + d.gameConfig.paytype + "x" + d.gameConfig.needroomcard[0][0] + ")");
|
||
set_self(d.game2_Number[1], 7, d.gameConfig.asetcount[1] + "局(" + d.gameConfig.paytype + "x" + d.gameConfig.needroomcard[1][0] + ")");
|
||
}
|
||
}
|
||
if (spid_up == 6) {
|
||
|
||
}
|
||
if (spid_up == 2216) {
|
||
var send = {
|
||
"app": "youle",
|
||
"route": d.route,
|
||
"rpc": "exit",
|
||
"data": {
|
||
"agentid": GameData.AgentId,
|
||
"gameid": GameData.GameId,
|
||
"playerid": C_Player.playerid,
|
||
"roomcode": Desk.roomcode,
|
||
"seat": C_Player.seat,
|
||
"exit": d.exit
|
||
}
|
||
};
|
||
Net.ws_tcp.send(JSON.stringify(send));
|
||
d.exit = -1;
|
||
set_self(2216, 37, 0, 0, 0);
|
||
}
|
||
if (spid_up == 2234) {//LOL准备按钮
|
||
//Func.createRoom();
|
||
var send = {
|
||
"app": "youle",
|
||
"route": d.route,
|
||
"rpc": "war_ready",
|
||
"data": {
|
||
"agentid": GameData.AgentId,
|
||
"gameid": GameData.GameId,
|
||
"playerid": C_Player.playerid,
|
||
"roomcode": Desk.roomcode,
|
||
"seat": C_Player.seat,
|
||
"ready": 1,
|
||
}
|
||
};
|
||
Net.ws_tcp.send(JSON.stringify(send));
|
||
}
|
||
// if(spid_up==202 && get_self(149,37,0,0,0)==1)
|
||
// {d.agree[C_Player.seat]=C_Player.seat;
|
||
// var send={"app":"youle","route":d.route,"rpc":"agree","data":{"agentid":GameData.AgentId,"gameid":GameData.GameId,"playerid":C_Player.playerid,"roomcode":Desk.roomcode,"seat":C_Player.seat,"agree":0}};
|
||
// Net.ws_tcp.send(JSON.stringify(send));
|
||
// }
|
||
if (spid_up == 153) {
|
||
var sex = Desk.PlayerList[C_Player.seat].sex || 1;//1男2女
|
||
if (sex == 1) {
|
||
Game_Config.Info.TextContentMp3 = ["00031.mp3", "00032.mp3", "00033.mp3", "00034.mp3", "00035.mp3", "00036.mp3", "00037.mp3"];
|
||
}
|
||
else {
|
||
Game_Config.Info.TextContentMp3 = ["00041.mp3", "00042.mp3", "00043.mp3", "00044.mp3", "00045.mp3", "00046.mp3", "00047.mp3"];
|
||
}
|
||
}
|
||
//if (spid_up == 153 || spid_up == 698 && get_self(206, 37, 0, 0, 0) == 0 && get_self(698, 35, 0, 0, 0) == 254) {
|
||
//var sex = C_Player.sex || 1;
|
||
|
||
//GameUI.SelectMsg();
|
||
//GameUI.SelectEmotion();
|
||
//set_self(698, 43, 2, 0, 0);
|
||
//for (var spid = 206; spid <= 212; spid++) {
|
||
//set_self(spid, 37, 1, 0, 0);
|
||
//}
|
||
//if (spid_up == 698) {
|
||
//set_self(698, 43, 2, 0, 0);
|
||
//set_self(698, 35, 255, 0, 0);
|
||
//}
|
||
//}
|
||
//else if (spid_up == 698 && get_self(698, 35, 0, 0, 0) == 255) {
|
||
//set_self(698, 43, 1, 0, 0);
|
||
//set_self(698, 35, 254, 0, 0);
|
||
//}
|
||
// if(spid_up==184)
|
||
// {var text="结算";//房间号+昵称+总分+昵称+每局分数
|
||
// Func.gameCopytext(text);
|
||
// }
|
||
if (spid_up >= 1770 && spid_up <= 1773) {//显示IP
|
||
}
|
||
// else if (spid_up == 13) {//play_wav(".mp3");
|
||
// var data = {};
|
||
// data.agentid = GameData.AgentId;
|
||
// data.playerid = C_Player.playerid;
|
||
// data.gameid = GameData.GameId;
|
||
// Net.Send_get_player_grade1(data);
|
||
// }
|
||
else if (spid_up == 1467 || spid_up == 1466) {
|
||
set_group(241, 37, 0, 0, 0);
|
||
set_group(215, 37, 0, 0, 0);
|
||
Utl.playSound("00" + 170 + ".mp3");
|
||
}
|
||
else if (spid_up >= 1553 && spid_up <= 1562 && get_self(spid_up, 19, 0, 0, 0) > get_self(1665, 19) + parseInt(get_self(1665, 21) / 2) && get_self(spid_up, 19, 0, 0, 0) < get_self(1570, 19, 0, 0, 0) + 36 + 520) {
|
||
d.h3 = spid_up - 1553;
|
||
d.a.show_history2(spid_up - 1553, spid_up);
|
||
Utl.playSound("00" + 170 + ".mp3");
|
||
}
|
||
else if (spid_up == 1573) {
|
||
set_group(216, 37, 0, 0, 0);
|
||
set_group(217, 37, 0, 0, 0);
|
||
set_group(241, 37, 0, 0, 0);
|
||
set_group(215, 37, 0, 0, 0);
|
||
Utl.playSound("00" + 170 + ".mp3");
|
||
}
|
||
else if (spid_up == 1341) {
|
||
set_group(216, 37, 0, 0, 0);
|
||
set_group(217, 37, 0, 0, 0);
|
||
set_group(241, 35, 255, 0, 0);
|
||
set_group(215, 35, 255, 0, 0);
|
||
d.info2 = 0;//返回第1页
|
||
for (var i = 0; i < 4; i++) {
|
||
set_self(1163 + i, 1, 131, 0, 0);
|
||
}
|
||
Utl.playSound("00" + 170 + ".mp3");
|
||
}
|
||
else if (spid_up >= 1653 && spid_up <= 1664 || spid_up >= 2118 && spid_up <= 2123) {
|
||
if (get_self(spid_up, 19, 0, 0, 0) > get_self(1665, 19, 0, 0, 0) && get_self(spid_up, 19, 0, 0, 0) < get_self(1665, 19, 0, 0, 0) + 36 + 510) {
|
||
var n = 0;
|
||
if (spid_up >= 1653 && spid_up <= 1664) {
|
||
n = spid_up - 1653;
|
||
}
|
||
else if (spid_up >= 2118 && spid_up <= 2123) {
|
||
n = spid_up - 2118 + 12;
|
||
}
|
||
d.a.show_history3(n);
|
||
Utl.playSound("00" + 170 + ".mp3");
|
||
}
|
||
}
|
||
else if (spid_up >= 1894 && spid_up <= 1905 || spid_up >= 2124 && spid_up <= 2129) {
|
||
if (get_self(spid_up, 19, 0, 0, 0) > get_self(1665, 19, 0, 0, 0) && get_self(spid_up, 19, 0, 0, 0) < get_self(1665, 19, 0, 0, 0) + 36 + 510 && d.h3 > -1) {
|
||
var n = 0;
|
||
if (spid_up >= 1894 && spid_up <= 1905) {
|
||
n = spid_up - 1894;
|
||
}
|
||
else if (spid_up >= 2124 && spid_up <= 2129) {
|
||
n = spid_up - 2124 + 12;
|
||
}
|
||
d.replay_start(d.h3, n);
|
||
}
|
||
}
|
||
else if (spid_up == 1592) {
|
||
set_group(213, 37, 0, 0, 0);
|
||
set_group(230, 37, 0, 0, 0);
|
||
for (var i = 233; i <= 240; i++) {
|
||
set_group(i, 37, 0, 0, 0);
|
||
}
|
||
set_group(216, 37, 0, 0, 0);
|
||
set_group(217, 37, 0, 0, 0);
|
||
set_group(241, 37, 0, 0, 0);
|
||
set_group(215, 37, 0, 0, 0);
|
||
Utl.playSound("00" + 170 + ".mp3");
|
||
if (d.replay == 1) {
|
||
d.ini_start();
|
||
d.replay = 0;
|
||
Utl.Exit();
|
||
}
|
||
for (var j = 0; j < 4; j++) {
|
||
Desk.PlayerList[j].avatar = "";
|
||
Desk.PlayerList[j].playerid = -1;
|
||
Desk.PlayerList[j].nickname = "";
|
||
Desk.PlayerList[j].sex = 0;
|
||
}
|
||
}
|
||
else if (spid_up == 1598 || spid_up == 1906 || spid_up == 1363) {
|
||
d.horse_time = 0;
|
||
d.compare_jing_time3 = 0;
|
||
set_group(213, 37, 0, 0, 0);
|
||
set_group(230, 37, 0, 0, 0);
|
||
for (var i = 233; i <= 240; i++) {
|
||
set_group(i, 37, 0, 0, 0);
|
||
}
|
||
for (var i = 0; i < 4; i++) {
|
||
set_group(224 + i, 37, 0, 0, 0);
|
||
}
|
||
set_group(216, 35, 255, 0, 0);
|
||
set_group(217, 35, 255, 0, 0);
|
||
Utl.playSound("00" + 170 + ".mp3");
|
||
for (var j = 0; j < 4; j++) {
|
||
Desk.PlayerList[j].avatar = "";
|
||
Desk.PlayerList[j].playerid = -1;
|
||
Desk.PlayerList[j].nickname = "";
|
||
Desk.PlayerList[j].sex = 0;
|
||
}
|
||
if (d.replay == 1 || spid_up == 1598) {
|
||
d.ini_start();
|
||
d.replay = 0;
|
||
Utl.Exit();
|
||
if (CombatInfo && CombatInfo.length > 0) {
|
||
d.a.show_history(CombatInfo);
|
||
if (d.h3 > -1) {
|
||
{
|
||
d.a.show_history2(d.h3, d.h3 + 1553);
|
||
}
|
||
}
|
||
}
|
||
d.replay_speed(0);
|
||
}
|
||
if (spid_up == 1906) {
|
||
for (var i = 0; i < 4; i++) {
|
||
set_self(150 + i, 37, 0, 0, 0);
|
||
}
|
||
}
|
||
}
|
||
else if (spid_up == 1414)//分享
|
||
{
|
||
var head_arr = [];//[1349,1350,1351,1352]
|
||
for (var i = 0; i < 4; i++) {
|
||
if (get_self(1349 + i, 37) == 1) {
|
||
head_arr[head_arr.length] = 1349 + i;
|
||
}
|
||
}
|
||
Func.sharefinend(1, 2, Game_Config.Share.appdownload, '[绍兴麻将]房号' + d.roomcode + '(' + d.turn[2] + '局)', Game_Config.Share.description, head_arr);
|
||
Utl.playSound("00" + 170 + ".mp3");
|
||
}
|
||
else if (spid_up == 1288)//调速
|
||
{
|
||
set_self(1288, 43, 1, 1, 0);
|
||
if (get_self(1288, 43, 0, 0, 0) > 3) {
|
||
set_self(1288, 43, 1, 0, 0);
|
||
}
|
||
d.replay_speed(get_self(1288, 43, 0, 0, 0));
|
||
} else if (spid_up === 2055) {
|
||
set_group(244, 37, 0, 0, 0);
|
||
}
|
||
else if (spid_up == 1435) {
|
||
d.ini_start(1);
|
||
Utl.Exit();
|
||
Utl.playSound("00" + 170 + ".mp3");
|
||
}
|
||
RoomFunc.c_click(spid_up, upx, upy, downx, downy, spid_down)
|
||
if (d.replay) {
|
||
return;
|
||
}
|
||
if (spid_up == 2673)//等一等
|
||
{
|
||
return;
|
||
d.user_ctrl0 = new Date().getTime();
|
||
if (get_self(1289, 37) == 0) {
|
||
set_self(1289, 7, 10);
|
||
set_self(1289, 37, 1);
|
||
}
|
||
//set_self(2673,37,0);
|
||
var data = {};
|
||
data.agentid = GameData.AgentId;
|
||
data.gameid = GameData.GameId;
|
||
data.playerid = C_Player.playerid;
|
||
data.roomcode = Desk.roomcode;
|
||
data.text = "等一等";
|
||
|
||
Net.Send_send_text(data);
|
||
var send = {
|
||
"app": "youle",
|
||
"route": d.route,
|
||
"rpc": "wait_me",
|
||
"data": {
|
||
"agentid": GameData.AgentId,
|
||
"gameid": GameData.GameId,
|
||
"playerid": C_Player.playerid,
|
||
"roomcode": Desk.roomcode,
|
||
"seat": C_Player.seat,
|
||
}
|
||
};
|
||
Net.ws_tcp.send(JSON.stringify(send));
|
||
}
|
||
if (spid_up >= 376 && spid_up <= 379) {
|
||
//d.show_distance_1(spid_up);
|
||
}
|
||
if (spid_up == 515) {
|
||
//Func.createRoom();
|
||
var persons = [4, 4, 3, 2];
|
||
var person = persons[Desk.roomtype[6]] || 4;
|
||
if (d.isEnd() && person == 2 && C_Player.seat == 0) {
|
||
set_self(437, 37, 1, 0, 0);
|
||
set_self(1222, 37, 1, 0, 0);
|
||
}
|
||
if (d.isEnd() && person == 2 && C_Player.seat == 1) {
|
||
set_self(439, 37, 1, 0, 0);
|
||
set_self(1224, 37, 1, 0, 0);
|
||
}
|
||
if (d.isEnd() && person > 2) {
|
||
for (var i = 0; i < person; i++) {
|
||
set_self(436 + d.pos[i], 37, 1, 0, 0);
|
||
set_self(1221 + d.pos[i], 37, 1, 0, 0);
|
||
}
|
||
}
|
||
set_group(219, 37, 0, 0, 0);
|
||
set_self(2998, 37, 0, 0, 0);
|
||
set_group(260, 37, 0, 0, 0);
|
||
d.show_timeready(1);
|
||
set_self(2997, 18, 614, 0, 0);
|
||
set_self(2997, 19, 287, 0, 0);
|
||
d.click_ready(1403);
|
||
}
|
||
|
||
if (spid_up == 1159) {
|
||
//Func.createRoom();
|
||
set_group(244, 37, 0, 0, 0);
|
||
set_group(213, 37, 0, 0, 0);
|
||
set_group(230, 37, 0, 0, 0);
|
||
set_self(1408, 43, 1, 0, 0);
|
||
set_self(2998, 37, 1, 0, 0);
|
||
set_self(515,19,346,0,0);
|
||
for (var i = 233; i <= 240; i++) {
|
||
set_group(i, 37, 0, 0, 0);
|
||
}
|
||
if (Utl.getIsInfinite() != 1) {
|
||
if(d.user_ctrl[C_Player.seat]==1&&(Desk.roomtype[14]==3||Desk.roomtype[14]==4)||(Desk.roomtype[14]!=3&&Desk.roomtype[14]!=4))
|
||
{set_self(1408, 37, 1, 0, 0);}
|
||
}
|
||
if (d.turn[1] < d.turn[2]) {
|
||
set_self(291, 7, "房号:" + Desk.roomcode + "\n(" + String(d.turn[1] + 1) + "/" + Desk.count + "局)");
|
||
}
|
||
if (d.turn[1] + 1 >= d.turn[2]) {
|
||
set_self(1408, 43, 2, 0, 0);
|
||
//d.hide_timeready();
|
||
}
|
||
for (var i = 0; i < 4; i++) {
|
||
if (i > 1 && d.turn[1]+1 != d.turn[2]) {
|
||
set_self(150 + i, 37, 1, 0, 0);
|
||
}
|
||
}
|
||
Utl.playSound("00" + 170 + ".mp3");
|
||
d.show_timeready(1);
|
||
}
|
||
|
||
if (Desk.stage == 0) {
|
||
return;
|
||
}
|
||
RoomFunc.g_click(spid_up, upx, upy, downx, downy, spid_down)
|
||
|
||
var re_ban = 0;
|
||
|
||
if (spid_up == 1403 || spid_up == 1408) {
|
||
if (spid_up == 1403 && get_self(1403, 43) == 2 || spid_up == 1408 && get_self(1408, 43) == 2) {
|
||
//Func.exitRoom();
|
||
}
|
||
else {
|
||
//Func.createRoom();
|
||
d.send_ip();
|
||
d.send_distance();
|
||
}
|
||
set_self(2998, 37, 0, 0, 0);
|
||
d.click_ready(spid_up);
|
||
|
||
}
|
||
else {
|
||
re_ban = 1;
|
||
}
|
||
if (re_ban == 0 && spid_up > 0 && get_self(1158, 37, 0, 0, 0) == 0 && get_self(1413, 37, 0, 0, 0) == 0) {
|
||
var nowtime = new Date().getTime();
|
||
d.replay_record(1, nowtime, spid_up);
|
||
}
|
||
}
|
||
d.chi_ani = function () {
|
||
d.N = d.ob.oB(Math.round(2879.5));
|
||
d.M = d.ob.oB(Math.round(2887.5));
|
||
d.quan = d.get_free_o(d.N);
|
||
d.waiq = d.get_free_o(d.M);
|
||
AM.remove(d.quan);
|
||
AM.add(d.quan).bfunc(function () {
|
||
set_self(d.quan, 34, 0, 0, 0);
|
||
set_self(d.quan, 37, 1, 0, 0);
|
||
set_self(d.quan, 41, 0, 0, 0);
|
||
}).rotate(360, 35).rotate(0, 35).repeat().start();
|
||
|
||
AM.remove(d.waiq);
|
||
AM.add(d.waiq).bfunc(function () {
|
||
set_self(d.waiq, 35, 200, 0, 0);
|
||
set_self(d.waiq, 37, 1, 0, 0);
|
||
set_self(d.waiq, 33, 100, 0, 0);
|
||
}).zoom(130, 35).zoom(100, 35).repeat().start();
|
||
}
|
||
|
||
d.straight = function (num) {
|
||
AM.remove(num);
|
||
AM.add(num).bfunc(function () {
|
||
set_self(num, 37, 1, 0, 0);
|
||
//set_self(num,18,get_self(881,18));
|
||
set_self(num, 43, 1, 0, 0);
|
||
}).wait(1, function () {
|
||
set_self(num, 43, 2, 0, 0);
|
||
}).wait(1, function () {
|
||
set_self(num, 43, 3, 0, 0);
|
||
}).wait(1, function () {
|
||
set_self(num, 43, 4, 0, 0);
|
||
}).wait(1, function () {
|
||
set_self(num, 43, 5, 0, 0);
|
||
}).wait(1, function () {
|
||
set_self(num, 43, 6, 0, 0);
|
||
}).wait(1, function () {
|
||
set_self(num, 43, 7, 0, 0);
|
||
}).wait(1, function () {
|
||
set_self(num, 43, 8, 0, 0);
|
||
}).wait(1, function () {
|
||
set_self(num, 43, 9, 0, 0);
|
||
}).wait(1, function () {
|
||
set_self(num, 43, 10, 0, 0);
|
||
}).wait(1, function () {
|
||
set_self(num, 37, 0, 0, 0);
|
||
set_self(num + 19, 37, 0, 0, 0);
|
||
}).start();
|
||
}
|
||
|
||
d.fina_Hu = function () {
|
||
if (d.isEnd()) {
|
||
d.show_you13card();
|
||
d.show_shang13card();
|
||
d.show_zuo13card();
|
||
set_self(2903, 37, 1, 0, 0);
|
||
set_group(201, 37, 0, 0, 0);
|
||
set_group(207, 37, 0, 0, 0);
|
||
set_self(2898, 37, 0, 0, 0);
|
||
set_self(1289, 37, 0, 0, 0);
|
||
if (Utl.getIsInfinite() == 1) {
|
||
set_self(1403, 37, 0, 0, 0);
|
||
set_self(515, 37, 1, 0, 0);
|
||
set_self(515, 19, 610, 0, 0);
|
||
} else {
|
||
set_self(1403, 37, 1, 0, 0);
|
||
set_self(515, 37, 0, 0, 0);
|
||
}
|
||
if (d.replay == 1) {
|
||
set_self(1598, 37, 1, 0, 0);
|
||
set_self(1403, 37, 0, 0, 0);
|
||
}
|
||
for (var j = 0; j < 3; j++) {
|
||
set_self(2892 + j, 37, 0, 0, 0);
|
||
}
|
||
set_self(2902, 37, 0, 0, 0);
|
||
return;
|
||
//set_group(208,37,1,0,0);
|
||
var point = [2870, 2872, 2874, 2876];
|
||
var scro = [2871, 2873, 2875, 2877];
|
||
//var z_P = [2904,2909,2914,2394];
|
||
var persons = [4, 4, 3, 2];
|
||
var person = persons[Desk.roomtype[6]] || 4;
|
||
if (person == 2) {
|
||
point = [2870, 2874, 2874, 2874];
|
||
scro = [2871, 2875, 2875, 2875];
|
||
//z_P = [2904,2914,2914,2914];
|
||
}
|
||
for (var i = 0; i < person; i++) {
|
||
if (d.hand[i][0].length == 5) {
|
||
AM.remove(2925);
|
||
AM.add(2925).bfunc(function () {
|
||
set_self(2925, 37, 1, 0, 0);
|
||
set_self(2925, 33, 50, 0, 0);
|
||
}).zoom(150, 15).zoom(100, 15).wait(3, function () {
|
||
set_self(2925, 37, 0, 0, 0);
|
||
set_self(2925, 33, 50, 0, 0);
|
||
}).start();
|
||
}
|
||
var l = String(d.turn_point[d.turn[1]][i]).length;
|
||
if (d.turn_point[d.turn[1]][i] < 0) {
|
||
var str = String(d.turn_point[d.turn[1]][i]);
|
||
var str2 = str.split("-").join("");
|
||
set_self(point[d.pos[i]], 37, 1, 0, 0);
|
||
set_self(point[d.pos[i]], 43, 12, 0, 0);
|
||
set_self(scro[d.pos[i]], 37, 1, 0, 0);
|
||
set_self(scro[d.pos[i]], 7, str2, 0, 0);
|
||
var str_l = String(str2).length;
|
||
set_self(scro[d.pos[i]], 20, str_l * 30, 0, 0);
|
||
} else {
|
||
set_self(point[d.pos[i]], 37, 1, 0, 0);
|
||
set_self(point[d.pos[i]], 43, 11, 0, 0);
|
||
set_self(scro[d.pos[i]], 37, 1, 0, 0);
|
||
set_self(scro[d.pos[i]], 7, d.turn_point[d.turn[1]][i], 0, 0);
|
||
set_self(scro[d.pos[i]], 20, 30 * l, 0, 0);
|
||
}
|
||
for (var j = 0; j < d.hand[i][0].length; j++) {
|
||
//set_self(z_P[d.pos[i]]+j,37,1,0,0);
|
||
//set_self(z_P[d.pos[i]]+j,43,d.hand[i][0][j],0,0);
|
||
}
|
||
if (d.sea[i] && d.hand[i][0].length == 0) {
|
||
for (var j = 0; j < d.sea[i].length; j++) {
|
||
//set_self(z_P[d.pos[i]]+j,37,1,0,0);
|
||
//set_self(z_P[d.pos[i]]+j,43,d.sea[i][j],0,0);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
var PDKConfig={
|
||
danshunNum:5,
|
||
duishunNum:2,
|
||
sandaiOrNot:1,
|
||
last4:0
|
||
};
|
||
var Tool = {
|
||
clearClone: function (object) {
|
||
if (!object) {
|
||
return;
|
||
}
|
||
return JSON.parse(JSON.stringify(object));
|
||
},
|
||
deviceTool: function (type, array) {
|
||
var painum = [];
|
||
var innerType = 0;
|
||
switch (type) {
|
||
case 'magic':
|
||
innerType = 1;
|
||
break;
|
||
case 'id':
|
||
innerType = 2;
|
||
break;
|
||
case 'origin':
|
||
innerType = 3;
|
||
break;
|
||
case 'number':
|
||
innerType = 4;
|
||
break;
|
||
case 'weight':
|
||
innerType = 5;
|
||
break;
|
||
case 'color':
|
||
innerType = 6;
|
||
break;
|
||
}
|
||
for (var i = 0; i < array.length; i++) {
|
||
if (innerType == 1 && array[i].magic) {
|
||
painum[painum.length] = this.clearClone(array[i]);
|
||
} else if (innerType == 2) {
|
||
painum[i] = array[i].id;
|
||
} else if (innerType == 3) {
|
||
painum[i] = array[i].origin;
|
||
} else if (innerType == 4) {
|
||
painum[i] = array[i].num;
|
||
} else if (innerType == 5) {
|
||
painum[i] = array[i].weight;
|
||
} else if (innerType == 6) {
|
||
painum[i] = array[i].color;
|
||
}
|
||
}
|
||
return painum;
|
||
},
|
||
weightSort: function (array) {
|
||
array.sort(function (a, b) {
|
||
return a.weight - b.weight;
|
||
});
|
||
},
|
||
allNumber: function (array) {
|
||
var card = [];
|
||
var number = []
|
||
var num = {};
|
||
var result = [];
|
||
//字典存储
|
||
array.forEach((v, i, s) => {
|
||
if (num[v]) {
|
||
num[v]++;
|
||
} else {
|
||
num[v] = 1;
|
||
}
|
||
});
|
||
|
||
card = array.filter((v, i, s) => {
|
||
return array.indexOf(v) == i;
|
||
});
|
||
card.forEach((v, i) => {
|
||
number[i] = num[v];
|
||
})
|
||
var len = card.length;
|
||
for (var i = 0; i < len; i++) {
|
||
var obj = {
|
||
val: card[i],
|
||
num: number[i]
|
||
}
|
||
result[i] = obj;
|
||
}
|
||
result.sort(function (a, b) {
|
||
return b.num - a.num;
|
||
});
|
||
return result;
|
||
},
|
||
maxNumber: function (array) {
|
||
var result = [];
|
||
result = array.filter((v, i, s) => {
|
||
return array[0].num == v.num;
|
||
});
|
||
return result;
|
||
},
|
||
suitNumber: function (array, number, biggerOrNot) {
|
||
biggerOrNot = biggerOrNot == undefined ? false : true;
|
||
var result_go = [];
|
||
var result_stand = [];
|
||
result_go = array.filter((v, i, s) => {
|
||
if (biggerOrNot) {
|
||
var test = number <= v.num;
|
||
if (!test) {
|
||
result_stand.push(v);
|
||
}
|
||
return number <= v.num;
|
||
}
|
||
var test = number == v.num;
|
||
if (!test) {
|
||
result_stand.push(v);
|
||
}
|
||
return number == v.num;
|
||
});
|
||
return {
|
||
suit: result_go,
|
||
notsuit: result_stand
|
||
};
|
||
},
|
||
rangeDevice: function (suit, width) {
|
||
var innerSuit = [].concat(suit);
|
||
var rrr = [];
|
||
for (var i = 0; i < innerSuit.length;) {
|
||
var array = innerSuit.slice(i, i + width);
|
||
var go = 1;
|
||
for (var j = 0; j < array.length - 1; j++) {
|
||
if (array[j + 1].val - array[j].val != 1) {
|
||
go = 0;
|
||
break;
|
||
}
|
||
}
|
||
if (go && array.length == width) {
|
||
rrr[rrr.length] = array;
|
||
i = i + 1;
|
||
} else {
|
||
i++;
|
||
}
|
||
}
|
||
return rrr;
|
||
},
|
||
checkSHUN: function (array) {
|
||
var result = 1;
|
||
for (var i = 1; i < array.length; i++) {
|
||
if (array[i] != array[i - 1] + 1) {
|
||
result = 0;
|
||
break;
|
||
}
|
||
}
|
||
return result;
|
||
}
|
||
};
|
||
|
||
CardInfo.prototype.Config = {
|
||
weight: 1, //牌的权重定义
|
||
cardWeight: [12, 13, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], //A,2,3,4,5,6,7,8,9,10,J,Q,K
|
||
convert: 1, //牌的转换,
|
||
//当算法卡组与实际卡组不同时使用
|
||
convertHand: [
|
||
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
|
||
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
|
||
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
|
||
61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
|
||
101, 102,
|
||
],
|
||
magic: function (card) {
|
||
return false;
|
||
},
|
||
};
|
||
|
||
function CardInfo(card, convert) {
|
||
this.id = -1; //物理纸牌
|
||
this.num = -1 // 物理大小
|
||
this.color = -1; //物理花色
|
||
this.weight = -1; //算法权重
|
||
card = convert ? this.convertIn(card) : card;
|
||
this.id = card;
|
||
this.origin = convert ? this.convertOut(card) : card;
|
||
this.color = parseInt(String(this.id)[0]); //物理大小
|
||
this.num = parseInt(String(this.id).slice(1)); //物理花色
|
||
var weight = this.Config.weight == 1 ? this.Config.cardWeight : [12, 13, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
|
||
this.weight = weight[this.num - 1];
|
||
this.img = ["?梅花", "?方片", "?红桃", "?黑桃", "鬼"][this.color - 1] + this.num;
|
||
this.magic = false;
|
||
//花色>4为癞子
|
||
if (this.Config.magic(this)) {
|
||
this.magic = true;
|
||
}
|
||
}
|
||
|
||
CardInfo.prototype.convertOut = function (one) {
|
||
if (!this.Config.convert) return one;
|
||
var result;
|
||
var _from = this.Config.convertHand;
|
||
var _to = [
|
||
11, 12, 13, 14, 15, 16, 17, 18, 19, 110, 111, 112, 113,
|
||
21, 22, 23, 24, 25, 26, 27, 28, 29, 210, 211, 212, 213,
|
||
31, 32, 33, 34, 35, 36, 37, 38, 39, 310, 311, 312, 313,
|
||
41, 42, 43, 44, 45, 46, 47, 48, 49, 410, 411, 412, 413,
|
||
51, 52,
|
||
];
|
||
var index = _to.indexOf(one);
|
||
if (index == -1) {
|
||
throw "牌型错误"
|
||
}
|
||
result = _from[index];
|
||
return result;
|
||
};
|
||
CardInfo.prototype.convertIn = function (one) {
|
||
if (!this.Config.convert) return one;
|
||
var result;
|
||
var _from = this.Config.convertHand;
|
||
var _to = [
|
||
11, 12, 13, 14, 15, 16, 17, 18, 19, 110, 111, 112, 113,
|
||
21, 22, 23, 24, 25, 26, 27, 28, 29, 210, 211, 212, 213,
|
||
31, 32, 33, 34, 35, 36, 37, 38, 39, 310, 311, 312, 313,
|
||
41, 42, 43, 44, 45, 46, 47, 48, 49, 410, 411, 412, 413,
|
||
51, 52,
|
||
];
|
||
var index = _from.indexOf(one);
|
||
if (index == -1) {
|
||
throw "牌型错误"
|
||
}
|
||
result = _to[index];
|
||
return result;
|
||
};
|
||
|
||
//牌型构造
|
||
function CardType(hand) {
|
||
this.build(Tool);
|
||
var cards = [];
|
||
for (var i = 0; i < hand.length; i++) {
|
||
var element = hand[i];
|
||
cards[i] = new CardInfo(element, true);
|
||
}
|
||
this.cards = [].concat(cards);
|
||
this.weightSort(this.cards); //权重排序
|
||
//拆分各种数据
|
||
this.device = {
|
||
weight: this.deviceTool('weight', this.cards),
|
||
color: this.deviceTool('color', this.cards),
|
||
number: this.deviceTool('number', this.cards),
|
||
id: this.deviceTool('id', this.cards),
|
||
origin: this.deviceTool('origin', this.cards),
|
||
}
|
||
//统计
|
||
this.count = {};
|
||
this.count.allNum = this.allNumber(this.device.weight) //牌数
|
||
this.count.maxNum = this.maxNumber(this.count.allNum) //牌数
|
||
this.check();
|
||
}
|
||
|
||
CardType.prototype.check = function () {
|
||
this.weightSort(this.cards);
|
||
var type = this.checkTong(this.cards);
|
||
(!type) && (type = this.checkDai(this.cards));
|
||
(!type) && (type = this.checkGod(this.cards));
|
||
type = type || 'error';
|
||
this.type = type || 'error';
|
||
}
|
||
CardType.prototype.checkTong = function () {
|
||
if (this.cards.length === 0) {
|
||
return;
|
||
}
|
||
//分离出来的权重
|
||
var cardsWE = this.device.weight;
|
||
var allNum = this.count.allNum; //牌数
|
||
var maxNum = this.count.maxNum; //多数;
|
||
var result;
|
||
//牌数最多的人
|
||
var number = allNum[0].num;
|
||
switch (number) {
|
||
case 1:
|
||
if (allNum.length >= PDKConfig.danshunNum &&
|
||
allNum.length == maxNum.length &&
|
||
this.checkSHUN(cardsWE) &&
|
||
allNum[allNum.length - 1].val < 13) {
|
||
result = this.createType(
|
||
"shun", allNum.length, 1, cardsWE[0], "顺子"
|
||
);
|
||
} else if (allNum.length == 1 && allNum.length == maxNum.length) {
|
||
result = this.createType("dan", 1, 1, cardsWE[0], "单牌");
|
||
}
|
||
break;
|
||
case 2:
|
||
if (allNum.length == 1 && maxNum.length == 1) {
|
||
if (maxNum[0].num == 2) {
|
||
result = this.createType("dui", 1, 1, cardsWE[0], "对子");
|
||
}
|
||
}
|
||
if (allNum.length >= PDKConfig.duishunNum &&
|
||
allNum[allNum.length - 1].num == 2 &&
|
||
allNum.length == maxNum.length) {
|
||
var card = cardsWE.filter((v, i, s) => {
|
||
return cardsWE.indexOf(v) == i;
|
||
});
|
||
if (this.checkSHUN(card) && card[card.length - 1] < 13) {
|
||
result = this.createType("duishun", card.length, 1, cardsWE[0], "对顺子");
|
||
}
|
||
}
|
||
break;
|
||
case 3:
|
||
if (allNum.length > 1 &&
|
||
allNum[allNum.length - 1].num == 3 && (PDKConfig.sandaiOrNot == 0||(PDKConfig.sandaiOrNot == 1&&PDKConfig.last4 == cardsWE.length))) {
|
||
//去重
|
||
var card = cardsWE.filter((v, i, s) => {
|
||
return cardsWE.indexOf(v) == i;
|
||
});
|
||
if (this.checkSHUN(card) && card[card.length - 1] < 13) {
|
||
// console.log("三顺",cardsWE);
|
||
result = this.createType("feiji", card.length, 1, cardsWE[0], "三顺子");
|
||
}
|
||
} else if (allNum.length == 1 && maxNum.length == 1) {
|
||
if (maxNum[0].num == 3 &&
|
||
(PDKConfig.sandaiOrNot == 0||(PDKConfig.sandaiOrNot == 1&&PDKConfig.last4 == 3))) {
|
||
//10张或者剩最后4张
|
||
// console.log("三张", cardsWE);
|
||
if (PDKConfig.sandaiOrNot == 1&&PDKConfig.last4 == 3){
|
||
result = this.createType("sandai2", 1, 1, cardsWE[0], "三张");
|
||
} else {
|
||
result = this.createType("san", 1, 1, cardsWE[0], "三张");
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
case 4:
|
||
if (allNum.length == 1 && maxNum.length == 1) {
|
||
if (maxNum[0].num == 4) {
|
||
result = this.createType("zha", 1, 2, cardsWE[0], "炸弹");
|
||
}
|
||
}
|
||
break;
|
||
}
|
||
if (result) {
|
||
return result;
|
||
}
|
||
};
|
||
CardType.prototype.checkDai = function () {
|
||
//判断3+1,3+(2),3+3+(1+1),3+3+(4),3+3+3+(6)
|
||
//判断4+1,4+(2)
|
||
var cardsWE = this.device.weight;
|
||
var allNum = this.allNumber(cardsWE); //牌数
|
||
var maxNum = this.maxNumber(allNum); //最多数的牌;
|
||
var result;
|
||
if (this.cards.length === 0) {
|
||
return;
|
||
}
|
||
if (allNum.length == 2 &&
|
||
maxNum.length == 1 &&
|
||
maxNum[0].num == 3 &&
|
||
allNum[1].num == 1 &&
|
||
PDKConfig.last4 == 4&&
|
||
PDKConfig.sandaiOrNot == 1) {
|
||
//有两种牌+最多的一种牌有三张+最多的牌的数量是3张=三带一
|
||
result = this.createType("sandai2", 1, 1, maxNum[0].val, "三带一");
|
||
} else if (allNum.length == 2 &&
|
||
maxNum.length == 1 &&
|
||
maxNum[0].num == 3 &&
|
||
allNum[1].num == 2 &&
|
||
PDKConfig.sandaiOrNot==1) {
|
||
//有两种牌+最多的一种牌有三张+最多的牌的数量是3张=三带一对
|
||
result = this.createType("sandai2", 1, 1, maxNum[0].val, "三带二");
|
||
} else if (allNum.length == 3 &&
|
||
maxNum.length == 1 &&
|
||
maxNum[0].num == 3 &&
|
||
allNum[1].num == 1 &&
|
||
allNum[2].num == 1 &&
|
||
PDKConfig.sandaiOrNot==1) {
|
||
//三带两张
|
||
result = this.createType("sandai2", 1, 1, maxNum[0].val, "三带二单");
|
||
} else {
|
||
var sortByWE = [].concat(allNum).sort(function (a, b) {
|
||
return a.val - b.val;
|
||
});
|
||
//3个跟不是3个的
|
||
var suitNum = this.suitNumber(sortByWE, 3, true);
|
||
var suit = suitNum.suit;
|
||
var notsuit = suitNum.notsuit;
|
||
var plane_number = [10,15];
|
||
var plane_fly = [2, 3];
|
||
var aaa = plane_number.indexOf(cardsWE.length);
|
||
var number = 0;
|
||
if (aaa != -1) {
|
||
number = plane_fly[plane_number.indexOf(cardsWE.length)];
|
||
}else if (PDKConfig.sandaiOrNot == 1){
|
||
var plane_numb___er = [7,8,9,10,11,12,13,14,15,16];
|
||
var plane_____fly = [2,2,2,2,3,3,3,3,3,4];
|
||
aaa=plane_numb___er.indexOf(cardsWE.length);
|
||
//一把能出掉所有飞机
|
||
if (aaa!=-1&&PDKConfig.last4 ==cardsWE.length) {
|
||
number=plane_____fly[plane_numb___er.indexOf(cardsWE.length)];
|
||
}
|
||
}
|
||
var nums = [];
|
||
if (number > 0) {
|
||
nums = this.rangeDevice(suit, number);
|
||
}
|
||
if (nums.length > 0&&
|
||
PDKConfig.sandaiOrNot == 1) {
|
||
//3+3+(4)随意带牌
|
||
result = this.createType("feiji", nums[0].length, 1, nums[nums.length - 1][0].val, "飞机");
|
||
}
|
||
}
|
||
if (result) {
|
||
return result;
|
||
}
|
||
};
|
||
CardType.prototype.checkGod = function () {
|
||
var cardsWE = this.device.weight;
|
||
var cardsCO = this.device.color;
|
||
var result;
|
||
if (cardsCO.length == 2 && cardsCO[0] > 4 && cardsCO[1] > 4) {
|
||
result = this.createType("god", 100, cardsWE[0], cardsWE, "天王炸");
|
||
}
|
||
if (result) {
|
||
return result;
|
||
}
|
||
}
|
||
CardType.prototype.createType = function (type, typetimes, cardWeight, weight, desc) {
|
||
var that = this;
|
||
desc = desc || '';
|
||
return {
|
||
desc: desc,
|
||
type: type,
|
||
typetimes: typetimes,
|
||
cardWeight: cardWeight,
|
||
weight: weight,
|
||
cardNum: that.device.number,
|
||
cardColor: that.device.color,
|
||
cardId: that.device.id,
|
||
cardWe: that.device.weight,
|
||
}
|
||
}
|
||
CardType.prototype.use = function (name, object) {
|
||
CardType.prototype['$' + name] = object;
|
||
}
|
||
CardType.prototype.build = function (object) {
|
||
for (var key in object) {
|
||
if (object.hasOwnProperty(key)) {
|
||
var element = object[key];
|
||
CardType.prototype[key] = element;
|
||
}
|
||
}
|
||
}
|
||
|
||
function Battle() {
|
||
|
||
}
|
||
|
||
Battle.prototype.output = function (Arr) {
|
||
Arr = new CardType(Arr);
|
||
var arrType = Arr.type;
|
||
if (arrType !== 'error') {
|
||
return arrType.desc;
|
||
}
|
||
return false;
|
||
};
|
||
Battle.prototype.check = function (Arr) {
|
||
var roomtype;
|
||
if (Desk.roomtype&&Desk.roomtype.length>0){
|
||
roomtype=Desk.roomtype;
|
||
}
|
||
if (d.roomtype&&d.roomtype.length>0){
|
||
roomtype=d.roomtype;
|
||
}
|
||
if (roomtype&&roomtype[11]==2){
|
||
PDKConfig={
|
||
danshunNum:5,
|
||
duishunNum:2,
|
||
sandaiOrNot:1,
|
||
last4:0
|
||
};
|
||
}else if (roomtype&&roomtype[11]==1){
|
||
PDKConfig={
|
||
danshunNum:5,
|
||
duishunNum:2,
|
||
sandaiOrNot:1,
|
||
last4:0
|
||
};
|
||
}else if (roomtype&&roomtype[11]==0){
|
||
PDKConfig={
|
||
danshunNum:3,
|
||
duishunNum:2,
|
||
sandaiOrNot:0,
|
||
last4:0
|
||
};
|
||
}
|
||
if(C_Player.seat!=undefined&&C_Player.seat>-1){
|
||
PDKConfig.last4=d.hand[C_Player.seat][0].length;
|
||
if (PDKConfig.last4==0){
|
||
PDKConfig.last4=Arr.length;
|
||
}
|
||
}
|
||
Arr = new CardType(Arr);
|
||
var arrType = Arr.type;
|
||
if (arrType !== 'error') {
|
||
return arrType.type;
|
||
}
|
||
return false;
|
||
};
|
||
Battle.prototype.beat = function (prevArr1, nextArr2, change) {
|
||
var roomtype;
|
||
if (Desk.roomtype&&Desk.roomtype.length>0){
|
||
roomtype=Desk.roomtype;
|
||
}
|
||
if (d.roomtype&&d.roomtype.length>0){
|
||
roomtype=d.roomtype;
|
||
}
|
||
if (roomtype&&roomtype[11]==2){
|
||
PDKConfig={
|
||
danshunNum:5,
|
||
duishunNum:2,
|
||
sandaiOrNot:1,
|
||
last4:0
|
||
};
|
||
}else if (roomtype&&roomtype[11]==1){
|
||
PDKConfig={
|
||
danshunNum:5,
|
||
duishunNum:2,
|
||
sandaiOrNot:1,
|
||
last4:0
|
||
};
|
||
}else if (roomtype&&roomtype[11]==0){
|
||
PDKConfig={
|
||
danshunNum:3,
|
||
duishunNum:2,
|
||
sandaiOrNot:0,
|
||
last4:0
|
||
};
|
||
}
|
||
if(C_Player.seat!=undefined&&C_Player.seat>-1){
|
||
PDKConfig.last4=d.hand[C_Player.seat][0].length;
|
||
}
|
||
if (change) {
|
||
//右边大于左边,左边确定
|
||
nextArr = new CardType(prevArr1);
|
||
var nextType = nextArr.type;
|
||
if (nextType.type !== 'error') {
|
||
prevArr = new CardType(nextArr2, nextType.weight + 1, nextType.type);
|
||
var prevType = prevArr.type;
|
||
}
|
||
} else {
|
||
//左边大于右边,左边确定
|
||
prevArr = new CardType(prevArr1);
|
||
var prevType = prevArr.type;
|
||
if (prevType.type !== 'error') {
|
||
nextArr = new CardType(nextArr2, prevType.weight - 1, prevType.type);
|
||
var nextType = nextArr.type;
|
||
}
|
||
}
|
||
if (prevType && nextType && prevType !== 'error' && nextType !== 'error') {
|
||
if (prevType.cardWeight == nextType.cardWeight) {
|
||
if (prevType.type == nextType.type) {
|
||
if ((prevType.cardNum.length == nextType.cardNum.length)||(PDKConfig.last4>0&&['sandai2','feiji'].indexOf(prevType.type)!=-1)) {
|
||
if (prevType.weight > nextType.weight) {
|
||
return true;
|
||
}
|
||
}
|
||
}
|
||
} else if (prevType.cardWeight > nextType.cardWeight) {
|
||
return true;
|
||
}
|
||
}
|
||
return false;
|
||
};
|
||
Battle=new Battle();
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|