Files
youlegames/codes/games/client/Projects/guanpai-jx/js/guanpai/huifang.js
2026-02-04 23:47:45 +08:00

419 lines
9.8 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 gp_yx = gp_yx||{
paixing:function(dppx){
var fanhui = [];
if(dppx[0][0]==1&&dppx[0][1]==1){//单牌
fanhui = [1,dppx[1][0][4]];
}
if(dppx[0][0]>1&&dppx[0][1]==1){//炸弹 对子 三张
if(dppx[0][0]==2){
fanhui = [2,dppx[1][0][4]];//对子
}
if(dppx[0][0]==3){
if (game.xs_dapai[game.seat].length==3) {
fanhui = [3,dppx[1][0][4]];//三张
}else if (game.xs_dapai[game.seat].length==4) {
fanhui = [4,2];//三带一
}else if (game.xs_dapai[game.seat].length==5) {
fanhui = [4,3];//三带二
}
}
if(dppx[0][0]==4 && game.xs_dapai[game.seat].length<=4){
fanhui = [4,0];//炸弹
}
if(dppx[0][0]==4 && game.xs_dapai[game.seat].length>4){
fanhui = [4,1];//四带二
}
}if(dppx[0][0]==2&&dppx[0][1]>1){//连对
fanhui = [5,0];
}if(dppx[0][0]==1&&dppx[0][1]>=5){//顺子
fanhui = [5,1];
}
if(dppx[0][0]==3&&dppx[0][1]>=2){
fanhui = [5,2];//飞机
}
return fanhui ;
},
yinxiao:function(dppx,sex){
var jieguo = this.paixing(dppx);
if (sex==1){ //判断男女
switch (jieguo[0]){
case 1:
Utl.playSound(yx.danpai1[jieguo[1]-3]);
break;
case 2:
Utl.playSound(yx.duizi1[jieguo[1]-3]);
break;
case 3:
Utl.playSound(yx.sanzhang1[jieguo[1]-3]);
break;
case 4:
Utl.playSound(yx.zhadan1[jieguo[1]]);
break;
case 5:
Utl.playSound(yx.shun1[jieguo[1]]);
break;
}
}
else {
switch (jieguo[0]){
case 1:
Utl.playSound(yx.danpai2[jieguo[1]-3]);
break;
case 2:
Utl.playSound(yx.duizi2[jieguo[1]-3]);
break;
case 3:
Utl.playSound(yx.sanzhang2[jieguo[1]-3]);
break;
case 4:
Utl.playSound(yx.zhadan2[jieguo[1]]);
break;
case 5:
Utl.playSound(yx.shun2[jieguo[1]]);
break;
}
}
},
passyinxiao:function(sex){//不要
if (sex){//判断男女
Utl.playSound(yx.buyao1[2]);
} else {
Utl.playSound(yx.buyao2[2]);
}
}
}
////////////////回放////////////////////////
////////////////////////////////////////////
var baipai=function (pai,people){
var aaa = [[1001,1018,1035],[550,1070,100],[491,175,175]];//牌精灵X坐标Y坐标
set_group(201,37,0,0,0);
set_group(202,37,0,0,0);
set_group(203,37,0,0,0);
for (var i=0;i<people;i++) {
var yihao = pai;
var laizi = (game.hf_huifang[game.hf_ju].laizi-1)%13+1;
if (game.hf_huifang[game.hf_ju].laizi.length == 0 ) {
dxpaixu(yihao[i],0);
}else {
dxpaixu(yihao[i],laizi);
}
switch (Utl.changeToStatus(i))
{
case 0:
set_group(201,37,0,0,0);
for (var a = 0; a<yihao[i].length;a++)
{
set_self(aaa[0][0],18,aaa[1][0]-yihao[i].length*20/2,0,0);
set_self(aaa[0][0]+a,18,get_self(aaa[0][0],18,0,0,0)+20*a,0,0);
set_self(aaa[0][0]+a,19,aaa[2][0],0,0);
set_self(aaa[0][0]+a,43,yihao[i][a]+1,0,0);
set_self(aaa[0][0]+a,37,1,0,0);
set_self(aaa[0][0]+a,1,53,0,0);
}
break;
case 1:
set_group(202,37,0,0,0);
for (var a = 0; a<yihao[i].length;a++)
{
set_self(aaa[0][1],18,aaa[1][1]-yihao[i].length*20,0,0);
set_self(aaa[0][1]+a,18,get_self(aaa[0][1],18,0,0,0)+20*a,0,0);
set_self(aaa[0][1]+a,19,aaa[2][1],0,0);
set_self(aaa[0][1]+a,43,yihao[i][a]+1,0,0);
set_self(aaa[0][1]+a,37,1,0,0);
set_self(aaa[0][1]+a,1,53,0,0);
}
break;
case 2:
set_group(203,37,0,0,0);
for (var a = 0; a<yihao[i].length;a++)
{
set_self(aaa[0][2],18,aaa[1][2],0,0);
set_self(aaa[0][2]+a,18,get_self(aaa[0][2],18,0,0,0)+20*a,0,0);
set_self(aaa[0][2]+a,19,aaa[2][2],0,0);
set_self(aaa[0][2]+a,43,yihao[i][a]+1,0,0);
set_self(aaa[0][2]+a,37,1,0,0);
set_self(aaa[0][2]+a,1,53,0,0);
}
break;
}
if (laizi){
gp_ui_laizibz(yihao[i],laizi,aaa[0][Utl.changeToStatus(i)]);
}
}
}
var xs_zongfen = function(grade) //显示分数
{
for(var i=0;i<grade.length;i++)
{
Utl.setGrade(i,grade[i]);
}
}
var xs_dapai = function(dapai,renshu,px,seat,laizib) // 出牌,人数,牌型,出牌的人
{
var ersansi = [1017,1034,1051];
var hf_cpy1 = 400;
var hf_cpx1 = 550;
var hf_cpy2 = 265;
var hf_cpx2 = 1040;
var hf_cpy3 = 265;
var hf_cpx3 = 120;
var hf_cpx4 = 100;
var hf_cpsf = 50;
if ( laizib ==0) {
laizib =[[],[],[]];
}
for (var a= 0;a<renshu;a++)
{
switch (Utl.changeToStatus(a))
{
case 0:
for(var i =1001;i<=ersansi[0] ; i++){
if(get_self(i,19,0,0,0) == hf_cpy1){
set_self(i,37,0,0,0);
}
}
if (dapai[a] != -1) {
for (var i = ersansi[0]+1 - dapai[a].length;i<=ersansi[0];i++) //显示出牌的位置
{
set_self(ersansi[0]+1-dapai[a].length,18,hf_cpx1-dapai[a].length*20/2,0,0);
set_self(i,18,get_self(ersansi[0]+1-dapai[a].length,18,0,0,0)+20*(i-(ersansi[0]+1-dapai[a].length)),0,0);
set_self(i,19,hf_cpy1,0,0);
set_self(i,33,hf_cpsf,0,0);
set_self(i,1,53,0,0);
set_self(i,43,dapai[a][ersansi[0]-i]+1);
set_self(i,37,1,0,0);
}
gp_hf_laizicp(dapai[a],laizib[a],ersansi[0]+1-dapai[a].length);//癞子出牌变帧 pai为id paipai为该变后的id大小 diyz为精灵id
}
break;
case 1:
if (dapai[a] != -1) {
for (var i = ersansi[1]+1 - dapai[a].length;i<=ersansi[1];i++) //显示出牌的位置
{
set_self(ersansi[1]+1-dapai[a].length,18,hf_cpx2-dapai[a].length*20,0,0);
set_self(i,18,get_self(ersansi[1]+1-dapai[a].length,18,0,0,0)+20*(i-(ersansi[1]+1-dapai[a].length)),0,0);
set_self(i,19,hf_cpy2,0,0);
set_self(i,33,hf_cpsf,0,0);
set_self(i,1,53,0,0);
set_self(i,43,dapai[a][ersansi[1]-i]+1);
set_self(i,37,1,0,0);
}
gp_hf_laizicp(dapai[a],laizib[a],ersansi[1]+1-dapai[a].length);//癞子出牌变帧 pai为id paipai为该变后的id大小 diyz为精灵id
}
break;
case 2:
if (dapai[a] != -1) {
for (var i = ersansi[2]+1 - dapai[a].length;i<=ersansi[2];i++) //显示出牌的位置
{
set_self(ersansi[2]+1-dapai[a].length,18,hf_cpx3,0,0);
set_self(i,18,get_self(ersansi[2]+1-dapai[a].length,18,0,0,0)+20*(i-(ersansi[2]+1-dapai[a].length)),0,0);
set_self(i,19,hf_cpy3,0,0);
set_self(i,33,hf_cpsf,0,0);
set_self(i,1,53,0,0);
set_self(i,43,dapai[a][ersansi[2]-i]+1);
set_self(i,37,1,0,0);
}
gp_hf_laizicp(dapai[a],laizib[a],ersansi[2]+1-dapai[a].length);//癞子出牌变帧 pai为id paipai为该变后的id大小 diyz为精灵id
}
break;
}
}
if (px == -1) {
switch(Utl.changeToStatus((seat+renshu-1)%renshu)) {
case 0:
set_self(1076,37,1,0,0);
break;
case 1:
set_self(1077,37,1,0,0);
break;
case 2:
set_self(1078,37,1,0,0);
break;
}
}
switch(Utl.changeToStatus(seat))
{
case 0:
set_self(1076,37,0,0,0);
break;
case 1:
set_self(1077,37,0,0,0);
break;
case 2:
set_self(1078,37,0,0,0);
break;
}
}
var hf_shizhong = function (kzq) {
var time = 15
set_group(212,37,0,0,0);
set_self(1075,57,0,0,0);
set_self(1075,7,time,0,0);
switch (Utl.changeToStatus(kzq))//根据控制权来显示时钟
{
case 0:
set_self(1074,37,1,0,0);
set_self(1075,37,1,0,0);
set_self(1074,18,560,0,0);
set_self(1074,19,400,0,0);
break;
case 1:
set_self(1074,37,1,0,0);
set_self(1075,37,1,0,0);
set_self(1074,18,1015,0,0);
set_self(1074,19,310,0,0);
break;
case 2:
set_self(1074,37,1,0,0);
set_self(1075,37,1,0,0);
set_self(1074,18,180,0,0);
set_self(1074,19,310,0,0);
break;
}
set_self(1075,18,get_self(1074,18)+37,0,0);
set_self(1075,19,get_self(1074,19)+53,0,0);
set_self(1075,20,40,0,0);
set_self(1075,57,1000,0,0);
};
var hf_anniu = function (spid){
switch (spid){
case 1139:
set_level(101,0);
set_level(501,0);
set_group(215,37,0,0,0);
set_group(212,37,0,0,0);
set_group(304,37,0,0,0);
set_group(220,37,0,0,0);
set_self(1054,57,0,0,0);
set_self(1053,57,0,0,0);
Utl.closeVideo();
gameCombat.newGoCombatPageTwo(gameCombat.combatData.pageOneIndex);
lunshu = 0;
break;
case 1559:
if (get_self(1072,37) ==1 ) {
set_level(101,0);
set_level(501,0);
set_group(215,37,0,0,0);
set_group(212,37,0,0,0);
set_group(304,37,0,0,0);
set_group(220,37,0,0,0);
set_self(1054,57,0,0,0);
set_self(1053,57,0,0,0);
Utl.closeVideo();
gameCombat.newGoCombatPageTwo(gameCombat.combatData.pageOneIndex);
lunshu = 0;
} else if (get_self(1072,37) ==0 ) {
if (get_self(1189,37) ==0 && get_self(1191,37) ==1) {
gp_ui_djzb();
}else if(get_self(1189,37) ==1 && get_self(1191,37) ==0) {
kg=2;
gp_ui_daju();
}
}
break;
case 1140:
if (get_self(1140,43,0,0,0) == 2) {
set_self(1054,57,0,0,0);
set_self(1075,57,0,0,0);
set_self(1140,43,1,0,0);
}else {
set_self(1054,57,2000,0,0);
set_self(1140,43,2,0,0);
set_self(1075,57,1000,0,0);
}
break;
case 1141:
var eee = game.hf_huifang[game.hf_ju].putpai;
set_self(1054,57,0,0,0);
set_self(1140,43,1,0,0);
gameabc_face.ontimer_1054();
if ( lunshu>eee.length) {
gameabc_face.ontimer_1053();
lunshu = 0;
set_self(1141,37,0,0,0);
set_self(1140,37,0,0,0);
}
set_self(1075,57,0,0,0);
break;
case 1072:
set_level(101,0);
set_level(501,0);
set_group(215,37,0,0,0);
set_group(212,37,0,0,0);
set_group(304,37,0,0,0);
set_group(220,37,0,0,0);
set_self(1054,57,0,0,0);
set_self(1053,57,0,0,0);
Utl.closeVideo();
gameCombat.newGoCombatPageTwo(gameCombat.combatData.pageOneIndex);
lunshu = 0;
break;
}
}
var gp_hf_laizicp = function(pai,_paipai,diyz){ //癞子出牌变帧 pai为牌id paipai为该变后的id diyz为精灵id
var yici = 0;
if (_paipai.length !=0) {
for(var i=0;i<pai.length;i++)
{
if ( pai[i] == _paipai[yici] && yici <_paipai.length) {
set_self(diyz+i,1,567,0,0); //癞子牌变帧
yici++;
}else {
set_self(diyz+i,1,53,0,0); //癞子牌变帧
set_self(diyz+i,37,1,0,0);
}
set_self(diyz+i,43, pai[i]+1,0,0);
}
}
}