目录结构调整

This commit is contained in:
2026-02-04 23:47:45 +08:00
parent 6938c911c3
commit 6b22238c6e
8780 changed files with 15333 additions and 574 deletions

View File

@@ -0,0 +1,152 @@
//相关配置
var id_config = id_config||{
};
id_config.hc_len = [20,17,17]; //手牌长度
id_config.car_start = [2001,2101,2201];//每个位置牌起始id
id_config.sta_posi_x = [565,1003,166];//每个位置标准牌的x坐标
id_config.sta_posi_y = [531,108,108];//每个位置标准牌的y坐标
id_config.car_intervalx = [70,43,43];//每个位置两张牌之间x的间隔
id_config.car_intervaly = [42,42,42];//每个位置两张牌之间y的间隔
id_config.put_intervalx = [43,43,43];//打出去每个位置两张牌之间x的间隔
id_config.put_intervaly = [72,72,72];//打出去每个位置两张牌之间y的间隔
id_config.car_position = [1,2,0];//每个位置标准牌的方位 0左边第一张 1中间 2右边
id_config.car_len = [20,10,10];//每个人一排几张牌
id_config.put_len = [20,10,10];//每个人一排几张牌
id_config.wide = [150,110,110];//每个人牌的宽
id_config.high = [190,142,142];//每个人牌的高
id_config.put_wide = [110,110,110];//每个人牌打出去的宽
id_config.put_high = [142,142,142];//每个人牌打出去的高
id_config.put_posi_x = [585,1003,166];//每个人牌打出去的标准牌的x坐标
id_config.put_posi_y = [340,108,108];//每个人牌打出去的标准牌的y坐标
id_config.put_position = [1,2,0];//每个位置打出去标准牌的方位 0左边第一张 1中间 2右边
id_config.pass = [1046,1047,1048];//不要的id
id_config.intervalh = 30;//点击手牌 上移的距离
id_config.but_id = 0; //出牌按钮id 不用为0
id_config.mask = 2522; //第一张遮罩id 遮罩的大小和牌的大小相同
id_config.pass_id = 1046; //第一个不要的id
//回放
id_config.fast = 1066; //快进
id_config.pause = 1065; //暂停
id_config.retreat = 1067; //退一步
id_config.out = 1068; //退出
//局数
id_config.game = 1514; //局字
id_config.Slash = 1513; //斜杠
id_config.min_num = 1517; //小局数
id_config.max_num = 1515; //大局数
id_config.ward_wide = 16; //数字的宽度
id_config.ward_interval = 15; //数字的间隔
//时钟
id_config.clock = 1507; //钟
id_config.time_id = 1508; //时间id
id_config.time_size = 25; //一位数字的大小
id_config.clock_x = [450,1022,175]; //钟x坐标
id_config.clock_y = [380,160,160]; //钟y坐标
id_config.time_clock_x = 29; //钟和一位数字的x距离
id_config.time_clock_y = 23; //钟和一位数字的y距离
//按钮
id_config.but_putcard = 1056;//出牌按钮的id
id_config.but_pass = 1054;//不要按钮的id
id_config.but_prompt = 1055;//提示按钮的id
id_config.but_maxpass = 1057;//要不起按钮的id
id_config.but_mingpai = 1058;//明牌id
id_config.but_putcard_x = [581,789,688,543];//出牌按钮3钟情况的x坐标 第一种情况 第二种情况 第三种情况
id_config.but_pass_x = [286,286,581];//不要按钮3钟情况的x坐标 第一种情况 第二种情况 第三种情况
id_config.but_prompt_x = [581,581,581];//提示按钮3钟情况的x坐标 第一种情况 第二种情况 第三种情况
id_config.pass_prompt = 1059;//没有大过上家牌的文字图的id
id_config.txt_di = 1060;//文字图的底id
id_config.put_err = 1061;//出牌错误的文字图的id
//托管
id_config.trus = 1520;//托管按钮
id_config.trus_di = 1521;//托管底
id_config.trus_cancel = 1522;//取消托管
//明牌
id_config.mingpaidi = 1063;//明牌底
id_config.mingpaiquan = 1062;//明牌圈
id_config.mingpaizi = 1049;//明牌字
id_config.mingpaidix = [277,518,65];//明牌底x
id_config.mingpaidiy = [179,80,80];//明牌底y
id_config.mingpaiquanx = [585,826,373];//明牌圈x
id_config.mingpaiquany = [244,145,145];//明牌圈y
id_config.mingpaizix = [596,857,404];//明牌字x
id_config.mingpaiziy = [278,179,179];//明牌字y
id_config.mingpaidik = 727;//明牌底的宽度
//动画
id_config.dafeiji = 1156; //大飞机的id
id_config.feiji = 1150; //第一个飞机字的id
id_config.feijidi = 1153; //第一个飞机底的id
//id_config.feiji_wide = [168,168,168];//宽
//id_config.feiji_high = [85,85,85];//高
id_config.feiji_x = [[260,430],[970,800],[-90,60]];//x
id_config.feiji_y = [381,156,156];//y
id_config.shunzi = 1157; //第一个顺子字的id
id_config.shunzidi = 1160; //第一个顺子底的id
id_config.liandui = 1163; //第一个连对字的id
id_config.lianduidi = 1166; //第一个连对底的id
//id_config.shunzi_wide = [141,141,141];//宽
//id_config.shunzi_high = [76,76,76];//高
id_config.shunzi_x = [[380,552],[1260,928],[10,223]];//x
id_config.shunzi_y = [369,168,168];//y
id_config.zhadan = 1169;//炸弹
id_config.zhadan_x = [[380,500,588],[1157,1030,940],[10,137,240]];//炸弹x
id_config.zhadan_y = [[545,200,362],[126,30,130],[126,30,130]];//炸弹y
id_config.baozha = 1172;//爆炸
id_config.baozha_x = [489,838,129];//爆炸
id_config.baozha_y = [231,-5,-5];//爆炸
id_config.huojian = 1175;//火箭
id_config.yan = 1178;//烟
id_config.huojian_x = [556,929,198];//火箭x
//id_config.huojian_y = [231,-5,-5];//火箭y
id_config.yan_x = [384,757,26];//烟x
//id_config.huojian_y = [231,-5,-5];//烟y
id_config.wangzhax = [537,973,165];//王炸字显示x坐标
id_config.wangzhay = [378,175,175];//王炸字显示y坐标
id_config.wangzhazi = 1143;//王炸字id
id_config.zhadanzi = 1140;//炸弹字id

View File

@@ -0,0 +1,162 @@
//数据处理
var Public_data = {
}
Public_data.recovery = {
}
Public_data.data = {
}
Public_data.game = {
}
Public_data.ini = function(){
//框架数据定义
Public_data.recovery.RoomCode = 0; //房间号
Public_data.recovery.asetcount = 0; //总局数
Public_data.recovery.roomtype = []; //房间类型
Public_data.recovery.ziyuan = []; //昵称 头像
Public_data.recovery.id = []; //playerid
Public_data.recovery.hand_cards = []; //手牌
Public_data.recovery.pjhf = []; //打牌回放
Public_data.recovery.num = 0; //回放第几步
Public_data.clickid = 0; //鼠标所在的牌id
Public_data.clickiniid = 0; //点下去的牌id
Public_data.select = []; //选中的牌
Public_data.current = 15; //当前倒计时
Public_data.outmove = 0; //是否移动到外面
Public_data.cards = []; //出牌
Public_data.jieduan = 0; //发牌动画阶段
Public_data.playtime = 15; //倒计时
//------------------------------------------------------------
Public_data.data.banker = -1; //庄
Public_data.data.tuoguan = []; //托管
Public_data.data.roomtype = []; //房间类型
Public_data.data.bei = 0; // 倍数
Public_data.data.hand_cards = []; //手牌
Public_data.data.team_cards = [[],[]]; //每个人的队友牌(某些游戏打完了能看队友的牌)
Public_data.data.undercards = []; //底牌
Public_data.data.playerlist = [[],[]]; //玩家状态 下标0:操作状态、1:准备状态、2:是否参与游戏、3抢庄状态、4加倍状态
Public_data.data.stage = -1; //牌桌当前阶段 0发牌 1加倍 2打牌 3小局 4大局
Public_data.data.caozuo = 0; //接包次数
Public_data.data.rest= [-1,-1]; //每个人的牌剩余
Public_data.data.rest_cards = [[],[]]; //游戏结束时所有人剩余的牌
Public_data.data.dealid = [[],[],[]]; //每个人的出牌ID
Public_data.data.bj_score = [-1,-1]; //本局每个人的输赢分
Public_data.data.wsk_score = [-1,-1]; //每人的5 10 K分
Public_data.data.change_seat = [-1,-1]; //某些游戏需要换座的
Public_data.data.updown_swim = [-1,-1]; //上下游
Public_data.data.cardtype =[[],[]]; //当前出牌的牌型 下标0:牌型的类型、1:牌型的大小、2:牌的ID
Public_data.data.maxplayer =-1; //当前最大出牌人的座位号
Public_data.data.rpc = ""; //包名
Public_data.data.maxman = 3; //最大人数
Public_data.data.num = [10,400]; //局数
Public_data.data.point_cards = []; //提示
Public_data.data.control = 0; //控制权
Public_data.data.caozuo = 0; //包数量
Public_data.data.mp_zt = [-1,-1,-1]; //明牌状态
Public_data.data.team_cards = []; //明牌id
Public_data.data.down_score = []; //底分
Public_data.data.di_bei = 0; //底倍数
Public_data.data.end = -1; //本局状态
Public_data.data.gold_score = []; //星星得分
Public_data.data.chuntian = 0; //春天
}
Public_data.ini_game = function(){
//子游戏数据初始化
Public_data.game.shizhong = 30; //时钟
}
Public_data.Initialization = function(){
//初始化数据 在gameabc_face.gamestart中调用
All_timer.time_r(); //重置定时器
Public_data.ini(); //初始化数据
Public_data.ini_game();
carini();//牌还原
Hand_card.ini();//牌初始化
UI.hide();//界面隐藏
All_ani.hide();//动画关闭
All_timer.hide();//定时器关闭
game.ini();
Utl.stopMusic();
Game_Config.soundList.MainSceneMusic = "00108.mp3";//王炸声音特效
Utl.playMusic();
set_self(1072,41,0,0,0);
}

View File

