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:
@@ -0,0 +1,685 @@
|
||||
/*********陈国强************/
|
||||
//滑动出牌
|
||||
d.move_chu = function (spid, offmovey, offmovex) {
|
||||
|
||||
if (offmovey == 0 && offmovex == 0 || Desk.stage == 0 || d.replay || !RoomFunc.clickpai_before(spid)) {
|
||||
return;
|
||||
}
|
||||
if(d.isEnd() && d.continue_hu==0)
|
||||
{return;}
|
||||
if(RoomFunc.Overtime_chupai()&&d.last_id!=spid)
|
||||
{return;}
|
||||
if (d.hostwait || get_self(spid,35)==200)
|
||||
{return;}
|
||||
var click_zhen=get_self(spid,43,0);
|
||||
var hand=d.c(d.hand[C_Player.seat]);
|
||||
for(var i=0;i<hand.length;i++)
|
||||
{
|
||||
if(hand[i]==d.last_operate[1])
|
||||
{
|
||||
hand.splice(i,1);
|
||||
}
|
||||
}
|
||||
if(d.last_operate[0]==3&&d.last_operate[1]==click_zhen&&hand.length!=0)
|
||||
{
|
||||
return ;
|
||||
}
|
||||
if (d.status == 2 && spid >= 936 && spid <= 954 && get_self(spid, 44, 0, 0, 0) == 201 && get_self(spid, 21, 0, 0, 0) > 120 && d.user_ctrl[2] == C_Player.seat && d.click_ban == 1 && d.gang_option == 0 && !d.isEnd()) {
|
||||
var y = get_self(spid, 19, 0, 0, 0);// && Math.abs(offmovey)>10
|
||||
if (offmovey < 0 && y + offmovey >= 370 || offmovey > 0 && y + offmovey <= 500 + 70) {
|
||||
set_self(spid, 19, offmovey, 1, 0);
|
||||
//set_self(spid, 18, offmovex, 1, 0);
|
||||
}
|
||||
d.chu_cilck = 0;
|
||||
d.chu_move = 1;
|
||||
if (offmovey < 0 && Math.abs(offmovey) >= 20) {
|
||||
play_ani123(0, spid, 19);
|
||||
for (var i = 0; i < 60; i++) {
|
||||
if (817 + i != spid) {
|
||||
set_self(817 + i, 19, 480, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
//出牌成功
|
||||
d.click_chu_down = function (spid_up, spid1) {
|
||||
if (Desk.stage == 0 || !RoomFunc.clickpai_before(spid_up)) {
|
||||
return;
|
||||
}
|
||||
if(d.isEnd() && d.continue_hu==0)
|
||||
{return;}
|
||||
if (d.hostwait || get_self(spid_up,35)==200)
|
||||
{return;}
|
||||
if(d.last_id>0 && spid1==d.last_id)
|
||||
{spid_up=spid1;d.last_id=0;}
|
||||
if (d.status >0 && d.status <3 && d.user_ctrl[2] == C_Player.seat && d.click_ban == 1 && spid_up >= 936 && spid_up <= 954 && get_self(spid_up, 21, 0, 0, 0) > 120 && d.gang_option == 0 && !d.isEnd() && !d.change_card_state) {
|
||||
d.chu_cilck = 0;
|
||||
d.chu_move = 0;
|
||||
d.zhenshu=0;
|
||||
d.chishu=0;
|
||||
if(d.Ting_Tip.length && d.Ting_Tip.length>0 || d.Ting_ui.length && d.Ting_ui.length>0 && d.user_ctrl[2]==C_Player.seat && get_self(2379,37)==1){
|
||||
//火焰动画
|
||||
//set_self(2489,18,-200,0,0);
|
||||
d.ting_statu=-1;
|
||||
}
|
||||
if(d.Ting_Tip.length<=0 || d.Ting_ui.length<=0 && d.user_ctrl[2]==C_Player.seat){
|
||||
d.ting_statu=0;
|
||||
}
|
||||
if (get_self(spid_up, 19, 0, 0, 0) <= 480) {
|
||||
set_group(206, 37, 0, 0, 0);
|
||||
console.log(spid_up + "chu" + get_self(spid_up, 43, 0, 0, 0));
|
||||
for (var i = 0; i < 20; i++) {
|
||||
play_ani123(0, 881 + i, 19);
|
||||
}
|
||||
play_ani123(0, spid_up, 18);
|
||||
play_ani123(0, spid_up, 19);
|
||||
set_group(212, 37, 0, 0, 0);
|
||||
var put_pos = 0;
|
||||
var n = 0;
|
||||
for (var i = 0; i < 19; i++) {
|
||||
if (get_self(817 + i, 37, 0, 0, 0) == 1) {
|
||||
if (817 + i == spid_up) {
|
||||
put_pos = n;
|
||||
set_self(spid_up, 37, 0, 0, 0);
|
||||
set_self(spid_up, 19, 480, 0, 0);
|
||||
break;
|
||||
}
|
||||
n += 1;
|
||||
}
|
||||
}
|
||||
var sex = C_Player.sex || 1;
|
||||
d.a.arrange_pai(d.hand[C_Player.seat][0]);
|
||||
var hand =d.hand[C_Player.seat][0];
|
||||
var throw_card = 0;
|
||||
var f = 0;
|
||||
if (put_pos == hand.length && d.user_ctrl[3] > 0) {
|
||||
throw_card = d.user_ctrl[3];
|
||||
}
|
||||
else {
|
||||
throw_card = hand[put_pos];
|
||||
if (d.user_ctrl[3] > 0) {
|
||||
hand = hand.concat(d.user_ctrl[3]);
|
||||
}
|
||||
hand.splice(put_pos, 1);
|
||||
d.hand[C_Player.seat][0] = d.c(hand);
|
||||
d.ord(d.hand[C_Player.seat][0]);
|
||||
}
|
||||
f = throw_card;
|
||||
if (f > 0) {
|
||||
d.sea[C_Player.seat][d.sea[C_Player.seat].length] = throw_card;
|
||||
//d.show_sea();
|
||||
var sid = 60 + (sex - 1) * 60 + f;
|
||||
var tou = "00";
|
||||
if (String(sid).length == 2) {
|
||||
tou = "000";
|
||||
}
|
||||
else if (String(sid).length == 3) {
|
||||
tou = "00";
|
||||
}
|
||||
if (sid) {
|
||||
//Utl.playSound(tou + sid + ".mp3");
|
||||
}
|
||||
}
|
||||
if (d.replay == 0) {
|
||||
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_pos": put_pos
|
||||
}
|
||||
};
|
||||
Net.ws_tcp.send(JSON.stringify(send));
|
||||
}
|
||||
d.click_ban = 0;
|
||||
d.user_ctrl[2] = -1;
|
||||
//set_self(1289, 37, 0, 0, 0);
|
||||
//set_self(1289, 7, -1);
|
||||
for (var i = 0; i < 4; i++) {
|
||||
d.act_put[2 + i] = 0;
|
||||
}
|
||||
d.act_put[2] = spid_up;
|
||||
d.act[0] = 1;
|
||||
d.act[1] = C_Player.seat;
|
||||
d.act[2] = 1;
|
||||
d.baoting[4]=[];
|
||||
d.show_my13card(); //d.show_put_card_act(1);
|
||||
//d.show_putcard();
|
||||
d.click_id = 0;
|
||||
//set_self(2673, 37, 0, 0, 0);//等一等
|
||||
set_group(237, 37, 0, 0, 0);
|
||||
for (var i = 0; i < 4; i++) {
|
||||
set_self(376 + i, 35, 255, 0, 0);
|
||||
}
|
||||
d.Ting_Tip=[];
|
||||
}
|
||||
else if(get_self(spid_up,19,0,0,0)<500)
|
||||
{d.show_my13card();d.show_14card();set_self(spid_up,19,480,0,0);d.chu_cilck=spid_up;}
|
||||
else if(get_self(spid_up,19,0,0,0)>=500)
|
||||
{d.show_my13card();d.show_14card();set_self(spid_up,19,500,0,0);}
|
||||
}
|
||||
}
|
||||
d.show_putcard = function () {
|
||||
if (Desk.stage != 0 && d.recon != 1 && d.backstage != 1 && d.act[0] == 1)
|
||||
{
|
||||
if (Desk.roomtype[19]==1) {
|
||||
return ;
|
||||
}
|
||||
var seat = d.act[1];
|
||||
var z_b = [[550,365],[934,211],[550,60],[200,214]];
|
||||
var throw_card_spid = 2916;
|
||||
var persons = [4, 4, 3, 2];
|
||||
var person = persons[Desk.roomtype[6]] || 4;
|
||||
if (person == 2) {
|
||||
z_b = [[550,365],[550,60],[550,60],[550,60]];
|
||||
}
|
||||
else if (person == 3) {
|
||||
if(C_Player.seat == 0) {
|
||||
z_b = [[550,365],[934,211],[200,214],[200,214]];
|
||||
}else {
|
||||
z_b = [[550,365],[934,211],[934,211],[200,214]];
|
||||
}
|
||||
}
|
||||
AM.cls_id(throw_card_spid);
|
||||
AM.add(throw_card_spid).wait(15,function(){
|
||||
set_self(throw_card_spid,37,0,0,0);
|
||||
set_self(throw_card_spid - 1,37,0,0,0);
|
||||
//d.show_sea(); AM.cls_id(throw_card_spid);
|
||||
}).start();
|
||||
if(d.jing[1] == d.act[3][0]){
|
||||
var sex=Desk.PlayerList[seat].sex || 1;//1男2女
|
||||
if(sex == "2"){//女
|
||||
Utl.playSound("00" + 303 + ".mp3");
|
||||
}else if(sex == "1"){//男
|
||||
Utl.playSound("00" + 302 + ".mp3");
|
||||
}
|
||||
var show_spids = [2160, 2161, 2162, 2163];
|
||||
var show_spidsa = [2876, 2877, 2878, 2879];
|
||||
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];
|
||||
show_spidsa = [2876, 2878, 2878, 2878];
|
||||
if (pos != 0) {
|
||||
pos = 2;
|
||||
}
|
||||
}
|
||||
var show_spid = show_spids[pos];
|
||||
var show_spida = show_spidsa[pos];
|
||||
AM.remove(show_spid);
|
||||
AM.add(show_spid).bfunc(function(){
|
||||
set_self(show_spid,37,1,0,0);
|
||||
set_self(show_spid,1,508,0,0);
|
||||
set_self(show_spid,43,19,0,0);
|
||||
set_self(show_spid,33,50,0,0);
|
||||
}).zoom(150,5).zoom(100,5).wait(5,function(){
|
||||
set_self(show_spid,37,0,0,0);
|
||||
set_self(show_spida,37,1,0,0);
|
||||
}).start();
|
||||
//d.piao_P[seat]=1;
|
||||
}else{
|
||||
var show_spids = [2876, 2877, 2878, 2879];
|
||||
var pos = d.pos[seat];
|
||||
//2人模式
|
||||
var persons = [4, 4, 3, 2];
|
||||
var person = persons[Desk.roomtype[6]] || 4;
|
||||
if (person == 2) {
|
||||
show_spids = [2876, 2878, 2878, 2878];
|
||||
if (pos != 0) {
|
||||
pos = 2;
|
||||
}
|
||||
}
|
||||
var show_spid = show_spids[pos];
|
||||
set_self(show_spid,37,0,0,0);
|
||||
}
|
||||
set_self(throw_card_spid,37,1,0,0);
|
||||
set_self(throw_card_spid, 18, z_b[d.pos[seat]][0]+29, 0, 0);
|
||||
set_self(throw_card_spid, 19, z_b[d.pos[seat]][1]+28, 0, 0);
|
||||
set_self(throw_card_spid, 43, d.act[3][0], 0, 0);
|
||||
}
|
||||
}
|
||||
//显示出牌动画
|
||||
d.show_put_card_act = function (off) {
|
||||
if (Desk.stage != 0 && d.recon != 1 && d.backstage != 1 && d.act[0] == 1 && d.act[2] > 0)
|
||||
////牌桌阶段 0->未开局 1->已开局
|
||||
{
|
||||
d.rep[0] += 1;
|
||||
var seat = d.act[1];
|
||||
var freexy = d.get_sea_freexy(seat, off);
|
||||
var throw_card_spid = freexy[2];
|
||||
if (seat == C_Player.seat) {
|
||||
set_self(throw_card_spid, 18, get_self(d.act_put[2], 18, 0, 0, 0), 0, 0);
|
||||
set_self(throw_card_spid, 19, get_self(d.act_put[2], 19, 0, 0, 0), 0, 0);
|
||||
set_self(throw_card_spid, 43, get_self(d.act_put[2], 43, 0, 0, 0), 0, 0);
|
||||
}
|
||||
else {
|
||||
var throw_card_spid0 = d.get_rand_3handcard(seat)[0];
|
||||
set_self(throw_card_spid, 18, get_self(throw_card_spid0, 18, 0, 0, 0), 0, 0);
|
||||
set_self(throw_card_spid, 19, get_self(throw_card_spid0, 19, 0, 0, 0), 0, 0);
|
||||
set_self(throw_card_spid, 43, d.throw_card, 0, 0);
|
||||
}
|
||||
d.act_put[2] = throw_card_spid;
|
||||
set_self(throw_card_spid, 37, 1, 0, 0);
|
||||
var light_pai_rec = [503, 500, 503, 501];
|
||||
var rec_w = [41, 44, 41, 44];
|
||||
var rec_h = [55, 44, 55, 44];
|
||||
set_self(throw_card_spid, 1, light_pai_rec[d.pos[seat]], 0, 0);
|
||||
set_self(throw_card_spid, 20, rec_w[d.pos[seat]], 0, 0);
|
||||
set_self(throw_card_spid, 21, rec_h[d.pos[seat]], 0, 0);
|
||||
if (freexy[5]) {
|
||||
var throw_card_spid1 = freexy[5];
|
||||
if (seat == C_Player.seat) {
|
||||
set_self(throw_card_spid1, 18, get_self(d.act_put[5], 18, 0, 0, 0), 0, 0);
|
||||
set_self(throw_card_spid1, 19, get_self(d.act_put[5], 19, 0, 0, 0), 0, 0);
|
||||
set_self(throw_card_spid1, 43, get_self(d.act_put[5], 43, 0, 0, 0), 0, 0);
|
||||
}
|
||||
else {
|
||||
var throw_card_spid0 = d.get_rand_3handcard(seat)[0];
|
||||
set_self(throw_card_spid1, 18, get_self(throw_card_spid0, 18, 0, 0, 0), 0, 0);
|
||||
set_self(throw_card_spid1, 19, get_self(throw_card_spid0, 19, 0, 0, 0), 0, 0);
|
||||
set_self(throw_card_spid1, 43, d.throw_card, 0, 0);
|
||||
}
|
||||
d.act_put[5] = throw_card_spid1;
|
||||
set_self(throw_card_spid1, 37, 1, 0, 0);
|
||||
var light_pai_rec = [503, 500, 503, 501];
|
||||
var rec_w = [41, 44, 41, 44];
|
||||
var rec_h = [55, 44, 55, 44];
|
||||
set_self(throw_card_spid1, 1, light_pai_rec[d.pos[seat]], 0, 0);
|
||||
set_self(throw_card_spid1, 20, rec_w[d.pos[seat]], 0, 0);
|
||||
set_self(throw_card_spid1, 21, rec_h[d.pos[seat]], 0, 0);
|
||||
}
|
||||
d.act[2] = -1;
|
||||
d.click_ban = 0;
|
||||
//d.show_card_wall();
|
||||
//d.put_time = 11 + 6;
|
||||
|
||||
set_self(throw_card_spid, 37, 0, 0, 0);
|
||||
if (d.act_put[5] > 0) {
|
||||
set_self(d.act_put[5], 37, 0, 0, 0);
|
||||
}
|
||||
d.card_14 = 0;
|
||||
d.act[2] = 0;
|
||||
d.act_put[2] = -1;
|
||||
d.act_put[5] = -1;
|
||||
d.show_my13card();
|
||||
d.show_you13card();
|
||||
d.show_shang13card();
|
||||
d.show_zuo13card();
|
||||
d.show_14card();
|
||||
//d.show_sea();
|
||||
d.click_ban = 1;
|
||||
d.put_time = 0;
|
||||
}
|
||||
}
|
||||
//停止出牌动画
|
||||
d.put_card_doend = function (id, sx, allend) {
|
||||
if (id > 0 && Desk.stage != 0 && d.recon != 1 && d.backstage != 1 && d.act[2] != 0) {
|
||||
var ban = 0;
|
||||
var throw_card_spid = d.act_put[2];
|
||||
if (d.act_put[2] > -1 && id == throw_card_spid && sx == 18 && allend == 1 || d.act_put[2] > -1 && id == throw_card_spid && sx == 19 && allend == 1) {
|
||||
set_self(throw_card_spid, 37, 0, 0, 0);
|
||||
if (d.act_put[5] > 0) {
|
||||
set_self(d.act_put[5], 37, 0, 0, 0);
|
||||
}
|
||||
var x_throw = get_self(throw_card_spid, 18, 0, 0, 0), y_throw = get_self(throw_card_spid, 19, 0, 0, 0);
|
||||
if (d.user_ctrl[2] == C_Player.seat) {
|
||||
d.click_ban = 1;
|
||||
}
|
||||
{
|
||||
//d.show_sea();
|
||||
if (d.card_14 > 0 && d.act[1] == C_Player.seat) {
|
||||
var l = d.hand[C_Player.seat][0].length;
|
||||
var seat = C_Player.seat;
|
||||
var l0 = d.hand[seat][0].length * 89 + 89 + 20;
|
||||
for (var j = 1; j < d.hand[seat].length; j++) {
|
||||
var l1 = d.hand[seat][j].length;
|
||||
l0 = l0 + l1 * 48 + 5;
|
||||
}
|
||||
var l_s = 1280 - l0 - 10;
|
||||
if (l_s < 0) {
|
||||
l_s = 0;
|
||||
}
|
||||
var pos = l_s + 89 * l;
|
||||
for (var i = 0; i < l; i++) {
|
||||
if (d.hand[C_Player.seat][0][i] > get_self(d.card_14, 43, 0, 0, 0)) {
|
||||
pos = 89 * i + l_s - 38;
|
||||
}
|
||||
}
|
||||
if (pos != l_s + 89 * l) {
|
||||
set_self(d.card_14, 19, 500, 0, 0);
|
||||
}
|
||||
var x0 = get_self(d.card_14, 18, 0, 0, 0);
|
||||
var t = parseInt((x0 - pos) / 4);
|
||||
if (t <= 50) {
|
||||
t = 50;
|
||||
}
|
||||
play_ani123(1, d.card_14, 18, x0, pos, t, 1);
|
||||
d.act_put[2] = -1;
|
||||
}
|
||||
else {
|
||||
ban = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ban == 1 || id == d.card_14 && sx == 18 && allend == 1) {
|
||||
play_ani123(0, throw_card_spid, 18);
|
||||
play_ani123(0, throw_card_spid, 19);
|
||||
play_ani123(0, d.card_14, 18);
|
||||
if (d.act_put[5] > 0) {
|
||||
play_ani123(0, d.act_put[5], 18);
|
||||
play_ani123(0, d.act_put[5], 19);
|
||||
}
|
||||
d.card_14 = 0;
|
||||
d.act[2] = 0;
|
||||
d.act_put[2] = -1;
|
||||
d.act_put[5] = -1;
|
||||
d.show_my13card();
|
||||
d.show_you13card();
|
||||
d.show_shang13card();
|
||||
d.show_zuo13card();
|
||||
d.show_14card();
|
||||
//d.show_sea();
|
||||
d.click_ban = 1;
|
||||
d.put_time = 0;
|
||||
}
|
||||
}
|
||||
if (id > 0 && Desk.stage != 0 && d.recon != 1) {
|
||||
if (id == d.card_14 && sx == 19 && allend == 1) {
|
||||
//set_self(d.card_14, 19, 480, 0, 0);
|
||||
}
|
||||
if (id == 1848 && sx == 19 && allend == 1) {
|
||||
d.jing_time = 0;
|
||||
//play_ani123(0, 1848, 18);
|
||||
//play_ani123(0, 1848, 19);
|
||||
//set_self(1848, 37, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
if (id > 0) {//var id1s=[1954,1955,1956,1957];
|
||||
//var id2s=[1958,1959,1960,1961];
|
||||
if (id == 1954 && sx == 19 && allend == 1) {
|
||||
play_ani123(0, 1954, 19);
|
||||
play_ani123(0, 1958, 19);
|
||||
set_self(1954, 37, 0);
|
||||
set_self(1958, 37, 0);
|
||||
}
|
||||
if (id == 1954 && sx == 19 && allend == 1) {
|
||||
play_ani123(0, 1955, 19);
|
||||
play_ani123(0, 1959, 19);
|
||||
set_self(1955, 37, 0);
|
||||
set_self(1959, 37, 0);
|
||||
}
|
||||
if (id == 1954 && sx == 19 && allend == 1) {
|
||||
play_ani123(0, 1956, 19);
|
||||
play_ani123(0, 1960, 19);
|
||||
set_self(1956, 37, 0);
|
||||
set_self(1960, 37, 0);
|
||||
}
|
||||
if (id == 1954 && sx == 19 && allend == 1) {
|
||||
play_ani123(0, 1957, 19);
|
||||
play_ani123(0, 1961, 19);
|
||||
set_self(1957, 37, 0);
|
||||
set_self(1961, 37, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//出牌胡牌提示相关
|
||||
d.get_other_pai = function (get_card, throw_card) {
|
||||
var my_card = [];
|
||||
for (var i = 0; i < d.hand[C_Player.seat].length; i++) {
|
||||
my_card = my_card.concat(d.hand[C_Player.seat][i]);
|
||||
}
|
||||
for (var i = 0; i < 4; i++) {
|
||||
my_card = my_card.concat(d.sea[i]);
|
||||
}
|
||||
if (throw_card) {
|
||||
var pos = my_card.indexOf(throw_card);
|
||||
if (pos != -1) {
|
||||
my_card.splice(pos, 1);
|
||||
}
|
||||
}
|
||||
if (get_card) {
|
||||
var pos = my_card.indexOf(get_card);
|
||||
if (pos != -1) {
|
||||
my_card.splice(pos, 1);
|
||||
}
|
||||
}
|
||||
for (var i = 0; i < 4; i++) {
|
||||
if (i != C_Player.seat) {
|
||||
for (var j = 1; j < d.hand[i].length; j++) {
|
||||
if (d.hand[i][j] && d.hand[i][j][0]) {
|
||||
my_card = my_card.concat(d.hand[i][j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
d.ord(my_card);
|
||||
var arr_Contrast = [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29];
|
||||
arr_Contrast = arr_Contrast.concat(arr_Contrast).concat(arr_Contrast).concat(arr_Contrast);
|
||||
for (var i = 0; i < arr_Contrast.length; i++) {
|
||||
var pos = my_card.indexOf(arr_Contrast[i]);
|
||||
if (pos != -1) {
|
||||
arr_Contrast[i] = 99;
|
||||
my_card[pos] = 0;
|
||||
}
|
||||
}
|
||||
d.ord(arr_Contrast);
|
||||
var pos = arr_Contrast.indexOf(99);
|
||||
if (pos != -1) {
|
||||
arr_Contrast.splice(pos);
|
||||
}
|
||||
return arr_Contrast;
|
||||
}
|
||||
//移入出牌
|
||||
d.set_click_chu=function (spid,movex,movey)
|
||||
{
|
||||
|
||||
if(get_self(817,37)==0)
|
||||
{return ;}
|
||||
var spid_in=gameabc_check_click(movex, movey);//d.get_click_id(movex,movey);
|
||||
if(!spid_in || spid_in < 817 || spid_in > 876)
|
||||
{return;}
|
||||
var spid_up=spid_in;//d.user_ctrl[2] == C_Player.seat &&
|
||||
if(d.btn2_aleady_move==spid_up)
|
||||
{return;}
|
||||
if(d.replay==0 && spid_in)
|
||||
{
|
||||
//d.last_id=spid_in;
|
||||
if (d.Ting_Tip.indexOf(get_self(spid_in, 43))) {
|
||||
d.clicks_an=-1;
|
||||
}
|
||||
|
||||
if (d.status == 2 && spid_up >= 817 && spid_up <= 876 && get_self(spid_up, 21, 0, 0, 0) > 120) {
|
||||
if(get_self(spid_up,19) == 500 && d.btn2_y==500){
|
||||
//中间的全部弹起
|
||||
//如果方向相同 按下精灵 此次精灵 判断中间精灵有无y不对
|
||||
//if(spid_up>d.btn2 && d.btn2_move_left0==1)
|
||||
if(spid_up>d.btn2)
|
||||
{
|
||||
for(var i=1;i<16;i++)
|
||||
{
|
||||
if(d.btn2+i > d.btn2 && d.btn2+i < spid_up)
|
||||
{
|
||||
if(get_self(d.btn2+i,19,0,0,0)!=480)
|
||||
{set_self(d.btn2+i,19,480,0,0);
|
||||
d.pai.push(get_self(d.btn2+i,43));
|
||||
}
|
||||
}
|
||||
else
|
||||
{break;}
|
||||
}
|
||||
}
|
||||
if(spid_up<d.btn2)
|
||||
{
|
||||
for(var i=1;i<16;i++)
|
||||
{
|
||||
if(d.btn2-i < d.btn2 && d.btn2-i > spid_up)
|
||||
{
|
||||
if(get_self(d.btn2-i,19,0,0,0)!=480)
|
||||
{set_self(d.btn2-i,19,480,0,0);
|
||||
d.pai.push(get_self(d.btn2-i,43));
|
||||
}
|
||||
}
|
||||
else
|
||||
{break;}
|
||||
}
|
||||
}
|
||||
//如果方向相不同 d.btn2_aleady_move精灵 此次精灵 判断中间精灵有无y不对
|
||||
|
||||
set_self(spid_up,19,480,0,0);
|
||||
d.pai.push(get_self(spid_up,43));
|
||||
d.btn2_aleady_move=spid_up;
|
||||
}else if(get_self(spid_up,19) == 480 && d.btn2_y==480){
|
||||
set_self(spid_up,19,500,0,0);
|
||||
d.pai.splice(d.pai.indexOf(get_self(spid_up,43)),1);
|
||||
d.btn2_aleady_move=spid_up;
|
||||
//中间的全部弹起
|
||||
//如果方向相同 按下精灵 此次精灵 判断中间精灵有无y不对
|
||||
if(spid_up>d.btn2)
|
||||
{
|
||||
for(var i=1;i<16;i++)
|
||||
{
|
||||
if(d.btn2+i > d.btn2 && d.btn2+i < spid_up )
|
||||
{
|
||||
if(get_self(d.btn2+i,19,0,0,0)!=500)
|
||||
{set_self(d.btn2+i,19,500,0,0);
|
||||
d.pai.splice(d.pai.indexOf(get_self(d.btn2+i,43)),1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{break;}
|
||||
}
|
||||
}
|
||||
if(spid_up<d.btn2)
|
||||
{
|
||||
for(var i=1;i<16;i++)
|
||||
{
|
||||
if(d.btn2-i < d.btn2 && d.btn2-i > spid_up)
|
||||
{
|
||||
if(get_self(d.btn2-i,19,0,0,0)!=500)
|
||||
{set_self(d.btn2-i,19,500,0,0);
|
||||
d.pai.splice(d.pai.indexOf(get_self(d.btn2-i,43)),1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{break;}
|
||||
}
|
||||
}
|
||||
}
|
||||
//d.chu_cilck=spid_up;
|
||||
}
|
||||
}
|
||||
else if(d.replay==0 && spid_in && spid_in==d.last_id && d.clicks_an>=0) {
|
||||
if (d.Ting_Tip.indexOf(get_self(spid_in, 43))) {
|
||||
d.clicks_an=-1;
|
||||
}
|
||||
}
|
||||
//在move事件中,得出鼠标所在小区域。并返回对应牌的精灵id
|
||||
}
|
||||
//出牌区域
|
||||
d.get_click_id=function (movex,movey)
|
||||
{
|
||||
//在move事件中,得出鼠标所在小区域。并返回对应牌的精灵id
|
||||
var r=d.get_click_ids_xywh();
|
||||
var spid_in=0;
|
||||
var l=d.click_ids.length;
|
||||
if(l>0 && movex>r[0] && movex<r[2] && movey>r[1] && movey<r[3])
|
||||
{var n=parseInt((movex-r[0])/30);
|
||||
spid_in=d.click_ids[0]+n;
|
||||
}
|
||||
else if(l>0 && d.card_14>0 && get_self(d.card_14,37) && movex>get_self(d.card_14,18,0,0) && movex<get_self(d.card_14,18,0,0) && movey>r[1] && movey<r[3])
|
||||
{
|
||||
spid_in=d.card_14;
|
||||
}
|
||||
if(get_self(spid_in,41,0,0,0)==0 || get_self(42,37) || get_self(189,37))
|
||||
{spid_in=0;}
|
||||
return spid_in;
|
||||
}
|
||||
//出牌区域
|
||||
d.get_click_ids_xywh=function ()
|
||||
{
|
||||
//在d.show_my13card函数中设置出牌的区域和小区域
|
||||
if(d.isEnd())
|
||||
{d.click_ids=[];
|
||||
}
|
||||
var l=d.click_ids.length;
|
||||
var r=[0,0,0,0];
|
||||
if(l>0)
|
||||
{var id0=d.click_ids[0];
|
||||
var id1=d.click_ids[l-1];
|
||||
var x=get_self(id0,18,0,0,0);
|
||||
var y=get_self(id0,19,0,0,0);y=500;
|
||||
var w=get_self(id0,20,0,0,0);
|
||||
var h=get_self(id0,21,0,0,0);
|
||||
var x1=get_self(id1,18,0,0,0);
|
||||
r[0]=x;
|
||||
r[1]=y;
|
||||
r[2]=x1+w;
|
||||
r[3]=y+h;
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
d.robot_chu_pai = function (){
|
||||
if (Desk.roomtype[14]==2||Desk.roomtype[14]==3||Desk.roomtype[14]==4){
|
||||
for(var i=0;i<4;i++){
|
||||
if(d.robot[i]==-1 && C_Player.seat == i && d.robot_chu == 0){
|
||||
d.robot_chu = 1;
|
||||
d.robot_send(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,251 @@
|
||||
/*********陈国强************/
|
||||
//显示已经出的牌
|
||||
d.show_Sea = function(){
|
||||
var arr = [881,911,951,971];
|
||||
var persons = [4, 4, 3, 2];
|
||||
var person = persons[d.roomtype[6]] || 4;
|
||||
if(person == 2){
|
||||
arr = [881,951,951,951];
|
||||
}
|
||||
else if (person == 3) {
|
||||
if(C_Player.seat == 0) {
|
||||
arr = [881,911,971,971];
|
||||
}else {
|
||||
arr = [881,911,911,971];
|
||||
}
|
||||
}
|
||||
var arr_s = [];
|
||||
for (var i = 0; i < 4; i++) {
|
||||
arr_s[i] = arr[d.pos[i]];
|
||||
set_group(207 + i, 37, 0, 0, 0);
|
||||
}
|
||||
for(var j=0;j<4;j++){
|
||||
var l = d.sea[j].length;
|
||||
if(l>=10){
|
||||
l=10;
|
||||
}
|
||||
var center = [[640-(l+2)*15,390],[900-(l+2)*15,200],[640-(l+2)*15,10],[360-(l+2)*15,200]];
|
||||
if(person == 2){
|
||||
center = [[640-(l+2)*15,390],[640-(l+2)*15,10],[640-(l+2)*15,10],[640-(l+2)*15,10]];
|
||||
}
|
||||
else if (person == 3) {
|
||||
if(C_Player.seat == 0) {
|
||||
center = [[640-(l+2)*15,390],[900-(l+2)*15,200],[360-(l+2)*15,200],[360-(l+2)*15,200]];
|
||||
}else {
|
||||
center = [[640-(l+2)*15,390],[900-(l+2)*15,200],[900-(l+2)*15,200],[360-(l+2)*15,200]];
|
||||
}
|
||||
}
|
||||
for(var i=0;i<d.sea[j].length;i++){
|
||||
if(d.sea[j][i]){
|
||||
set_self(arr_s[j] + i ,37,1,0,0);
|
||||
set_self(arr_s[j] + i ,43,d.sea[j][i],0,0);
|
||||
if(i<10){
|
||||
set_self(arr_s[j] + i ,18 , center[d.pos[j]][0]+i*30);
|
||||
set_self(arr_s[j] + i ,19 , center[d.pos[j]][1]);
|
||||
}else {
|
||||
set_self(arr_s[j] + i ,18 , center[d.pos[j]][0]+(i-10)*30);
|
||||
set_self(arr_s[j] + i ,19 , center[d.pos[j]][1]+50);
|
||||
}
|
||||
}else{
|
||||
set_self(arr_s[j] + i ,37,0,0,0);
|
||||
}
|
||||
}
|
||||
}
|
||||
//var put = Battle.check(d.last_put[1]);
|
||||
//switch(put){
|
||||
//case "god":
|
||||
//d.straight();
|
||||
//case "zha":
|
||||
//d.straight();
|
||||
//case "shun3":
|
||||
//d.straight(2900);
|
||||
//case "duishun":
|
||||
//d.straight(2899);
|
||||
//default:break;
|
||||
//}
|
||||
|
||||
}
|
||||
d.show_sea = function () {
|
||||
if(d.status==3){
|
||||
return;
|
||||
}if (Desk.roomtype[19]==1) {
|
||||
return ;
|
||||
}
|
||||
if(Utl.getIsInfinite() == 1 && d.person_info[C_Player.seat] && d.person_info[C_Player.seat].new_one==1) {
|
||||
return;
|
||||
}
|
||||
var arr_s0 = [1023, 1050, 1077, 1104];
|
||||
//2人模式
|
||||
var persons = [4, 4, 3, 2];
|
||||
var person = persons[d.roomtype[6]] || 4;
|
||||
if (person == 2) {
|
||||
arr_s0 = [1023, 1077, 1077, 1077];
|
||||
}
|
||||
else if (person == 3) {
|
||||
if(C_Player.seat == 0) {
|
||||
arr_s0 = [1023, 1050, 1104, 1104];
|
||||
}else {
|
||||
arr_s0 = [1023, 1050, 1050, 1104];
|
||||
}
|
||||
}
|
||||
d.put_card++;
|
||||
d.p_card=d.put_card;
|
||||
var arr_s = [];
|
||||
for (var i = 0; i < 4; i++) {
|
||||
arr_s[i] = arr_s0[d.pos[i]];
|
||||
set_group(207 + i, 37, 0, 0, 0);
|
||||
}
|
||||
for (var j = 0; j < 4; j++) {
|
||||
var l = d.sea[j].length
|
||||
var n = ifast_div((l + 1) / 9);
|
||||
var ii = 0;
|
||||
if (l > 21) {
|
||||
ii = (n - 1) * 9;
|
||||
}
|
||||
for (var i = ii; i < l; i++) {
|
||||
if (d.sea[j][i] && d.put_card==d.p_card) {
|
||||
set_self(arr_s[j] + i - ii, 37, 1, 0, 0);
|
||||
d.wos=1;
|
||||
set_self(arr_s[j] + i - ii, 43, d.sea[j][i], 0, 0);
|
||||
}
|
||||
if(d.sea[j][i] == undefined){
|
||||
set_self(arr_s[j] + i - ii, 37, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (d.last_operate[0] == 0) {
|
||||
d.wos=0;
|
||||
}
|
||||
}
|
||||
//牌池中最后1个精灵的id
|
||||
d.get_sea_lastid = function (seat) {
|
||||
var arr = [0, 0];//455,425/849,455/806,249/380,213 起始精灵:1023 1050 1077 1104
|
||||
var start_spids = [1023, 1050, 1077, 1104];
|
||||
//2人模式
|
||||
var persons = [4, 4, 3, 2];
|
||||
var person = persons[d.roomtype[6]] || 4;
|
||||
if (person == 2) {
|
||||
start_spids = [1023, 1077, 1077, 1077];
|
||||
}
|
||||
var start_spid = start_spids[d.pos[seat]];
|
||||
if(!d.sea[seat])
|
||||
{return 0;}
|
||||
var l = d.sea[seat].length;
|
||||
if(l==0)
|
||||
{return 0;}
|
||||
var l_y = 0;
|
||||
var l_x = 0;
|
||||
l_y = parseInt(l / 9);
|
||||
l_x = l - l_y * 9;
|
||||
lastid = start_spid + l_y * 9 + l_x - 1;//首个空出的精灵
|
||||
for (var i = 0; i < 27; i++) {
|
||||
if (get_self(start_spid + 26 - i, 37)) {
|
||||
lastid = start_spid + 26 - i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return lastid;
|
||||
}
|
||||
//得到牌池首个空出的位置坐标
|
||||
d.get_sea_freexy = function (seat, off) {
|
||||
var arr = [0, 0];//455,425/849,455/806,249/380,213 起始精灵:1023 1050 1077 1104
|
||||
var start_posxys = [[get_self(1023, 18, 0, 0, 0), get_self(1023, 19, 0, 0, 0)], [get_self(1050, 18, 0, 0, 0), get_self(1050, 19, 0, 0, 0)], [get_self(1077, 18, 0, 0, 0), get_self(1077, 19, 0, 0, 0)], [get_self(1104, 18, 0, 0, 0), get_self(1104, 19, 0, 0, 0)]];
|
||||
var start_spids = [1023, 1050, 1077, 1104];
|
||||
var start_posxy = start_posxys[d.pos[seat]];
|
||||
var start_spid = start_spids[d.pos[seat]];
|
||||
var l = d.sea[seat].length + off;
|
||||
var l_y = 0;
|
||||
var l_x = 0;
|
||||
var y = start_posxy[1];
|
||||
var x = start_posxy[0];
|
||||
l_y = parseInt(l / 9);
|
||||
l_x = l - l_y * 9 - 2;
|
||||
if (get_self(start_spid, 44, 0, 0, 0) == 207) {
|
||||
y = start_posxy[1] - l_y * 51;
|
||||
x = start_posxy[0] + l_x * 47;
|
||||
}
|
||||
else if (get_self(start_spid, 44, 0, 0, 0) == 208) {
|
||||
y = start_posxy[1] - l_x * 41;
|
||||
x = start_posxy[0] - l_y * 55;
|
||||
}
|
||||
else if (get_self(start_spid, 44, 0, 0, 0) == 209) {
|
||||
y = start_posxy[1] + l_y * 51;
|
||||
x = start_posxy[0] - l_x * 47;
|
||||
}
|
||||
else if (get_self(start_spid, 44, 0, 0, 0) == 210) {
|
||||
y = start_posxy[1] + l_x * 41;
|
||||
x = start_posxy[0] + l_y * 55;
|
||||
}
|
||||
//arr[2]=start_spid+l_y*9+l_x;//首个空出的精灵
|
||||
arr[2] = 1353;
|
||||
arr[0] = x;
|
||||
arr[1] = y;
|
||||
var lastid = d.get_sea_lastid(seat);
|
||||
var x1 = get_self(lastid, 18, 0, 0, 0);
|
||||
var y1 = get_self(lastid, 19, 0, 0, 0);
|
||||
if (arr[0] != x1) {
|
||||
arr[0] = x1;
|
||||
}
|
||||
if (arr[1] != y1) {
|
||||
arr[1] = y1;
|
||||
}
|
||||
d.act_put[0] = arr[0];//出牌 0spid,1目标x,2目标y
|
||||
d.act_put[1] = arr[1];
|
||||
return arr;
|
||||
}
|
||||
//得到其他3家随机手牌
|
||||
d.get_rand_3handcard = function (seat, n) {
|
||||
n = n || 1;
|
||||
//var id_start=[936,954,972,990];
|
||||
var id_start = [936, 954, 972, 990];
|
||||
var l = d.hand[seat][0].length;
|
||||
var ran_pos = ifast_random(l);
|
||||
var throw_card_id = [];
|
||||
throw_card_id[0] = id_start[d.pos[seat]] + ran_pos;
|
||||
for (var i = 1; i < n; i++) {
|
||||
var ran_pos1 = ran_pos + i;
|
||||
if (ran_pos1 > l - 1) {
|
||||
ran_pos1 = ran_pos - (ran_pos1 - (l - 1));
|
||||
}
|
||||
throw_card_id[i] = id_start[d.pos[seat]] + ran_pos1;
|
||||
}
|
||||
return throw_card_id;
|
||||
}
|
||||
|
||||
d.get_song_downjing = function (downjing) {
|
||||
var song_downjing = [];
|
||||
if (downjing[0] < 30) {
|
||||
song_downjing[0] = [downjing[0] % 10, downjing[1] % 10];
|
||||
song_downjing[1] = [parseInt("1" + downjing[0] % 10), parseInt("1" + downjing[1] % 10)];
|
||||
song_downjing[2] = [parseInt("2" + downjing[0] % 10), parseInt("2" + downjing[1] % 10)];
|
||||
} else if (downjing[0] > 30 && downjing[0] < 40) {
|
||||
song_downjing[0] = [31, 32];
|
||||
song_downjing[1] = [32, 33];
|
||||
song_downjing[2] = [33, 34];
|
||||
song_downjing[3] = [34, 31];
|
||||
} else if (downjing[0] > 40) {
|
||||
song_downjing[0] = [41, 42];
|
||||
song_downjing[1] = [42, 43];
|
||||
song_downjing[2] = [43, 41];
|
||||
}
|
||||
return song_downjing;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
|
||||
/*----------------工具函数------------------*/
|
||||
var Util = {};
|
||||
//判断是否为数组
|
||||
Util.isArray = function (array) {
|
||||
return Object.prototype.toString.call(array) === '[object Array]';
|
||||
}
|
||||
//复制数组
|
||||
Util.copyArray = function (array) {
|
||||
if (typeof array == "undefined") {
|
||||
console.log("array is undefined.");
|
||||
return array;
|
||||
}
|
||||
var str_Array = JSON.stringify(array);
|
||||
var back_Array = JSON.parse(str_Array);
|
||||
return back_Array;
|
||||
}
|
||||
//一维数组排序
|
||||
Util.ordArray = function (array) {
|
||||
if (array != undefined && array.length > 0) {
|
||||
array.sort(function f(a, b) {
|
||||
return a - b;
|
||||
});
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user