@@ -0,0 +1,583 @@
//界面显示
var UI = {
}
UI.hide = function(){
//隐藏界面
UI.dealcard.hide();
UI.lootbanket.hide();
UI.more.hide();
UI.playcards.hide();
UI.display.hide();
UI.aset.hide();
UI.ready.hide();
Recovery.Card_Game.hide();
clock(0);
}
UI.begin = {
//开始
show: function(){
UI.hide();
game_num(1);//局数显示
trus(0);//托管
},
update: function(){
UI.hide();
liangdipai(0);//亮底牌
trus(0);//托管
//set_self(1500,37,1,0,0);
},
hide: function(){
game_num(0);//局数显示
}
}
UI.dealcard = {
//发牌
show: function(){//显示
Hand_card.ani();//准备发牌动画
All_ani.dealcard.show();//发牌动画
liangdipai(0);//亮底牌
beixs();//倍数显示
difenxs();//底分显示
for(var i= 0;i<Public_data.data.maxman;i++){//明牌显示
if (Public_data.data.mp_zt[i] == 1 ) {
All_ani.mingpai.show(mingpaidonghua,Utl.changeToStatus(i));//明牌动画
}
else{//显示牌张数
dipaishu();
}
}
},
update: function(){//更新显示
//set_group(201,37,1);
id_config.clock_x[0] = 428;
clock(1); //时钟显示
liangdipai(0);//亮底牌
opencards();//明牌
jiaofen();//叫分
if(Utl.getMySeat() == Public_data.data.control){
xiafen();
}
for(var i= 0;i<Public_data.data.maxman;i++){
if (Utl.getMySeat() == i) {
Hand_card.sort(i,Public_data.data.hand_cards);
mpbs(1);//明牌标识
}else if (Public_data.data.mp_zt[i] == 1) {//明牌
opencards();//明牌
}else{
dipaishu();
}
}
},
hide: function(){//隐藏
clock(0); //时钟显示
set_group(201,37,0,0,0);
set_group(202,37,0,0,0);
set_group(203,37,0,0,0);
set_group(204,37,0,0,0);
set_group(210,37,0,0,0);
set_group(211,37,0,0,0);
}
}
UI.lootbanket = {
//抢庄
show: function(){
set_group(204,37,0,0,0);
jiaofen();//叫分显示
difenxs();//底分显示
lootbanketsound();//叫分音效
var bujiao = 0;
for (var i = 0; i < Public_data.data.maxman; i++) {
if (Public_data.data.playerlist[3][i] == 0) {
bujiao++;
}
}
if (bujiao == Public_data.data.maxman && Public_data.data.stage == 0 ) {
clock(0); //时钟显示
set_self(1090,37,0,0,0);
set_self(1091,37,0,0,0);
}else{
if (Public_data.data.stage == 1 ) {
set_self(All_timer.jiaofen,57,All_timer.time.jiaofen,0,0);
id_config.clock_x[0] = 600;
//Public_data.data.control = Utl.getMySeat();//用来显示钟
liangdipai(1);//亮底牌
Utl.playSound(Sound.fptx);
beixs(); //修改倍数
dzxs();//地主显示
opencards();//明牌
Utl.playSound(Sound.fptx);
clock(0); //时钟显示
if (Public_data.data.banker == Utl.getMySeat()) {//自己是地主
jiapai();//加牌动画
mpbs(0);//明牌标识
}else{
config_carlen();//设置牌长度
dipaishu();
set_self(All_timer.jiaofen,57,All_timer.time.jiaofen,0,0);
}
}else{
clock(1); //时钟显示
}
if (Utl.getMySeat() == Public_data.data.control) {
if (Public_data.data.stage == 0) {
xiafen();//叫分按钮
}
}
}
},
update: function(){
Hand_card.sort(Utl.getMySeat(),Public_data.data.hand_cards);//重新摆手牌
mpbs(1);//明牌标识
//liangdipai(0);//亮底牌
dzxs();//地主显示
opencards();//明牌
jiaofen();//叫分显示
if (Public_data.data.stage == 1 ) {
//Public_data.data.control = Utl.getMySeat();
liangdipai(1);//亮底牌
//set_group(207,37,1,0,0);
jiabeixs();
}
clock(1); //时钟显示
if (Utl.getMySeat() == Public_data.data.control) {
if (Public_data.data.stage == 0) {
xiafen();//叫分按钮
} else {
//set_group(207,37,1,0,0);
//button_show(1,false);//出牌按钮
//Hand_card.sort(Utl.getMySeat());//重新摆手牌
}
}
},
hide: function(){
UI.dealcard.hide();
set_group(207,37,0,0,0);
}
}
UI.more = {
//加倍
show: function(){
if(game.seat == Utl.getMySeat() && Public_data.data.playerlist[4][Utl.getMySeat()] > -1){
clock(0); //时钟显示
}
jiabeixs();
jiabeisound();//音效
},
update: function(){
//Public_data.data.control = Utl.getMySeat();//用来显示钟
Hand_card.sort(Utl.getMySeat(),Public_data.data.hand_cards);//重新摆手牌
mpbs(1);//明牌标识
liangdipai(1);//亮底牌
opencards();//明牌
jiabeixs();
paidz();//牌上地主显示
if(Public_data.data.playerlist[4][Utl.getMySeat()] == -1){
id_config.clock_x[0] = 600;
clock(1); //时钟显示
}else{
clock(0); //时钟显示
}
dzxs();//地主显示
},
hide: function(){
UI.dealcard.hide();
clock(0); //时钟显示
set_group(207,37,0,0,0);
}
}
UI.playcards = {
//打牌
show: function(){
if (Public_data.data.jieguo == 1) {
set_group(207,37,0,0,0);
clock(0); //时钟显示
beixs();//倍数显示
if (Public_data.data.caozuo > 0) {
id_config.clock_x[0] = 493;
Utl.playSound(Sound.cptx);
sound();//音效
}else{
trus(1);//托管
}
if (game.seat != Utl.getMySeat()) {
Putcards.sort();//出牌
if (Public_data.data.mp_zt[game.seat] !=1 ) {
if (Public_data.data.end==-1) {
paidz();//牌上地主显示
}
dipaishu();
}else{
opencards();//明牌
}
clock(1); //时钟显示
}
if (Public_data.data.end == -1) {
if (Public_data.data.control == Utl.getMySeat() && Public_data.data.stage == 2) {
if (Public_data.data.caozuo == 0) {
button_show(1);
}else{
var caozuo = 0;
for (var i=0; i<Public_data.data.maxman; i++) {
if (Public_data.data.playerlist[0][i] == -1) {
caozuo++;
}
}
if (caozuo == Public_data.data.maxman) {
button_show(1,true);
}
else if (Public_data.data.point_cards.length) {
button_show(2,true);
} else {
button_show(3,true);
}
}
}
}else{
clock(0); //时钟显示
//set_self(1021,37,0,0,0);
}
}else{
if (Public_data.data.control == Utl.getMySeat() && Public_data.data.stage == 2) {
set_self(id_config.txt_di,37,1,0,0);
set_self(id_config.put_err,37,1,0,0);
All_ani.put_err.show(1);
}
}
},
update: function(){
id_config.clock_x[0] = 493;
liangdipai(1);//亮底牌
clock(1); //时钟显示
dzxs();//地主显示
Hand_card.sort(Utl.getMySeat(),Public_data.data.hand_cards);//手牌
mpbs(1);//明牌标识
Putcards.sort();//出牌
opencards();//明牌
paidz();//出牌上地主显示
if (Public_data.data.control == Utl.getMySeat()) {
if (Public_data.data.caozuo == 0) {
button_show(1);
}else{
var caozuo = 0;
for (var i=0; i<Public_data.data.maxman; i++) {
if (Public_data.data.playerlist[0][i] == -1) {
caozuo++;
}
}
if (caozuo == Public_data.data.maxman) {
button_show(1,true);
}
else if (Public_data.data.point_cards.length) {
button_show(2,true);
} else {
button_show(3,true);
}
}
}
},
hide: function(){
UI.dealcard.hide();
clock(0); //时钟显示
set_group(205,37,0,0,0);
}
}
UI.display = {
//不出
show: function(){
id_config.clock_x[0] = 493;
clock(1); //时钟显示
if (game.seat == Utl.getMySeat()) {
Hand_card.sort(Utl.getMySeat(),Public_data.data.hand_cards);//手牌
button_show(0);
}
opencards();//明牌
Putcards.sort();//出牌
paidz();//出牌上地主显示
passsound();//不要音效
if (Public_data.data.control == Utl.getMySeat()) {
var caozuo = 0;
for (var i=0; i<Public_data.data.maxman; i++) {
if (Public_data.data.playerlist[0][i] == -1) {
caozuo++;
}
}
if (caozuo == Public_data.data.maxman) {
button_show(1,true);
}else{
if (Public_data.data.point_cards.length) {
button_show(2,true);
} else {
button_show(3,true);
}
}
}
},
update: function(){
id_config.clock_x[0] = 493;
liangdipai(1);//亮底牌
clock(1); //时钟显示
dzxs();//地主显示
Hand_card.sort(Utl.getMySeat(),Public_data.data.hand_cards);//手牌
mpbs(1);//明牌标识
Putcards.sort();//出牌
opencards();//明牌
paidz();//出牌上地主显示
if (Public_data.data.control == Utl.getMySeat()) {
var caozuo = 0;
for (var i=0; i<Public_data.data.maxman; i++) {
if (Public_data.data.playerlist[0][i] == -1) {
caozuo++;
}
}
if (caozuo == Public_data.data.maxman) {
button_show(1,true);
}else{
if (Public_data.data.point_cards.length) {
button_show(2,true);
} else {
button_show(3,true);
}
}
}
},
hide: function(){
UI.dealcard.hide();
clock(0); //时钟显示
set_group(205,37,0,0,0);
}
}
UI.aset = {
//小局
show: function(){
clock(0); //时钟显示
Utl.playSound(Sound.sltx);
set_group(205,37,0,0,0);
trus(0);
if (Utl.getIsInfinite() == 0) {
for(var i=0;i<Public_data.data.maxman;i++)
{
if(Public_data.data.roomtype[3]==2){
Utl.changeBean(Public_data.data.gold_score[i],i);
}
Utl.setGrade(i,Public_data.data.grade[i]);
}
} else {
for(var i=0;i<Public_data.data.maxman;i++)
{
Utl.changeBean(0,i);
Utl.changeBean(Public_data.data.gold[i]-Utl.getBeanBySeat(i),i);
Utl.setGrade(i,Public_data.data.gold[i]);
}
}
asetopen();//小局明牌
if(Public_data.data.chuntian ==1){
All_ani.chuntian.show();
}
if (game.seat != Utl.getMySeat()) {
Putcards.sort();//出牌
paidz();//出牌上地主显示
}
dzxs();
mpbs(0);
set_self(All_timer.aset,57,All_timer.time.aset,0,0);//准备进小局
},
update: function(){
liangdipai(1);//亮底牌
clock(0); //时钟显示
set_group(205,37,0,0,0);
asetopen();//小局明牌
Putcards.sort();//出牌
paidz();//出牌上地主显示
dzxs();//地主显示
mpbs(0);//明牌标识
beixs();//倍数显示
zhunbei();
asetover();
},
hide: function(){
UI.dealcard.hide();
clock(0); //时钟显示
set_group(251,37,0,0,0);
set_group(260,37,0,0,0);
}
}
UI.ready = {
//准备
show: function(){
zhunbei();
if (Public_data.data.playerlist[1][Utl.getMySeat()] != 1) {
for(var i= 0;i<Public_data.data.maxman;i++){
if (Public_data.data.mp_zt[i] == 1) {
set_self(1814,41,0,0,0);
set_self(1814,35,100,0,0);
set_self(1077,41,0,0,0);
set_self(1077,35,100,0,0);
break;
}
}
return;
}
set_group(251,37,0,0,0);
set_group(201,37,0,0,0);
set_group(202,37,0,0,0);
set_group(203,37,0,0,0);
set_group(205,37,0,0,0);
set_group(210,37,0,0,0);
set_group(211,37,0,0,0);
set_self(1076,37,0,0,0);
set_self(1077,37,0,0,0);
set_self(1079,37,0,0,0);
set_self(1078,37,0,0,0);
clock(0);
mpbs(0);//明牌标识
game_num(1);
//zhunbei();
},
update: function(){
set_group(251,37,0,0,0);
clock(0);
game_num(1);
zhunbei();
},
hide: function(){
UI.dealcard.hide();
set_group(251,37,0,0,0);
set_group(252,37,0,0,0);
}
}
UI.help_play = {
//托管
show: function(){
trus(1);
},
update: function(){
trus(1);
},
hide: function(){
trus(0);
}
}
UI.mingpai = {
//明牌
show: function(){
//opencard(game.seat); //配置明牌坐标
All_ani.mingpai.show(mingpaidonghua,Utl.changeToStatus(game.seat));//明牌动画
if(Utl.getMySeat() == Public_data.data.control){
button_show(1);
}
id_config.clock_x[0] = 428;
clock(1);
mpbs(1);//明牌标识
},
update: function(){
opencards();//明牌
mpbs(1);//明牌标识
},
hide: function(){
set_group(201,37,0,0,0);
set_group(202,37,0,0,0);
set_group(203,37,0,0,0);
}
}

View File

@@ -0,0 +1,530 @@
//动画
var All_ani = {
}
All_ani.hide = function() {
All_ani.dealcard.hide();
All_ani.put_err.hide();
All_ani.chapai.hide();
All_ani.put_cards.hide();
All_ani.mingpai.hide();
All_ani.aset_mingpai.hide();
All_ani.feiji.hide();
All_ani.shunzi.hide();
All_ani.liandui.hide();
All_ani.zhadan.hide();
All_ani.wangzha.hide();
All_ani.zhuomian.hide();
All_ani.chuntian.hide();
All_ani.hide1();
}
//在 gameabc_face.ani_doend 中调用
All_ani.ani_doend = function(id,sx,count,allend){
//动画结束
//发牌结束
dealcard_ani_doend(id,sx,count,allend);
//插牌结束
chapai_ani_doend(id,sx,count,allend);
//明牌结束
mingpai_ani_doend(id,sx,count,allend);
//飞机结束
paixingdonghua(id,sx,count,allend);
//炸弹结束
zhadanover(id,sx,count,allend);
//爆炸结束
baozhaover(id,sx,count,allend);
//烟结束
yanover(id,sx,count,allend);
//桌面结束
zhuomianover(id,sx,count,allend);
//炸弹字结束
zhadanziover(id,sx,count,allend);
//春天结束
chuntianover(id,sx,count,allend);
}
All_ani.dealcard = {//发牌
show:function(){
if (Public_data.data.hand_cards.length%2) {//单数
var anix = id_config.sta_posi_x[0] - (id_config.car_intervalx[0] * ((Public_data.data.hand_cards.length-1)/2));
}else{//双数
var anix = id_config.sta_posi_x[0] - (id_config.car_intervalx[0] * (Public_data.data.hand_cards.length/2)) + id_config.car_intervalx[0]/2;
}
for(var i = 0;i<Public_data.data.hand_cards.length;i++){
play_ani(1,i+id_config.car_start[0],18,anix,i*id_config.car_intervalx[0]+anix,0,400,0,0,0,1,0,0);
set_self(i+id_config.car_start[0],37,1);
set_self(i+id_config.car_start[0],19,id_config.sta_posi_y[0],0,0);
}
},
hide:function(){
for(var i = 0;i<id_config.hc_len[Utl.getMySeat()];i++){
play_ani(0,i+id_config.car_start[0],0);
set_self(i+id_config.car_start[0],37,0);
}
}
}
All_ani.chapai = {//插牌
show:function(dq_wz){
var x_wz = [];//加入后的坐标
for (var i = 0; i < Public_data.data.hand_cards.length; i++) {
x_wz[i] = get_self(id_config.car_start[0]+i,18,0,0,0);
}
var jiaru = 0;
for (var i = 0; i < id_config.hc_len[Utl.getMySeat()]; i++) {
if (i == wz[jiaru]) {//这张牌是底牌
set_self(id_config.car_start[0]+i,19,470,0,0);
set_self(id_config.car_start[0]+i,37,0,0,0);
jiaru ++;
}else{
set_self(id_config.car_start[0]+i,18,dq_wz[i-jiaru],0,0);
play_ani(1,id_config.car_start[0]+i,18,get_self(id_config.car_start[0]+i,18),x_wz[i],0,300,0,0,0,1,0,0);
}
}
},
hide:function(){
for(var i = 0;i<id_config.hc_len[Utl.getMySeat()];i++){
play_ani(0,i+id_config.car_start[0],0);
set_self(i+id_config.car_start[0],37,0);
}
}
}
All_ani.put_err = {
//出牌错误
show: function(type){
play_ani(1,id_config.txt_di,35,255,0,0,All_timer.time.put_err,0,0,0,1,0,0);
if (type) {
play_ani(1,id_config.put_err,35,255,0,0,All_timer.time.put_err,0,0,0,1,0,0);
}else{
play_ani(1,id_config.pass_prompt,35,255,0,0,All_timer.time.put_err,0,0,0,1,0,0);
}
},
hide: function(){
play_ani(0,id_config.put_err,0);
set_self(id_config.put_err,37,0,0,0);
play_ani(0,id_config.txt_di,0);
set_self(id_config.txt_di,37,0,0,0);
play_ani(0,id_config.pass_prompt,0);
set_self(id_config.pass_prompt,37,0,0,0);
}
}
All_ani.put_cards = {
//出牌动画
show: function(tiqi,weiti){
chupaidonghua = 1;//出牌动画开关
//575
var chu =[];
var liu = [];
var kuan = 0;
var liukuan = 0;
//------------------------------------------//选中牌上划
if (tiqi.length%2) {//单数
kuan = id_config.put_posi_x[0] - (id_config.put_intervalx[0] * ((tiqi.length - 1)/2));
}else{//双数
kuan = id_config.put_posi_x[0] - (id_config.put_intervalx[0] * (tiqi.length/2)) + id_config.put_intervalx[0]/2;
}
for (var i= 0;i<tiqi.length;i++) {
play_ani(1,id_config.car_start[0]+tiqi[i],19,get_self(id_config.car_start[0]+tiqi[i],19),id_config.put_posi_y[0],0,100,0,0,0,1,0,0);
play_ani(1,id_config.car_start[0]+tiqi[i],18,get_self(id_config.car_start[0]+tiqi[i],18),i*id_config.put_intervalx[0]+kuan,0,100,0,0,0,1,0,0);
play_ani(1,id_config.car_start[0]+tiqi[i],20,get_self(id_config.car_start[0]+tiqi[i],20),id_config.put_wide[0],0,100,0,0,0,1,0,0);
play_ani(1,id_config.car_start[0]+tiqi[i],21,get_self(id_config.car_start[0]+tiqi[i],21),id_config.put_high[0],0,100,0,0,0,1,0,0);
}
//-------------------------------------------------------//未选中牌对齐
var handcards = Public_data.data.hand_cards.length;
if (handcards%2) {//单数
liukuan = id_config.sta_posi_x[0] - (id_config.car_intervalx[0] * ((handcards-1)/2));
}else{//双数
liukuan = id_config.sta_posi_x[0] - (id_config.car_intervalx[0] * (handcards/2)) + id_config.car_intervalx[0]/2;
}
if (weiti.length == 0) {
set_self(1021,37,0,0,0);
} else {
for (var i= 0;i<weiti.length;i++) {
if (i == weiti.length-1) {
if(Public_data.data.banker == Utl.getMySeat()){//牌上地主跟着最后一张牌走
var zhx = get_self(id_config.car_start[0]+weiti[i],18);
set_self(1021,19,get_self(id_config.car_start[0]+weiti[i],19,0,0,0),0,0);
set_self(1021,18,get_self(id_config.car_start[0]+weiti[i],18,0,0,0),0,0);
play_ani(1,1021,18,zhx,liukuan+i*id_config.car_intervalx[0],0,100,0,0,0,1,0,0);
set_self(1021,37,1,0,0);
}
}
play_ani(1,id_config.car_start[0]+weiti[i],18,get_self(id_config.car_start[0]+weiti[i],18),liukuan+i*id_config.car_intervalx[0],0,100,0,0,0,1,0,0);
}
}
},
hide: function(){
for(var i = 0;i<id_config.hc_len[Utl.getMySeat()];i++){
play_ani(0,i+id_config.car_start[0],0);
set_self(i+id_config.car_start[0],37,0);
}
}
}
All_ani.mingpai = {
//明牌
show: function(type,seat){
switch (type){
case 0:
Utl.playSound("00125.mp3");
//显示底变宽
//opencard(seat); //配置明牌坐标
set_self(id_config.mingpaizi,19,id_config.mingpaiziy[seat],0,0);
set_self(id_config.mingpaiquan,19,id_config.mingpaiquany[seat],0,0);
set_self(id_config.mingpaizi,18,id_config.mingpaizix[seat],0,0);
//set_self(id_config.mingpaidi,18,id_config.mingpaidix[seat],0,0);
set_self(id_config.mingpaiquan,18,id_config.mingpaiquanx[seat],0,0);
set_self(id_config.mingpaidi,19,id_config.mingpaidiy[seat],0,0);
set_self(id_config.mingpaidi,18,id_config.mingpaidix[seat]+id_config.mingpaidik/2,0,0);
set_self(id_config.mingpaidi,20,0,0,0);
set_self(id_config.mingpaidi,33,100,0,0);
play_ani(1,id_config.mingpaidi,20,0,id_config.mingpaidik,0,200,0,0,0,1,0,0);
play_ani(1,id_config.mingpaidi,18,id_config.mingpaidix[seat]+id_config.mingpaidik/2,id_config.mingpaidix[seat],0,200,0,0,0,1,0,0);
set_self(id_config.mingpaidi,37,1,0,0);
mingpaidonghua = 1;
break;
case 1:
//显示圈旋转 明牌放大
All_ani.mingpai.hide(1);
set_self(id_config.mingpaiquan,37,1,0,0);
set_self(id_config.mingpaizi,37,1,0,0);
set_self(id_config.mingpaizi,33,0,0,0);
set_self(id_config.mingpaiquan,33,100,0,0);
play_ani(1,id_config.mingpaiquan,34,0,360,0,1300,0,0,0,0,0,0);
play_ani(1,id_config.mingpaizi,33,0,120,0,200,0,0,0,1,0,0);
mingpaidonghua = 2;
break;
case 2:
//显示 明牌恢复
All_ani.mingpai.hide(1);
play_ani(1,id_config.mingpaizi,33,120,100,0,200,0,0,0,1,0,0);
mingpaidonghua = 3;
break;
case 3:
//明牌恢复后准备隐藏
All_ani.mingpai.hide(1);
set_self(All_timer.mingpai,57,All_timer.time.mingpai,0,0);
mingpaidonghua = 4;
break;
case 4:
//开始隐藏
All_ani.mingpai.hide(1);
play_ani(1,id_config.mingpaizi,33,100,120,0,100,0,0,0,1,0,0);
play_ani(1,id_config.mingpaidi,33,100,120,0,100,0,0,0,1,0,0);
play_ani(1,id_config.mingpaiquan,33,100,120,0,100,0,0,0,1,0,0);
mingpaidonghua = 5;
break;
case 5:
//隐藏
All_ani.mingpai.hide(1);
play_ani(1,id_config.mingpaizi,33,120,0,0,200,0,0,0,1,0,0);
play_ani(1,id_config.mingpaidi,33,120,0,0,200,0,0,0,1,0,0);
play_ani(1,id_config.mingpaiquan,33,120,0,0,200,0,0,0,1,0,0);
mingpaidonghua = 6;
opencards();//明牌
//clock(1);
if(Utl.getMySeat() == Public_data.data.control){
jiaofen();//叫分
if (Public_data.data.stage == 0) {
xiafen();
}
}
break;
case 6:
//关动画
All_ani.mingpai.hide();
mingpaidonghua = 7;
break;
}
} ,
hide: function(type){
if(!type){
set_self(id_config.mingpaizi,37,0,0,0);
set_self(id_config.mingpaidi,37,0,0,0);
set_self(id_config.mingpaiquan,37,0,0,0);
play_ani(0,id_config.mingpaiquan,0);
}
play_ani(0,id_config.mingpaizi,0);
play_ani(0,id_config.mingpaidi,0);
}
}
All_ani.aset_mingpai = {
//小局明牌
show: function(seat){
//seat = Utl.changeToStatus(seat);
if (Utl.changeToStatus(seat) == 1) {
//右边
var diyix = 0;
if (Public_data.data.rest_cards[seat].length<=id_config.car_len[Utl.changeToStatus(seat)]) {
diyix = id_config.sta_posi_x[Utl.changeToStatus(seat)] - (id_config.car_intervalx[Utl.changeToStatus(seat)] * (Public_data.data.rest_cards[seat].length-1));
} else {
diyix = id_config.sta_posi_x[Utl.changeToStatus(seat)] - (id_config.car_intervalx[Utl.changeToStatus(seat)] * 9);
}
for (var i = 0; i < Public_data.data.rest_cards[seat].length; i++) {
if (i>=id_config.car_len[Utl.changeToStatus(seat)]) {
play_ani(1,id_config.car_start[Utl.changeToStatus(seat)]+i,18,
id_config.sta_posi_x[Utl.changeToStatus(seat)],//起始位置
diyix+id_config.car_intervalx[Utl.changeToStatus(seat)]*(i-(Public_data.data.rest_cards[seat].length-id_config.car_len[Utl.changeToStatus(seat)])),//结束位置
0,400,0,400,0,1,0,0);
set_self(id_config.car_start[Utl.changeToStatus(seat)]+i,37,1,0,0);
} else {
play_ani(1,id_config.car_start[Utl.changeToStatus(seat)]+i,18,
id_config.sta_posi_x[Utl.changeToStatus(seat)],//起始位置
diyix+id_config.car_intervalx[Utl.changeToStatus(seat)]*i,//结束位置
0,400,0,0,0,1,0,0);
set_self(id_config.car_start[Utl.changeToStatus(seat)]+i,37,1,0,0);
}
}
} else if (Utl.changeToStatus(seat) == 2) {
//左边
for (var i = 0; i < Public_data.data.rest_cards[seat].length; i++) {
if (i>=id_config.car_len[Utl.changeToStatus(seat)]) {
play_ani(1,id_config.car_start[Utl.changeToStatus(seat)]+i,18,id_config.sta_posi_x[Utl.changeToStatus(seat)],id_config.sta_posi_x[Utl.changeToStatus(seat)]+id_config.car_intervalx[Utl.changeToStatus(seat)]*(i-id_config.car_len[Utl.changeToStatus(seat)]),0,400,0,400,0,1,0,0);
set_self(id_config.car_start[Utl.changeToStatus(seat)]+i,37,1,0,0);
} else {
play_ani(1,id_config.car_start[Utl.changeToStatus(seat)]+i,18,id_config.sta_posi_x[Utl.changeToStatus(seat)],id_config.sta_posi_x[Utl.changeToStatus(seat)]+id_config.car_intervalx[Utl.changeToStatus(seat)]*i,0,400,0,0,0,1,0,0);
set_self(id_config.car_start[Utl.changeToStatus(seat)]+i,37,1,0,0);
}
}
}
},
hide: function(){
for (var i = 0; i < id_config.hc_len[i]; i++) {
play_ani(0,id_config.car_start[1]+i,0);
play_ani(0,id_config.car_start[2]+i,0);
set_self(id_config.car_start[1]+i,37,0,0,0);
set_self(id_config.car_start[2]+i,37,0,0,0);
}
}
}
All_ani.feiji = {//飞机
show: function(type,id,jiajian){
if (type == 1) {
set_self(id_config.feijidi+Utl.changeToStatus(game.seat),37,1,0,0);
set_self(id_config.feiji+Utl.changeToStatus(game.seat),37,1,0,0);
set_self(id_config.dafeiji,37,1,0,0);
if (Utl.changeToStatus(game.seat) == 1) {//右边过来
play_ani(1,id_config.feijidi+Utl.changeToStatus(game.seat),18,id_config.feiji_x[Utl.changeToStatus(game.seat)][0],id_config.feiji_x[Utl.changeToStatus(game.seat)][1],0,300,0,0,0,1,0,0);
play_ani(1,id_config.feiji+Utl.changeToStatus(game.seat),18,id_config.feiji_x[Utl.changeToStatus(game.seat)][0]+40,id_config.feiji_x[Utl.changeToStatus(game.seat)][1]+70,60,240,0,0,0,1,0,0);
} else {//左边过来
play_ani(1,id_config.feijidi+Utl.changeToStatus(game.seat),18,id_config.feiji_x[Utl.changeToStatus(game.seat)][0],id_config.feiji_x[Utl.changeToStatus(game.seat)][1],0,300,0,0,0,1,0,0);
play_ani(1,id_config.feiji+Utl.changeToStatus(game.seat),18,id_config.feiji_x[Utl.changeToStatus(game.seat)][0]+170,id_config.feiji_x[Utl.changeToStatus(game.seat)][1]+200,60,240,0,0,0,1,0,0);
}
play_ani(1,id_config.dafeiji,18,-328,1300,0,1000,0,0,0,1,0,0);
} else {
play_ani(1,id,0);
if (jiajian == 1) {
play_ani(1,id,18,get_self(id,18,0,0,0),get_self(id,18,0,0,0)+30,0,80,0,0,0,1,0,0);
} else {
play_ani(1,id,18,get_self(id,18,0,0,0),get_self(id,18,0,0,0)-30,0,80,0,0,0,1,0,0);
}
}
},
hide: function(){
for (var i = 0; i < 7; i++) {
set_self(id_config.feiji+i,37,0,0,0);
play_ani(0,id_config.feiji+i,0);
}
}
}
All_ani.shunzi = {//顺子
show: function(type,id,jiajian){
if (type == 1) {
set_self(id_config.shunzidi+Utl.changeToStatus(game.seat),37,1,0,0);
set_self(id_config.shunzi+Utl.changeToStatus(game.seat),37,1,0,0);
if (Utl.changeToStatus(game.seat) ==1) {//右边过来
play_ani(1,id_config.shunzidi+Utl.changeToStatus(game.seat),18,id_config.shunzi_x[Utl.changeToStatus(game.seat)][0],id_config.shunzi_x[Utl.changeToStatus(game.seat)][1],0,300,0,0,0,1,0,0);
play_ani(1,id_config.shunzi+Utl.changeToStatus(game.seat),18,id_config.shunzi_x[Utl.changeToStatus(game.seat)][0]-20,id_config.shunzi_x[Utl.changeToStatus(game.seat)][1]-30,60,240,0,0,0,1,0,0);
} else {//左边过来
play_ani(1,id_config.shunzidi+Utl.changeToStatus(game.seat),18,id_config.shunzi_x[Utl.changeToStatus(game.seat)][0],id_config.shunzi_x[Utl.changeToStatus(game.seat)][1],0,300,0,0,0,1,0,0);
play_ani(1,id_config.shunzi+Utl.changeToStatus(game.seat),18,id_config.shunzi_x[Utl.changeToStatus(game.seat)][0]+20,id_config.shunzi_x[Utl.changeToStatus(game.seat)][1]+30,60,240,0,0,0,1,0,0);
}
} else {
play_ani(1,id,0);
if (jiajian == 1) {
play_ani(1,id,18,get_self(id,18,0,0,0),get_self(id,18,0,0,0)+30,0,80,0,0,0,1,0,0);
} else {
play_ani(1,id,18,get_self(id,18,0,0,0),get_self(id,18,0,0,0)-30,0,80,0,0,0,1,0,0);
}
}
},
hide: function(){
for (var i = 0; i < 6; i++) {
set_self(id_config.shunzi+i,37,0,0,0);
play_ani(0,id_config.shunzi+i,0);
}
}
}
All_ani.liandui = {//连对
show: function(type,id,jiajian){
if (type == 1) {
set_self(id_config.lianduidi+Utl.changeToStatus(game.seat),37,1,0,0);
set_self(id_config.liandui+Utl.changeToStatus(game.seat),37,1,0,0);
if (Utl.changeToStatus(game.seat) == 1) {//右边过来
play_ani(1,id_config.lianduidi+Utl.changeToStatus(game.seat),18,id_config.shunzi_x[Utl.changeToStatus(game.seat)][0],id_config.shunzi_x[Utl.changeToStatus(game.seat)][1],0,300,0,0,0,1,0,0);
play_ani(1,id_config.liandui+Utl.changeToStatus(game.seat),18,id_config.shunzi_x[Utl.changeToStatus(game.seat)][0]-20,id_config.shunzi_x[Utl.changeToStatus(game.seat)][1]-30,60,240,0,0,0,1,0,0);
} else {//左边过来
play_ani(1,id_config.lianduidi+Utl.changeToStatus(game.seat),18,id_config.shunzi_x[Utl.changeToStatus(game.seat)][0],id_config.shunzi_x[Utl.changeToStatus(game.seat)][1],0,300,0,0,0,1,0,0);
play_ani(1,id_config.liandui+Utl.changeToStatus(game.seat),18,id_config.shunzi_x[Utl.changeToStatus(game.seat)][0]+20,id_config.shunzi_x[Utl.changeToStatus(game.seat)][1]+30,60,140,0,0,0,1,0,0);
}
} else {
play_ani(1,id,0);
if (jiajian == 1) {
play_ani(1,id,18,get_self(id,18,0,0,0),get_self(id,18,0,0,0)+30,0,80,0,0,0,1,0,0);
} else {
play_ani(1,id,18,get_self(id,18,0,0,0),get_self(id,18,0,0,0)-30,0,80,0,0,0,1,0,0);
}
}
},
hide: function(){
for (var i = 0; i < 6; i++) {
set_self(id_config.liandui+i,37,0,0,0);
play_ani(0,id_config.liandui+i,0);
}
}
}
All_ani.zhadan = {//炸弹
show: function(type,id){
if (type==1) {
set_self(id_config.zhadan+Utl.changeToStatus(game.seat),37,1,0,0);
set_self(id_config.zhadan+Utl.changeToStatus(game.seat),18,id_config.zhadan_x[Utl.changeToStatus(game.seat)][0],0,0);
set_self(id_config.zhadan+Utl.changeToStatus(game.seat),19,id_config.zhadan_y[Utl.changeToStatus(game.seat)][0],0,0);
play_ani(1,id_config.zhadan+Utl.changeToStatus(game.seat),18,id_config.zhadan_x[Utl.changeToStatus(game.seat)][0],id_config.zhadan_x[Utl.changeToStatus(game.seat)][1],0,300,0,0,0,1,0,0);
play_ani(1,id_config.zhadan+Utl.changeToStatus(game.seat),19,id_config.zhadan_y[Utl.changeToStatus(game.seat)][0],id_config.zhadan_y[Utl.changeToStatus(game.seat)][1],0,300,0,0,0,1,0,0);
play_ani(1,149,33,100,130,0,400,0,0,0,1,0,0);
zhadan_ani[Utl.changeToStatus(game.seat)] = 1;
//王炸字
set_self(id_config.zhadanzi+Utl.changeToStatus(game.seat),37,1,0,0);
set_self(id_config.zhadanzi+Utl.changeToStatus(game.seat),35,0,0,0);
set_self(id_config.zhadanzi+Utl.changeToStatus(game.seat),18,id_config.wangzhax[Utl.changeToStatus(game.seat)],0,0);
set_self(id_config.zhadanzi+Utl.changeToStatus(game.seat),19,id_config.wangzhay[Utl.changeToStatus(game.seat)],0,0);
set_self(id_config.zhadanzi+Utl.changeToStatus(game.seat),33,300,0,0);
play_ani(1,id_config.zhadanzi+Utl.changeToStatus(game.seat),33,300,100,0,200,0,0,0,1,0,0);
play_ani(1,id_config.zhadanzi+Utl.changeToStatus(game.seat),35,0,255,0,100,0,0,0,1,0,0);
}else if (type == 2) {
play_ani(1,id,18,id_config.zhadan_x[Utl.changeToStatus(game.seat)][1],id_config.zhadan_x[Utl.changeToStatus(game.seat)][2],0,100,0,0,0,1,0,0);
play_ani(1,id,19,id_config.zhadan_y[Utl.changeToStatus(game.seat)][1],id_config.zhadan_y[Utl.changeToStatus(game.seat)][2],0,100,0,0,0,1,0,0);
zhadan_ani[Utl.changeToStatus(game.seat)] = 0;
}
},
hide: function(){
for (var i = 0; i < 6; i++) {
set_self(id_config.zhadan+i,37,0,0,0);
play_ani(0,id_config.zhadan+i,0);
set_self(id_config.zhadanzi+i,37,0,0,0);
play_ani(0,id_config.zhadanzi+i,0);
}
}
}
All_ani.wangzha = {//王炸
show: function(){
//火箭
set_self(id_config.huojian+Utl.changeToStatus(game.seat),37,1,0,0);
set_self(id_config.huojian+Utl.changeToStatus(game.seat),18,id_config.huojian_x[Utl.changeToStatus(game.seat)],0,0);
set_self(id_config.huojian+Utl.changeToStatus(game.seat),19,730,0,0);
play_ani(1,id_config.huojian+Utl.changeToStatus(game.seat),19,730,-500,0,400,0,0,0,1,0,0);
set_self(All_timer.huojian,57,All_timer.time.huojian,0,0);
//play_ani(1,149,33,100,105,0,100,0,0,0,16,0,1);
//王炸字
set_self(id_config.wangzhazi+Utl.changeToStatus(game.seat),37,1,0,0);
set_self(id_config.wangzhazi+Utl.changeToStatus(game.seat),35,0,0,0);
set_self(id_config.wangzhazi+Utl.changeToStatus(game.seat),18,id_config.wangzhax[Utl.changeToStatus(game.seat)],0,0);
set_self(id_config.wangzhazi+Utl.changeToStatus(game.seat),19,id_config.wangzhay[Utl.changeToStatus(game.seat)],0,0);
set_self(id_config.wangzhazi+Utl.changeToStatus(game.seat),33,300,0,0);
play_ani(1,id_config.wangzhazi+Utl.changeToStatus(game.seat),33,300,100,0,200,0,0,0,1,0,0);
play_ani(1,id_config.wangzhazi+Utl.changeToStatus(game.seat),35,0,255,0,100,0,0,0,1,0,0);
},
hide: function(){
for (var i = 0; i < 6; i++) {
set_self(id_config.zhadan+i,37,0,0,0);
play_ani(0,id_config.zhadan+i,0);
set_self(id_config.zhadanzi+i,37,0,0,0);
play_ani(0,id_config.zhadanzi+i,0);
}
set_self(149,18,0,0,0);
set_self(149,19,0,0,0);
set_self(149,33,100,0,0);
}
}
All_ani.zhuomian = {//桌面缩放
show: function(){
set_self(All_timer.zhuomian,57,All_timer.time.zhuomian,0,0);
},
hide: function(){
set_selfdiv('ifastgame',18,0,0,0);
set_selfdiv('ifastgame',19,0,0,0);
}
}
All_ani.chuntian = {//春天
show: function(){
set_self(1002,37,1,0,0);
set_self(1002,33,0,0,0);
Utl.playSound(Sound.cttx);
play_ani(1,1002,33,0,130,0,200,0,0,0,1,0,0);
},
hide: function(){
set_self(1002,37,0,0,0);
play_ani(0,1002,0);
}
}

View File

@@ -0,0 +1,186 @@
//定时器 在 gameabc_face.ontimer 中调用
var All_timer = {
//定时器id设置
recovery : 1064, //回放牌局
clock : id_config.clock, //钟定时器
put_err: id_config.put_err, //出牌错误
mingpai:1501, //明牌隐藏
aset:1807, //小局显示
feiji:1510, //飞机隐藏
huojian:1511, //火箭出烟
zhuomian:1512, //桌面抖动
zhadanzi:1800, //炸弹字
jiaofen :1803, //叫分结束
wzsy :1509, //王炸声音特效
}
All_timer.hide = function(){
set_self(All_timer.clock,57,0,0,0);
set_self(All_timer.put_err,57,0,0,0);
set_self(All_timer.recovery,57,0,0,0);
set_self(All_timer.mingpai,57,0,0,0);
set_self(All_timer.aset,57,0,0,0);
set_self(All_timer.feiji,57,0,0,0);
set_self(All_timer.huojian,57,0,0,0);
set_self(All_timer.zhuomian,57,0,0,0);
set_self(All_timer.zhadanzi,57,0,0,0);
set_self(All_timer.jiaofen,57,0,0,0);
set_self(All_timer.wzsy,57,0,0,0);
All_timer.hide1();
}
All_timer.time = {
}
All_timer.time_r = function(){
//定时器时间设置
All_timer.time.dealcard = 100; //发牌
All_timer.time.recovery = 2000; //回放牌局
All_timer.time.clock = 1000; //钟
All_timer.time.put_err = 3000; //出牌错误
All_timer.time.mingpai = 1500; //明牌隐藏
All_timer.time.aset = 3000; //小局
All_timer.time.feiji = 1000; //飞机隐藏
All_timer.time.huojian = 200; //火箭出烟
All_timer.time.zhuomian = 10; //桌面抖动
All_timer.time.zhadanzi = 1000; //炸弹字
All_timer.time.jiaofen = 1000; //叫分结束
All_timer.time.wzsy = 15000; //王炸声音结束
}
All_timer.timer = function(gameid , spid , times , timelong , alltimes){
switch (spid){
case All_timer.clock://时钟
if(Public_data.current>0){
Public_data.current--;
}else{
set_self(All_timer.clock,57,0,0,0);
}
if (Public_data.current == 10 || Public_data.current <=3 ) {
Utl.playSound(Sound.sjtx);
}
set_self(id_config.time_id,7,Public_data.current,0,0);
set_self(id_config.time_id,20,id_config.time_size*(ifast_inttostr(Public_data.current).length),0,0);
set_self(id_config.time_id,18,id_config.clock_x[Utl.changeToStatus(Public_data.data.control)]+id_config.time_clock_x-(ifast_inttostr(Public_data.current).length-1)*id_config.time_size/2,0,0);
break;
case All_timer.recovery://回放
if (Public_data.recovery.num+1<Public_data.recovery.pjhf.length-1) {
Public_data.recovery.num ++;
Public_data.Recovery();
Recovery.button();
set_self(id_config.retreat,41,1,0,0);
}else{
Recovery.Card_Game.hide();//关闭定时器
Game_Modify.over(msgrecovery);
}
break;
case All_timer.put_err://出牌错误
All_ani.put_err.show(1);
set_self(All_timer.put_err,57,0,0,0);
break;
case All_timer.mingpai://明牌开始隐藏隐藏
All_ani.mingpai.show(mingpaidonghua);
set_self(All_timer.mingpai,57,0,0,0);
break;
case All_timer.aset://小局显示
asetover();
set_self(All_timer.aset,57,0,0,0);
break;
case All_timer.feiji://飞机界面隐藏
for (var i = 0; i < 19; i++) {
set_self(id_config.feiji+i,37,0,0,0);
play_ani(1,id_config.feiji+i,0);
}
set_self(All_timer.feiji,57,0,0,0);
break;
case All_timer.huojian://火箭出烟
for (var i = 0; i < Public_data.data.maxman; i++) {
if (get_self(id_config.huojian+i,37,0,0,0) ==1) {
set_self(id_config.yan+i,37,1,0,0);
set_self(id_config.yan+i,18,id_config.yan_x[i],0,0);
play_ani(1,id_config.yan+i,43,0,8,0,1000,0,0,0,1,0,0);
break;
}
}
All_ani.zhuomian.show();
set_self(All_timer.huojian,57,0,0,0);
break;
case All_timer.zhuomian://桌面抖动
set_selfdiv('ifastgame',18,ifast_random(20)-10,0,0);
set_selfdiv('ifastgame',19,ifast_random(20)-10,0,0);
zmcs++;
if (zmcs==15)
{
zmcs = 0;
set_selfdiv('ifastgame',18,0,0,0);
set_selfdiv('ifastgame',19,0,0,0);
set_self(All_timer.zhuomian,57,0,0,0);
};
break;
case All_timer.zhadanzi://炸弹字
All_ani.zhadan.hide();
All_ani.wangzha.hide();
set_self(All_timer.zhadanzi,57,0,0,0);
break;
case All_timer.jiaofen://叫分结束
set_group(204,37,0,0,0);
jiabeixs();
clock(1); //时钟显示
dipaishu();
set_self(All_timer.jiaofen,57,0,0,0);
break;
case All_timer.wzsy://王炸音效结束
Utl.stopMusic();
Game_Config.soundList.MainSceneMusic = "00108.mp3";//王炸声音特效
Utl.playMusic();
set_self(All_timer.wzsy,57,0,0,0);
break;
}
}

View File

@@ -0,0 +1,235 @@
//点击事件
var Click = {
}
//在 gameabc_face.mouseup 中调用
Click.up = function (gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2){
click_up(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2);
if (spid_down == spid_up) {
Recovery.click(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2);
switch (spid_up){
case 149:
if (Public_data.data.stage == 2) {
for (var i = 0; i < id_config.hc_len[Utl.getMySeat()]; i++) {
if (get_self(id_config.car_start[0]+i,37,0,0,0) && get_self(id_config.car_start[0]+i,19,0,0,0) == id_config.sta_posi_y[0]-id_config.intervalh) {
set_self(id_config.car_start[0]+i,19,id_config.sta_posi_y[0],0,0);
}
}
paidz();
mpbs(1);
}
break;
case 1070:
if (pifu[0] < pifu[1].length-1) {
pifu[0] = pifu[0]+1;
}else{
pifu[0] = 0;
}
set_self(149,1,pifu[1][pifu[0]][0]);
Utl.setFontColor(1045,pifu[1][pifu[0]][1]);//色号
break;
case 1300:
kaifang(0);
cjfj(0);//创建房间界面显示
break;
case 1301:
kaifang(1);
cjfj(1);//创建房间界面显示
cls_method_jdb.bsdh_OpenCreateRoom(1308,400,723,1310,1309,1307,1312,game.config.gold[1],17,game.config.gold[0]);
break;
case 1090://加倍
Collect_Net.more(1)
break;
case 1091://不加倍
Collect_Net.more(0);
break;
case 1058://明牌
Collect_Net.mingpai();
break;
case id_config.but_putcard://出牌
Public_data.cards = []; //出牌
for (var i = 0; i < id_config.hc_len[Utl.getMySeat()]; i++) {
if (get_self(id_config.car_start[0]+i,19,0,0,0) == id_config.sta_posi_y[0]-id_config.intervalh && get_self(id_config.car_start[0]+i,37,0,0,0) == 1) {
Public_data.cards.push(Public_data.data.hand_cards[i]);
}
}
if (Public_data.cards.length) {
var put = true;
if (put) {//能出
Collect_Net.playcards();
}else{//不能出
set_self(id_config.put_err,37,1,0,0);
set_self(All_timer.put_err,57,3000,0,0);
}
}
break;
case id_config.but_pass://不要
Hand_card.ini_y();
Collect_Net.display();
paidz();
mpbs(1);
break;
case id_config.but_maxpass://要不起
Hand_card.ini_y();
Collect_Net.display();
paidz();
mpbs(1);
break;
case id_config.but_prompt://提示
if (Public_data.data.point_cards.length) {
Hand_card.ini_y();
for (var j = 0; j <Public_data.data.point_cards[game.tishi].length;j++) {
for (var i = 0; i <Public_data.data.hand_cards.length;i++) {
if (Public_data.data.hand_cards[i] == Public_data.data.point_cards[game.tishi][j]) {
set_self(id_config.car_start[0]+i,19,id_config.sta_posi_y[0]-id_config.intervalh,0,0);
break;
}
}
}
paidz();//出牌上地主显示
mpbs(1);
game.tishi++;
if (game.tishi>=Public_data.data.point_cards.length) {
game.tishi = 0;
}
}
break;
case id_config.trus://托管
Collect_Net.help_play(1);
break;
case id_config.trus_cancel://取消托管
Collect_Net.help_play(0);
break;
case 1814://明牌准备
if (Public_data.data.end == 1) {
Collect_Net.ready(1);
} else {
endover();
}
break;
case 1815://准备
if (Public_data.data.end == 1) {
Collect_Net.ready(0);
} else {
endover();
}
break;
case 1071://查看大局
endover();
break;
case 1933://关闭大局结算
Public_data.Initialization();
UI.hide();
All_ani.hide();
All_timer.hide();
Utl.Exit();
break;
case 1941://分享
Func.sharefinend(1,2,'','','',[1906,1907,1908]);
break;
case 1073://换桌
Utl.sendChangeRoom();
break;
case 1074://退出
//Func.sharefinend(1,2,'','','',[1906,1907,1908]);
break;
case 1075://返回牌桌
fanhuipaizhuo();
break;
case 1077://明牌准备
Collect_Net.ready(1);
break;
case 1076://准备
Collect_Net.ready(0);
break;
case 1079://查看大局
endover();
break;
}
if (spid_up>=1050 && spid_up<=1053) {//叫分
Collect_Net.lootbanket(ifast_abs(1050-spid_up));
//click_up(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2);//特效
}
if (spid_up>=1059 && spid_up<=1061) {//错误提示
set_self(id_config.put_err,37,0,0,0);
set_self(id_config.txt_di,37,0,0,0);
set_self(id_config.pass_prompt,37,0,0,0);
}
}
//弹起
if (Public_data.select.length) {//根据选中牌进行操作
Hand_card.click_up();
}
}
//在 gameabc_face.mousedown 中调用
Click.down = function(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2){
//按下
click_down(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2);
Recovery.clickdown(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2);
//手牌选中
Hand_card.handcard_down(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2);
}
//在 gameabc_face.mousemove 中调用
Click.mousemove = function(gameid, spid, downx, downy, movex,movey ,timelong,offmovex, offmovey, no1){
//手牌滑动
if (spid >= id_config.car_start[0] && spid < id_config.car_start[0] + id_config.hc_len[Utl.getMySeat()]) {
Hand_card.handcard_move(gameid, spid, downx, downy, movex,movey ,timelong,offmovex, offmovey, no1);
}
}

View File

@@ -0,0 +1,136 @@
//收包
//在Game_Modify._ReceiveData 中调用
var Col_net = function(_msg){
switch (_msg.rpc){
case 'begin':
Public_data.begin(_msg);
UI.begin.show();
break;
case 'dealcard':
//发牌
Public_data.dealcard(_msg);
UI.dealcard.show();
break;
case 'lootbanket':
//下注
Public_data.lootbanket(_msg);
UI.lootbanket.show();
break;
case 'more':
//加倍
Public_data.more(_msg);
UI.more.show();
break;
case 'mingpai':
//明牌
Public_data.mingpai(_msg);
UI.mingpai.show();
break;
case 'playcards':
//出牌
Public_data.playcards(_msg);
UI.playcards.show();
break;
case 'display':
//不要
Public_data.display(_msg);
UI.display.show();
break;
case 'aset':
//小局
Public_data.aset(_msg);
UI.aset.show();
break;
//case 'end':
//大局
//Public_data.end(_msg);
//UI.end.show();
//break;
case 'ready':
//准备
Public_data.ready(_msg);
UI.ready.show();
break;
case 'help_play':
//托管
Public_data.help_play(_msg);
UI.help_play.show();
break;
case 'jqrzb':
//机器人准备
Infinite.robot_ready(_msg.data.zbwj);
break;
case 'tichu':
switch (_msg.data.type){
case 1:
Utl.openTips("您的"+Utl.getstarName()+"不够,去其他房间看看吧!");
break;
case 2:
Utl.openTips("您因长时间未准备,已被系统请出房间");
break;
case 3:
Utl.openTips("有玩家"+Utl.getstarName()+"不够,本局结束!");
break;
}
break;
case 'gold_zb':
Infinite.robot_ready(_msg.data.zbwj);
for(var i= 0;i < Public_data.data.maxman;i++){
if (_msg.data.mp_zt[i] == 1 && _msg.data.zbwj[Utl.getMySeat()] == 0) {
set_self(1814,41,0,0,0);
set_self(1814,35,100,0,0);
break;
}
}
if (_msg.data.zbwj[Utl.getMySeat()] == 1) {
set_group(251,37,0,0,0);
set_group(201,37,0,0,0);
set_group(202,37,0,0,0);
set_group(203,37,0,0,0);
set_group(205,37,0,0,0);
set_group(210,37,0,0,0);
set_group(211,37,0,0,0);
set_self(1076,37,0,0,0);
set_self(1077,37,0,0,0);
set_self(1079,37,0,0,0);
set_self(1078,37,0,0,0);
clock(0);
mpbs(0);//明牌标识
}
break;
}
}

View File

@@ -0,0 +1,93 @@
//发包
var Collect_Net = {
game_name : "doudizhu" //游戏名
}
Collect_Net.Package = function(_rpc,_data){
//发包函数
var data = _data;
data.agentid = Utl.getAgentID();//代理商ID
data.playerid = Utl.getMyPlayerid();//玩家playid
data.gameid = Utl.getGameID(),//游戏id
data.roomcode = Utl.getRoomcode();//获得房间号
data.seat = Utl.getMySeat();//获取玩家座位号
Utl.sendData("youle", Collect_Net.game_name, _rpc, data);
}
Collect_Net.lootbanket = function(s){
//下分抢庄
var _data = {
score : s
}
Collect_Net.Package("lootbanket",_data);
}
Collect_Net.more = function(m){
//加倍
var _data = {
more : m
}
Collect_Net.Package("more",_data);
}
Collect_Net.mingpai = function(m){
//明牌
var _data = {
}
Collect_Net.Package("mingpai",_data);
}
Collect_Net.playcards = function(){
//出牌
var _data = {
cards : Public_data.cards,
caozuo : Public_data.data.caozuo
}
Collect_Net.Package("playcards",_data);
}
Collect_Net.display = function(){
//不出
var _data = {
caozuo : Public_data.data.caozuo
}
Collect_Net.Package("display",_data);
}
Collect_Net.help_play = function(type){
//托管
var _data = {
tuoguan : type
}
Collect_Net.Package("help_play",_data);
}
Collect_Net.ready = function(m){
//准备
var _data = {
mingpai : m
}
Collect_Net.Package("ready",_data);
}

View File

@@ -0,0 +1,450 @@
var Hand_card = {};
Hand_card.sort = function(seat,hand_cards){
//手牌摆放
if (seat == Utl.getMySeat()) {
for (var i = 0;i < id_config.hc_len[Utl.getMySeat()]; i++) {
if (id_config.put_posi_y[0] == get_self(id_config.car_start[seat]+i,19,0,0,0)) {
set_self(id_config.car_start[0]+i,19,id_config.sta_posi_y[0],0,0);
}
set_self(id_config.car_start[0]+i,37,0,0,0);
}
}
if (id_config.car_position[Utl.changeToStatus(seat)] == 0) {//左边
Hand_card.sortleft(Utl.changeToStatus(seat),hand_cards);
}else if (id_config.car_position[Utl.changeToStatus(seat)] == 1) {// 中间
Hand_card.sortin(Utl.changeToStatus(seat),hand_cards);
}else if (id_config.car_position[Utl.changeToStatus(seat)] == 2) {//右边
Hand_card.sortright(Utl.changeToStatus(seat),hand_cards);
}
};
Hand_card.ani = function(type){
//显示手牌
//第一张牌的x坐标
if (Public_data.data.hand_cards.length%2) {//单数
var anix = id_config.sta_posi_x[0] - (id_config.car_intervalx[0] * ((Public_data.data.hand_cards.length-1)/2));
}else{//双数
var anix = id_config.sta_posi_x[0] - (id_config.car_intervalx[0] * (Public_data.data.hand_cards.length/2)) + id_config.car_intervalx[0]/2;
}
for (var i = 0;i < id_config.hc_len[Utl.getMySeat()]; i++) {
if (i < Public_data.data.hand_cards.length) {
set_self(id_config.car_start[0]+i,43,Public_data.data.hand_cards[i]%54+1,0,0);
}
set_self(id_config.car_start[0]+i,18,anix,0,0);
set_self(id_config.car_start[0]+i,37,0,0,0);
}
}
Hand_card.show = function(type){
//显示手牌
for (var i = 0;i < Public_data.data.hand_cards.length; i++) {
set_self(id_config.car_start[0]+i,37,type,0,0);
}
}
Hand_card.ini_y = function(type){
//手牌y重置
for (var i = 0; i < id_config.hc_len[Utl.getMySeat()]; i++) {
if (get_self(id_config.car_start[0]+i,37,0,0,0)) {
set_self(id_config.car_start[0]+i,19,id_config.sta_posi_y[0],0,0);
}
}
}
Hand_card.ini = function(){
//牌位置初始化
//第一张牌的x坐标
if (Public_data.data.hand_cards.length%2) {//单数
set_self(id_config.car_start[0],18,id_config.sta_posi_x[0] - (id_config.car_intervalx[0] * ((id_config.hc_len[Utl.getMySeat()]-1)/2)),0,0);
}else{//双数
set_self(id_config.car_start[0],18,id_config.sta_posi_x[0] - (id_config.car_intervalx[0] * (id_config.hc_len[Utl.getMySeat()]/2)) + id_config.car_intervalx[0]/2,0,0);
}
for (var i = 0;i < id_config.hc_len[Utl.getMySeat()]; i++) {
//sta_posi_x 初始x car_intervalx 间距
set_self(id_config.car_start[0]+i,18,get_self(id_config.car_start[0],18,0,0,0)+id_config.car_intervalx[0]*i,0,0);
set_self(id_config.car_start[0]+i,19,id_config.sta_posi_y[0],0,0);
set_self(id_config.car_start[0]+i,20,id_config.wide[0],0,0);
set_self(id_config.car_start[0]+i,21,id_config.high[0],0,0);
set_self(id_config.car_start[0]+i,37,0,0,0);
}
}
Hand_card.sortleft = function(seat,hand_cards){//左边排位子
for (var i = 0;i < hand_cards.length; i++) {
if (i>=id_config.car_len[seat]) {
//sta_posi_x 初始x car_intervalx 间距
set_self(id_config.car_start[seat]+i,18,id_config.sta_posi_x[seat]+id_config.car_intervalx[seat]*(i-id_config.car_len[seat]),0,0);
set_self(id_config.car_start[seat]+i,19,id_config.sta_posi_y[seat]+id_config.car_intervaly[seat],0,0);
set_self(id_config.car_start[seat]+i,20,id_config.wide[seat],0,0);
set_self(id_config.car_start[seat]+i,21,id_config.high[seat],0,0);
set_self(id_config.car_start[seat]+i,43,hand_cards[i]%54+1,0,0);
set_self(id_config.car_start[seat]+i,37,1,0,0);
}else{
//sta_posi_x 初始x car_intervalx 间距
set_self(id_config.car_start[seat]+i,18,id_config.sta_posi_x[seat]+id_config.car_intervalx[seat]*i,0,0);
set_self(id_config.car_start[seat]+i,19,id_config.sta_posi_y[seat],0,0);
set_self(id_config.car_start[seat]+i,20,id_config.wide[seat],0,0);
set_self(id_config.car_start[seat]+i,21,id_config.high[seat],0,0);
set_self(id_config.car_start[seat]+i,43,hand_cards[i]%54+1,0,0);
set_self(id_config.car_start[seat]+i,37,1,0,0);
}
}
};
Hand_card.sortright = function(seat,hand_cards){//右边排位子
//第一张牌的x坐标
if (hand_cards.length<=id_config.car_len[seat]) {
set_self(id_config.car_start[seat],18,id_config.sta_posi_x[seat] - (id_config.car_intervalx[seat] * (hand_cards.length-1)),0,0);
} else {
set_self(id_config.car_start[seat],18,id_config.sta_posi_x[seat] - (id_config.car_intervalx[seat] * 9),0,0);
}
for (var i = 0;i < hand_cards.length; i++) {
if (i>=id_config.car_len[seat]) {
var diyix = id_config.sta_posi_x[seat] - (id_config.car_intervalx[seat] * (hand_cards.length-11));
//sta_posi_x 初始x car_intervalx 间距
set_self(id_config.car_start[seat]+i,18,diyix+id_config.car_intervalx[seat]*(i-id_config.car_len[seat]),0,0);
set_self(id_config.car_start[seat]+i,19,id_config.sta_posi_y[seat]+id_config.car_intervaly[seat],0,0);
set_self(id_config.car_start[seat]+i,20,id_config.wide[seat],0,0);
set_self(id_config.car_start[seat]+i,21,id_config.high[seat],0,0);
set_self(id_config.car_start[seat]+i,43,hand_cards[i]%54+1,0,0);
set_self(id_config.car_start[seat]+i,37,1,0,0);
}else{
//sta_posi_x 初始x car_intervalx 间距
set_self(id_config.car_start[seat]+i,18,get_self(id_config.car_start[seat],18,0,0,0)+id_config.car_intervalx[seat]*i,0,0);
set_self(id_config.car_start[seat]+i,19,id_config.sta_posi_y[seat],0,0);
set_self(id_config.car_start[seat]+i,20,id_config.wide[seat],0,0);
set_self(id_config.car_start[seat]+i,21,id_config.high[seat],0,0);
set_self(id_config.car_start[seat]+i,43,hand_cards[i]%54+1,0,0);
set_self(id_config.car_start[seat]+i,37,1,0,0);
}
}
};
Hand_card.sortin = function(seat,hand_cards){//中间排位子
//第一张牌的x坐标
if (hand_cards.length%2) {//单数
set_self(id_config.car_start[seat],18,id_config.sta_posi_x[seat] - (id_config.car_intervalx[seat] * ((hand_cards.length-1)/2)),0,0);
}else{//双数
set_self(id_config.car_start[seat],18,id_config.sta_posi_x[seat] - (id_config.car_intervalx[seat] * (hand_cards.length/2)) + id_config.car_intervalx[seat]/2,0,0);
}
for (var i = 0;i < hand_cards.length; i++) {
//sta_posi_x 初始x car_intervalx 间距
set_self(id_config.car_start[seat]+i,18,get_self(id_config.car_start[seat],18,0,0,0)+id_config.car_intervalx[seat]*i,0,0);
set_self(id_config.car_start[seat]+i,19,id_config.sta_posi_y[seat],0,0);
set_self(id_config.car_start[seat]+i,20,id_config.wide[seat],0,0);
set_self(id_config.car_start[seat]+i,21,id_config.high[seat],0,0);
set_self(id_config.car_start[seat]+i,43,hand_cards[i]%54+1,0,0);
set_self(id_config.car_start[seat]+i,37,1,0,0);
}
};
var Putcards = {};
Putcards.sort = function(){//打牌排位子
//出牌摆放
for (var i = 0; i < Public_data.data.maxman ;i ++) {
if (Public_data.data.playerlist[0][i] == 1 || Public_data.data.playerlist[0][i] == 3) {
if (Public_data.data.dealid[i].length) {
if (id_config.car_position[Utl.changeToStatus(i)] == 0) {//左边
Putcards.sortleft(i);
}else if (id_config.car_position[Utl.changeToStatus(i)] == 1) {//中间
Putcards.sortin(i);
}else if (id_config.car_position[Utl.changeToStatus(i)] == 2) {//右边
Putcards.sortright(i);
}
set_self(id_config.pass_id + Utl.changeToStatus(i),37,0,0,0);
}
}else if (Public_data.data.playerlist[0][i] == 2) {
set_self(id_config.pass_id + Utl.changeToStatus(i),37,1,0,0);
Putcards.hide(i);
}else if (Public_data.data.playerlist[0][i] == 4) {
set_self(id_config.pass_id + Utl.changeToStatus(i),37,0,0,0);
for(var j = 0;j < id_config.hc_len[Utl.getMySeat()]; j++){
set_self(id_config.car_start[Utl.changeToStatus(i)] + j,37,0,0,0);
}
}else if (Public_data.data.playerlist[0][i] == -1) {
set_self(id_config.pass_id + Utl.changeToStatus(i),37,0,0,0);
Putcards.hide(i);
}
}
};
Putcards.hide = function(seat){
//隐藏出牌
for (var i = 0;i<id_config.hc_len[seat];i++) {
if (get_self(i+id_config.car_start[Utl.changeToStatus(seat)],19,0,0,0) == id_config.put_posi_y[Utl.changeToStatus(seat)]) {
set_self(id_config.car_start[Utl.changeToStatus(seat)]+i,37,0,0,0);
}
}
};
Putcards.sortleft = function(seat){//左边排位子
//第一张牌的id
var cardid = id_config.car_start[Utl.changeToStatus(seat)] + id_config.hc_len[seat] - Public_data.data.dealid[seat].length;
for (var i = 0;i < Public_data.data.dealid[seat].length; i++) {
if (i>=Public_data.data.dealid[seat].length) {
//put_posi_x 初始x put_intervalx 间距
set_self(cardid+i,18,id_config.put_posi_x[Utl.changeToStatus(seat)]+id_config.put_intervalx[Utl.changeToStatus(seat)]*(i-id_config.put_len[seat]),0,0);
set_self(cardid+i,19,id_config.put_posi_y[Utl.changeToStatus(seat)]+id_config.put_intervaly[seat],0,0);
set_self(cardid+i,20,id_config.put_wide[Utl.changeToStatus(seat)],0,0);
set_self(cardid+i,21,id_config.put_high[Utl.changeToStatus(seat)],0,0);
set_self(cardid+i,43,Public_data.data.dealid[seat][i]%54+1,0,0);
set_self(cardid+i,37,1,0,0);
}else{
//put_posi_x 初始x put_intervalx 间距
set_self(cardid+i,18,id_config.put_posi_x[Utl.changeToStatus(seat)]+id_config.put_intervalx[Utl.changeToStatus(seat)]*i,0,0);
set_self(cardid+i,19,id_config.put_posi_y[Utl.changeToStatus(seat)],0,0);
set_self(cardid+i,20,id_config.put_wide[Utl.changeToStatus(seat)],0,0);
set_self(cardid+i,21,id_config.put_high[Utl.changeToStatus(seat)],0,0);
set_self(cardid+i,43,Public_data.data.dealid[seat][i]%54+1,0,0);
set_self(cardid+i,37,1,0,0);
}
}
};
Putcards.sortright = function(seat){//右边排位子
//第一张牌的id
var cardid = id_config.car_start[Utl.changeToStatus(seat)] + id_config.hc_len[seat] - Public_data.data.dealid[seat].length;
//第一张牌的x坐标
set_self(cardid,18,id_config.put_posi_x[Utl.changeToStatus(seat)] - id_config.put_intervalx[Utl.changeToStatus(seat)] * (Public_data.data.dealid[seat].length-1),0,0);
for (var i = 0;i < Public_data.data.dealid[seat].length; i++) {
if (i>=Public_data.data.dealid[seat].length) {
var diyix = id_config.car_start[Utl.changeToStatus(seat)] - (id_config.put_intervalx[Utl.changeToStatus(seat)] * (Public_data.data.dealid[seat].length-11));
//sta_posi_x 初始x car_intervalx 间距
set_self(cardid+i,18,get_self(cardid,18)+id_config.put_intervalx[Utl.changeToStatus(seat)]*(i-id_config.put_len[seat]),0,0);
set_self(cardid+i,19,id_config.put_posi_y[Utl.changeToStatus(seat)]+id_config.put_intervaly[seat],0,0);
set_self(cardid+i,20,id_config.put_wide[Utl.changeToStatus(seat)],0,0);
set_self(cardid+i,21,id_config.put_high[Utl.changeToStatus(seat)],0,0);
set_self(cardid+i,43,Public_data.data.dealid[seat][i]%54+1,0,0);
set_self(cardid+i,37,1,0,0);
}else{
//sta_posi_x 初始x car_intervalx 间距
set_self(cardid+i,18,get_self(cardid,18)+id_config.put_intervalx[Utl.changeToStatus(seat)]*i,0,0);
set_self(cardid+i,19,id_config.put_posi_y[Utl.changeToStatus(seat)],0,0);
set_self(cardid+i,20,id_config.put_wide[Utl.changeToStatus(seat)],0,0);
set_self(cardid+i,21,id_config.put_high[Utl.changeToStatus(seat)],0,0);
set_self(cardid+i,43,Public_data.data.dealid[seat][i]%54+1,0,0);
set_self(cardid+i,37,1,0,0);
}
}
};
Putcards.sortin = function(seat){//中间排位子
//第一张牌的id
var cardid = id_config.car_start[Utl.changeToStatus(seat)] + id_config.hc_len[seat] - Public_data.data.dealid[seat].length;
//第一张牌的x坐标
if (Public_data.data.dealid.length%2) {//单数
set_self(cardid,18,id_config.put_posi_x[Utl.changeToStatus(seat)] - (id_config.put_intervalx[Utl.changeToStatus(seat)] * ((Public_data.data.dealid[seat].length - 1)/2)),0,0);
}else{//双数
set_self(cardid,18,id_config.put_posi_x[Utl.changeToStatus(seat)] - (id_config.put_intervalx[Utl.changeToStatus(seat)] * (Public_data.data.dealid[seat].length/2)) + id_config.put_intervalx[Utl.changeToStatus(seat)]/2,0,0);
}
for (var i = 0;i < Public_data.data.dealid[seat].length; i++) {
//sta_posi_x 初始x car_intervalx 间距
set_self(cardid+i,18,get_self(cardid,18)+id_config.put_intervalx[Utl.changeToStatus(seat)]*i,0,0);
set_self(cardid+i,19,id_config.put_posi_y[Utl.changeToStatus(seat)],0,0);
set_self(cardid+i,20,id_config.put_wide[Utl.changeToStatus(seat)],0,0);
set_self(cardid+i,21,id_config.put_high[Utl.changeToStatus(seat)],0,0);
set_self(cardid+i,43,Public_data.data.dealid[seat][i]%54+1,0,0);
set_self(cardid+i,37,1,0,0);
}
};
Putcards.yinchang = function(seat){//打牌隐藏
for (var i =0;i<id_config.hc_len[seat];i++) {
if (get_self(id_config.car_start[seat]+i,19,0,0,0) == id_config.put_posi_y[seat]) {
set_self(id_config.car_start[seat]+i,37,0,0,0);
}
}
};
Hand_card.click = function(gameid, spid, downx, downy, spid_up, upx, upy, timelong, no1, no2){
var y_up = id_config.sta_posi_y - id_config.intervalh; //点击后牌的y坐标
var y_down = id_config.sta_posi_y; //点击前牌的y坐标
if (get_self(spid,19,0,0,0)==y_up) {
set_self(spid,19,y_down,0,0);
}
else if (get_self(spid,19,0,0,0)==y_down){
set_self(spid,19,y_up,0,0);
}
if(id_config.but_id){
for (var i =0;i<id_config.hc_len[Utl.getMySeat()];i++) {
if (get_self(i+id_config.car_start[0],19,0,0,0)==y_up) {
set_self(id_config.but_id,41,1,0,0);
set_self(id_config.but_id,35,255,0,0);
break;
}else{
set_self(id_config.but_id,41,0,0,0);
set_self(id_config.but_id,35,100,0,0);
}
}
}
}
Hand_card.click_up = function(){
//选中牌后弹起时调用
var y_up = id_config.sta_posi_y[0] - id_config.intervalh; //点击后牌的y坐标
var y_down = id_config.sta_posi_y[0]; //点击前牌的y坐标
for(var i = 0; i < id_config.hc_len[Utl.getMySeat()]; i++){
set_self(id_config.mask+i,37,0,0,0);//隐藏遮罩
}
for (var i = 0; i < Public_data.select.length; i++) {
if (get_self(Public_data.select[i],19,0,0,0)==y_down) {
set_self(Public_data.select[i],19,y_up,0,0);
}
else if(get_self(Public_data.select[i],19,0,0,0)==y_up){
set_self(Public_data.select[i],19,y_down,0,0);
}
}
paidz();
mpbs(1);
if(id_config.but_id){
for (var i =0;i<id_config.hc_len[Utl.getMySeat()];i++) {
if (get_self(i+id_config.car_start[0],19,0,0,0)==y_up) {
set_self(id_config.but_id,41,1,0,0);
set_self(id_config.but_id,35,255,0,0);
break;
}else{
set_self(id_config.but_id,41,0,0,0);
set_self(id_config.but_id,35,100,0,0);
}
}
}
Public_data.select = [];
Public_data.clickid = 0;
Public_data.clickiniid = 0;
}
Hand_card.outmove = function(gameid, spid, downx, downy, movex,movey ,timelong,offmovex, offmovey, no1){
for(var i = 0; i < id_config.hc_len[Utl.getMySeat()]; i++){
set_self(id_config.mask+i,37,0,0,0);//隐藏遮罩
}
Public_data.select = []//选中牌清空
Public_data.clickid = gameabc_check_click(movex,movey);
if(Public_data.clickiniid < Public_data.clickid){//往右边移了
for(var i = 0; i < id_config.hc_len[Utl.getMySeat()]; i++){
if (id_config.car_start[0]+i >= Public_data.clickiniid && id_config.car_start[0]+i <= Public_data.clickid) {
set_self(id_config.mask+i,37,1,0,0);
set_self(id_config.mask+i,19,get_self(id_config.car_start[0]+i,19),0,0);
set_self(id_config.mask+i,18,get_self(id_config.car_start[0]+i,18),0,0);
Public_data.select.push(id_config.car_start[0]+i);
}
}
}else if (Public_data.clickiniid > Public_data.clickid) {//往左边移了
for(var i = 0; i < id_config.hc_len[Utl.getMySeat()]; i++){
if (id_config.car_start[0]+i <= Public_data.clickiniid && id_config.car_start[0]+i >= Public_data.clickid) {
set_self(id_config.mask+i,37,1,0,0);
set_self(id_config.mask+i,19,get_self(id_config.car_start[0]+i,19),0,0);
set_self(id_config.mask+i,18,get_self(id_config.car_start[0]+i,18),0,0);
Public_data.select.push(id_config.car_start[0]+i);
}
}
}else{//还在这张牌
Public_data.select = [Public_data.clickiniid];
set_self(id_config.mask+(Public_data.select-id_config.car_start[0]),37,1,0,0);
set_self(id_config.mask+(Public_data.select-id_config.car_start[0]),19,get_self(id_config.car_start[0]+(Public_data.select-id_config.car_start[0]),19),0,0);
set_self(id_config.mask+(Public_data.select-id_config.car_start[0]),18,get_self(id_config.car_start[0]+(Public_data.select-id_config.car_start[0]),18),0,0);
}
}
Hand_card.handcard_move = function(gameid, spid, downx, downy, movex,movey ,timelong,offmovex, offmovey, no1){
//手牌滑动
if (Public_data.select.length &&( gameabc_check_click(movex,movey) < id_config.car_start[0] || gameabc_check_click(movex,movey) >= id_config.car_start[0] + id_config.hc_len[Utl.getMySeat()])) {
Public_data.outmove = 1;
}
for (var i = 0;i<id_config.hc_len[Utl.getMySeat()];i++) {
if(Public_data.outmove == 0){//没出去过
if (gameabc_check_click(movex,movey)== i+id_config.car_start[0] && get_self(i+id_config.car_start[0],37) &&
(get_self(gameabc_check_click(movex,movey),19) == id_config.sta_posi_y[0] || get_self(gameabc_check_click(movex,movey),19) == id_config.sta_posi_y[0] - id_config.intervalh)) {
if(Public_data.clickid != gameabc_check_click(movex,movey)){
if(get_self(id_config.mask+i,37) == 0){//遮罩是隐藏的
//显示遮罩 添加选中
//Hand_card.mousemove (gameid, spid, downx, downy, movex,movey ,timelong,offmovex, offmovey, no1);//手牌滑动
set_self(id_config.mask+i,37,1,0,0);
set_self(id_config.mask+i,19,get_self(id_config.car_start[0]+i,19),0,0);
set_self(id_config.mask+i,18,get_self(id_config.car_start[0]+i,18),0,0);
Public_data.select.push(gameabc_check_click(movex,movey));
Public_data.clickid = gameabc_check_click(movex,movey);
}else{
if(Public_data.clickid > gameabc_check_click(movex,movey)){
//隐藏遮罩删除选中
set_self(id_config.mask+i+1,37,0,0,0);
Public_data.select.splice(Public_data.select.length-1,1);
Public_data.clickid = gameabc_check_click(movex,movey);
}else{
//隐藏遮罩删除选中
set_self(id_config.mask+i-1,37,0,0,0);
Public_data.select.splice(Public_data.select.length-1,1);
Public_data.clickid = gameabc_check_click(movex,movey);
}
}
}
}
}else if (Public_data.outmove == 1 && gameabc_check_click(movex,movey) >= id_config.car_start[0] && gameabc_check_click(movex,movey) < id_config.car_start[0] + id_config.hc_len[Utl.getMySeat()] &&
(get_self(gameabc_check_click(movex,movey),19) == id_config.sta_posi_y[0] || get_self(gameabc_check_click(movex,movey),19) == id_config.sta_posi_y[0] - id_config.intervalh)) {
Hand_card.outmove(gameid, spid, downx, downy, movex,movey ,timelong,offmovex, offmovey, no1);//移动到外面去了
}
}
}
Hand_card.handcard_down = function(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2){
//手牌选中
for(var i = 0;i<id_config.hc_len[Utl.getMySeat()];i++){
if (spid_down == id_config.car_start[0]+i&&(get_self(spid_down,19) == id_config.sta_posi_y[0] || get_self(spid_down,19) == id_config.sta_posi_y[0] - id_config.intervalh)) {
Public_data.select.push(spid_down);
Public_data.clickid = spid_down;
Public_data.clickiniid = spid_down;
set_self(id_config.mask+i,37,1,0,0);
set_self(id_config.mask+i,19,get_self(id_config.car_start[0]+i,19),0,0);
set_self(id_config.mask+i,18,get_self(id_config.car_start[0]+i,18),0,0);
break;
}
}
}

View File

@@ -0,0 +1,300 @@
//接收数据
Public_data.begin = function(_msg){
//开始
aset = cls_doudizhu_aset.New();//创建牌桌
for (var i = 0; i < aset.cardlist.length; i++) {
if (cls_doudizhu_card.GetNumber(aset.cardlist[i]) == 1) {
cls_doudizhu_card.SetArithN(aset.cardlist[i],14);
} else if (cls_doudizhu_card.GetNumber(aset.cardlist[i]) == 2){
cls_doudizhu_card.SetArithN(aset.cardlist[i],16);
}
}
Public_data.Initialization(); //初始化
Public_data.data.roomtype = _msg.data.roomtype; //房间类型
Public_data.data.num = _msg.data.num; //局数
Public_data.data.tuoguan = _msg.data.tuoguan; //托管
Public_data.data.maxman = _msg.data.maxman; //最大人数
Public_data.data.grade = _msg.data.grade; //总分
Public_data.data.gold_score = _msg.data.gold_score; //房卡房金币场的总分
Public_data.data.gold = _msg.data.gold; //实时金币数
Public_data.data.stage = _msg.data.stage; //当前阶段
Public_data.data.playerlist = _msg.data.playerlist; //玩家状态
config_carlen();//设置牌长度
cards_interval();//设置牌间距
}
Public_data.dealcard = function(_msg){
//发牌
Public_data.data.hand_cards = _msg.data.hand_cards; //手牌
Public_data.data.hand_cards = cls_doudizhu_card.SortCardList(cls_doudizhu_aset.CardIdsToCards(aset,Public_data.data.hand_cards)
,[1,3]);
Public_data.data.hand_cards = cls_doudizhu_aset.CardsToCardIds(Public_data.data.hand_cards);
Public_data.data.control = _msg.data.control; //当前叫分控制权
Public_data.data.rest = _msg.data.rest; //剩余牌数量
Public_data.data.stage = _msg.data.stage; //当前阶段
Public_data.data.mp_zt = _msg.data.mp_zt; //明牌状态
Public_data.data.team_cards = _msg.data.team_cards; //明牌id
mppx();
Public_data.data.bei = _msg.data.bei; //当前倍数
Public_data.data.down_score = _msg.data.down_score; //底分
}
Public_data.lootbanket = function(_msg){
//抢庄
Public_data.data.playerlist = _msg.data.playerlist; //玩家状态
Public_data.data.down_score = _msg.data.down_score; //当前底分
Public_data.data.control = _msg.data.control; //当前叫分控制权
Public_data.data.stage = _msg.data.stage; //当前阶段
Public_data.data.banker = _msg.data.banker; //庄
Public_data.data.undercards = _msg.data.undercards; //底牌
game.seat = _msg.data.seat; //操作的人
Public_data.data.bei = _msg.data.bei; //当前倍数
Public_data.data.di_bei = _msg.data.di_bei; //底牌倍数
Public_data.data.team_cards = _msg.data.team_cards; //明牌id
Public_data.data.rest = _msg.data.rest; //剩余牌数量
mppx();
if(Public_data.data.banker == Utl.getMySeat()){
Public_data.data.hand_cards = _msg.data.hand_cards; //手牌
Public_data.data.hand_cards = cls_doudizhu_card.SortCardList(cls_doudizhu_aset.CardIdsToCards(aset,Public_data.data.hand_cards)
,[1,3]);
Public_data.data.hand_cards = cls_doudizhu_aset.CardsToCardIds(Public_data.data.hand_cards);
}
}
Public_data.more = function(_msg){
//加倍
Public_data.data.playerlist = _msg.data.playerlist; //玩家状态
Public_data.data.bei = _msg.data.bei; //当前倍数
game.seat = _msg.data.seat; //操作的人
}
Public_data.mingpai = function(_msg){
//明牌
Public_data.data.team_cards = _msg.data.team_cards; //明牌id
Public_data.data.bei = _msg.data.bei; //当前倍数
game.seat = _msg.data.seat; //操作的人
Public_data.data.mp_zt = _msg.data.mp_zt; //明牌状态
mppx();
}
Public_data.playcards = function(_msg){
//出牌
Public_data.data.stage = _msg.data.stage; //当前阶段
Public_data.data.jieguo = _msg.data.jieguo; //结果 1能出 0不能出
game.seat = _msg.data.seat; //出牌的座位号
Public_data.data.cardtype = _msg.data.cardtype; //牌型
Public_data.data.control = _msg.data.control; //当前控制权
Public_data.data.dealid = _msg.data.dealid; //所有人出的牌
Public_data.data.playerlist = _msg.data.playerlist; //玩家状态
Public_data.data.rest = _msg.data.rest; //剩余牌数量
Public_data.data.maxplayer = _msg.data.maxplayer; //当前最大出牌人
Public_data.data.end = _msg.data.end; //2是大局
Public_data.data.point_cards = _msg.data.point_cards ; //提示牌型
Public_data.data.bei = _msg.data.bei; //当前倍数
Public_data.data.caozuo = _msg.data.caozuo; //出牌次数
Public_data.data.winner = _msg.data.winner; //谁赢了
Public_data.data.team_cards = _msg.data.team_cards; //明牌id
if(game.seat == Utl.getMySeat() && Public_data.data.jieguo == 1){
if (Public_data.data.caozuo > 0) {
button_show(0);
putcard_ani(_msg);//手牌动画
mpbs(0);//明牌标识
//set_self(1021,37,0,0,0);
}
}
mppx();
game.tishi = 0;
//Public_data.data.cardtype = [[4,1],[],12]; //牌型
}
Public_data.display = function(_msg){
//不出
Public_data.data.stage = _msg.data.stage; //当前阶段
game.seat = _msg.data.seat; //出牌的座位号
Public_data.data.playerlist = _msg.data.playerlist; //玩家状态
Public_data.data.caozuo = _msg.data.caozuo; //出牌次数
Public_data.data.dealid = _msg.data.dealid; //所有人出的牌
Public_data.data.control = _msg.data.control; //当前控制权
Public_data.data.maxplayer = _msg.data.maxplayer; //当前最大出牌人
Public_data.data.cardtype = _msg.data.cardtype; //牌型
Public_data.data.point_cards = _msg.data.point_cards ; //提示牌型
game.tishi = 0;
}
Public_data.aset = function(_msg){
//小局
Public_data.data.stage = _msg.data.stage; //当前阶段
Public_data.data.bj_score = _msg.data.bj_score; //本局得分
Public_data.data.rest_cards = _msg.data.rest_cards; //剩余牌id
Public_data.data.winner = _msg.data.winner; //谁赢了
Public_data.data.end = _msg.data.end; //2是大局
Public_data.data.grade = _msg.data.grade; //总分
Public_data.data.gold_score = _msg.data.gold_score; //房卡房金币场的总分
Public_data.data.gold = _msg.data.gold; //实时金币数
game.shijian = _msg.data.shijian; //大局结算时间
Public_data.data.mp_zt = _msg.data.mp_zt; //明牌状态
Public_data.data.chuntian = _msg.data.chuntian; //春天
}
Public_data.ready = function(_msg){
//准备
Public_data.data.playerlist = _msg.data.playerlist; //玩家状态
Public_data.data.seat = _msg.data.seat; //出牌的座位号
Public_data.data.mp_zt = _msg.data.mp_zt; //明牌状态
}
Public_data.help_play = function(_msg){
//托管
Public_data.data.tuoguan = _msg.data.tuoguan; //托管
}
Public_data.aset_recovery = function(_msg){
//小局回放
Public_data.data.bj_score = _msg.data.gameinfo2.pjhf[dijiju][_msg.data.gameinfo2.pjhf[dijiju].length-1][0]; //本局得分
Public_data.data.winner = _msg.data.gameinfo2.pjhf[dijiju][_msg.data.gameinfo2.pjhf[dijiju].length-1][3]; //谁赢了
Public_data.data.di_bei = _msg.data.gameinfo2.di_bei[dijiju]; //底牌倍数
Public_data.data.banker = _msg.data.gameinfo2.banker[dijiju]; //庄
Public_data.data.bei = _msg.data.gameinfo2.bei[dijiju]; //当前倍数
Public_data.data.down_score = _msg.data.gameinfo2.down_score[dijiju]; //底分
}
Public_data.Recovery = function(){
//回放
//Public_data.recovery.pjhf = _msg.data.pjhf; //牌局回放数据 pjhf :[[出牌状态,座位号,[每个人的牌id:[],[]],[手牌ID]],[],[],[].....]
var seat = Public_data.recovery.pjhf[Public_data.recovery.num][1];
Public_data.data.bei = Public_data.recovery.pjhf[Public_data.recovery.num][7]; //当前倍数
Game_Modify.recovery_step(Public_data.recovery.num);
Public_data.data.dealid = Public_data.recovery.pjhf[Public_data.recovery.num][2];//出牌
Public_data.data.playerlist[0] = Public_data.recovery.pjhf[Public_data.recovery.num][4];//玩家状态
Public_data.data.end = Public_data.recovery.pjhf[Public_data.recovery.num][9];//玩家状态
if (Public_data.recovery.num+1<Public_data.recovery.pjhf.length) {
Public_data.data.control = Public_data.recovery.pjhf[Public_data.recovery.num+1][1];
if (Public_data.data.end == -1) {
clock(1);
} else {
clock(0);
}
} else {
clock(0);
}
//隐藏牌
for (var i = 0;i < id_config.hc_len[Utl.changeToStatus(seat)]; i++) {
set_self(id_config.car_start[Utl.changeToStatus(seat)]+i,37,0,0,0);
}
if(Public_data.recovery.pjhf[Public_data.recovery.num][4][seat] == 2){
//不要
set_self(id_config.pass[Utl.changeToStatus(seat)],37,1,0,0);
for(var i = 0; i<Public_data.data.maxman;i++){
Public_data.data.hand_cards = Public_data.recovery.pjhf[Public_data.recovery.num][3][i];//手牌
Public_data.data.hand_cards = cls_doudizhu_card.SortCardList(cls_doudizhu_aset.CardIdsToCards(aset,Public_data.data.hand_cards)
,[1,3]);
Public_data.data.hand_cards = cls_doudizhu_aset.CardsToCardIds(Public_data.data.hand_cards);
Hand_card.sort(i,Public_data.data.hand_cards);
}
Putcards.sort();
}else if(Public_data.recovery.pjhf[Public_data.recovery.num][4][seat] == 4){
//彻底打完
set_self(id_config.pass[seat],37,0,0,0);
}else {
//打牌
if (Public_data.recovery.pjhf.length>Public_data.recovery.num+1) {
var xiaciseat = Public_data.recovery.pjhf[Public_data.recovery.num+1][1];
Putcards.yinchang(Utl.changeToStatus(xiaciseat));
}
//隐藏不要
set_self(id_config.pass[seat],37,0,0,0);
for(var i = 0; i<Public_data.data.maxman;i++){
Public_data.data.hand_cards = Public_data.recovery.pjhf[Public_data.recovery.num][3][i];//手牌
Public_data.data.hand_cards = cls_doudizhu_card.SortCardList(cls_doudizhu_aset.CardIdsToCards(aset,Public_data.data.hand_cards)
,[1,3]);
Public_data.data.hand_cards = cls_doudizhu_aset.CardsToCardIds(Public_data.data.hand_cards);
Hand_card.sort(i,Public_data.data.hand_cards);
}
Putcards.sort();
}
}

View File

@@ -0,0 +1,111 @@
//重连
var Updata_ui ={
}
Updata_ui.net = function(_msg){//在重连函数中调用
Public_data.Initialization();
//保存数据
Public_data.data = _msg;
config_carlen();//设置牌长度
cards_interval();//设置牌间距
//if (Utl.getIsDebugger() ==1) {
//Public_data.data.hand_cards = _msg.data.hand_cards[Utl.getMySeat()];//手牌
//}else{
//}
Public_data.data.hand_cards = cls_doudizhu_card.SortCardList(cls_doudizhu_aset.CardIdsToCards(aset,Public_data.data.hand_cards)
,[1,3]);
Public_data.data.hand_cards = cls_doudizhu_aset.CardsToCardIds(Public_data.data.hand_cards);
mppx();
//重绘
Updata_ui.redraw();
if (Utl.getIsInfinite() == 0) {
for(var i=0;i<Public_data.data.maxman;i++)
{
if(Public_data.data.roomtype[3]==2){
Utl.changeBean(Public_data.data.gold_score[i],i);
}
Utl.setGrade(i,Public_data.data.grade[i]);
}
} else {
for(var i=0;i<Public_data.data.maxman;i++)
{
Utl.setGrade(i,Utl.getBeanBySeat(i));
}
}
}
Updata_ui.redraw = function(){//在重画函数中调用
chonghui = 1;
UI.hide();
game_num(1);//局数显示
trus(1);//托管
difenxs();//底分显示
Infinite.updata(Public_data.data.stage);
if (Public_data.data.stage < 3 ) {
dipaishu();//底牌数显示
beixs();//倍数显示
}
if (Public_data.data.banker == Utl.getMySeat()) {//自己是地主
//id_config.car_intervalx[0] = 59;
}
//Public_data.data.stage = -1; //牌桌当前阶段 0发牌 1加倍 2打牌 3小局 4大局
switch (Public_data.data.stage){
case 0:
UI.dealcard.update();//发牌
break;
case 1:
//加倍
UI.more.update();
break;
case 2:
//出牌
UI.playcards.update();
break;
case 3:
//小局
if (Public_data.data.playerlist[1][Utl.getMySeat()] == 1) {//小局还是准备
UI.ready.update();
}else{
UI.aset.update();
}
break;
}
chonghui = 0;
}