Files
youlegames/codes/games/client/Projects/doudizhu/js/ddz/ui.js
2026-02-04 23:47:45 +08:00

552 lines
15 KiB
JavaScript

var dzxs = function(){
set_self(1504+Utl.changeToStatus(Public_data.data.banker),37,1,0,0);
//paidz();//牌上地主显示
}
var asetover = function(){
//小局
set_group(251,37,1,0,0);
set_self(1002,37,0,0,0);
set_self(1811,37,0,0,0);
set_self(1812,37,0,0,0);
set_self(1813,37,0,0,0);
set_self(1814,41,1,0,0);
set_self(1814,35,255,0,0);
set_self(1811+Public_data.data.banker,37,1,0,0);//地主显示
set_self(1802,43,Public_data.data.winner+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(1816+i,7,Func.subString(Utl.getNicknameBySeat(i),6,true));//昵称
//set_self(1816+i,37,1,0,0);//昵称
var sy = 0;
if (i == Public_data.data.banker && Public_data.data.winner == 0) {
sy=1;
}else if (i != Public_data.data.banker && Public_data.data.winner == 1) {
sy=1;
}
set_self(1819+i,7,Public_data.data.down_score[1]);//底分
//set_self(1819+i,37,1,0,0);//昵称
set_self(1822+i,7,"x" + Public_data.data.bei);//倍数
set_self(1825+i,7,Public_data.data.bj_score[i]);//得分
if (sy) {
Utl.setFontColor(1816+i,"#dcbc59");//昵称
Utl.setFontColor(1819+i,"#dcbc59");//底分
Utl.setFontColor(1822+i,"#dcbc59");//倍数
Utl.setFontColor(1825+i,"#dcbc59");//得分
}else{
Utl.setFontColor(1816+i,"#9c9c9c");
Utl.setFontColor(1819+i,"#9c9c9c");
Utl.setFontColor(1822+i,"#9c9c9c");
Utl.setFontColor(1825+i,"#9c9c9c");
}
}
for(var i= 0;i<Public_data.data.maxman;i++){//对齐
duiqi(1819+i,1804,0);
duiqi(1822+i,1805,0);
duiqi(1825+i,1806,0);
}
//按钮显示
if (Public_data.data.end == 1) {
set_self(1071,37,0,0,0);
set_self(1814,37,1,0,0);
set_self(1815,37,1,0,0);
} else if (Public_data.data.end == 2){
set_self(1071,37,1,0,0);
set_self(1814,37,0,0,0);
set_self(1815,37,0,0,0);
}else{
set_self(1071,37,0,0,0);
set_self(1814,37,0,0,0);
set_self(1815,37,0,0,0);
}
if (Utl.getIsInfinite() == 1) {//如果是无限局
set_self(1073,37,1,0,0);
set_self(1074,37,0,0,0);
} else{
set_self(1073,37,0,0,0);
set_self(1074,37,0,0,0);
}
if (Public_data.data.roomtype[2] == 2) {//两人模式
set_self(1813,37,0,0,0);
set_self(1818,37,0,0,0);
set_self(1821,37,0,0,0);
set_self(1824,37,0,0,0);
set_self(1827,37,0,0,0);
set_self(1810,37,0,0,0);
}
}
var ready_con = function(){
//准备
for (var i = 0; i < Public_data.data.maxman; i++) {
if (Public_data.data.playerlist[1][i] == 1) {
set_self(1096+Utl.changeToStatus(i),37,1,0,0);
}
}
}
var endover = function(){
//大局
Utl.gameOver();
set_group(260,37,1,0,0);
//大局坐标配置
var wjdkx = 213;//玩家底框
var txx = 282;//头像
var dyjx = 177;//大赢家
var ncx = 348;//昵称
var idx = 338;//id
var zjfx = 267;//总局分
var jjx = 376;//加减
var fsx = 396;//分数
var zzdfx = 270;//最终得分
var zzjjx = 312;//最终加减
var zzszx = 334;//最终数字
var jiange = 295;//间隔
var pianyi = 0;//偏移
if(Public_data.data.roomtype[2] == 2){//两人模式
pianyi = 138;
jiange = 304;
//ncx = 486;//昵称
set_self(1905,37,0,0,0);
set_self(1908,37,0,0,0);
set_self(1911,37,0,0,0);
set_self(1914,37,0,0,0);
set_self(1917,37,0,0,0);
set_self(1920,37,0,0,0);
set_self(1923,37,0,0,0);
set_self(1926,37,0,0,0);
set_self(1929,37,0,0,0);
set_self(1932,37,0,0,0);
set_self(1940,37,0,0,0);
}
set_self(1938,37,0,0,0);
set_self(1939,37,0,0,0);
set_self(1940,37,0,0,0);
set_self(1935,7,Game_Modify.Type_2[Public_data.data.roomtype[1]-1].des);//玩法
set_self(1936,7,Utl.getNicknameBySeat(0));//房主
set_self(1937,7,game.shijian);//时间
var dyj = dayingjia();
//var xzb = [348,643,938];
var zzdf = Utl.getMultipleResult(Public_data.data.grade);
for (var i= 0;i<Public_data.data.maxman;i++){
//底框
set_self(1903+i,43,2,0,0);
set_self(1903+i,18,((wjdkx+pianyi)+(i*jiange)),0,0);
//头像
set_self(1906+i,1,Utl.getHeadimgSrc(i));
set_self(1906+i,18,((txx+pianyi)+(i*jiange)),0,0);
//昵称
set_self(1909+i,7,Utl.getNicknameBySeat(i));
set_self(1909+i,18,((ncx+pianyi)+(i*jiange)),0,0);
//set_self(1909+i,18,get_self(1909+i,18)-parseInt(get_self(1909+i,7,1))/2,0,0);
duiqi(1909+i,1903+i,0);//昵称
//id
set_self(1912+i,7,"ID: " + Utl.getPlayeridBySeat(i));
set_self(1912+i,18,((ncx+pianyi)+(i*jiange)),0,0);
set_self(1912+i,18,get_self(1912+i,18)-parseInt(get_self(1912+i,7,1))/2,0,0);
duiqi(1912+i,1903+i,0);//id
//总积分
set_self(1915+i,18,((zjfx+pianyi)+(i*jiange)),0,0);
//加减
if (Public_data.data.grade[i]<0) {
set_self(1921+i,37,1,0,0);
}else{
set_self(1921+i,37,0,0,0);
}
set_self(1921+i,18,((jjx+pianyi)+(i*jiange)),0,0);
//分
set_self(1918+i,7,ifast_abs(Public_data.data.grade[i]));
set_self(1918+i,18,((fsx+pianyi)+(i*jiange)),0,0);
set_self(1918+i,20,13*ifast_inttostr(ifast_abs(Public_data.data.grade[i])).length);
//最终得分
set_self(1924+i,18,((zzdfx+pianyi)+(i*jiange)),0,0);
//最终得分数字
set_self(1927+i,7,min_replaceAll(String(ifast_abs(zzdf[i])),'\\.', 'b', ''));
set_self(1927+i,18,((ncx+pianyi)+(i*jiange)),0,0);
set_self(1927+i,20,28*ifast_inttostr(ifast_abs(zzdf[i])).length);
duiqi(1927+i,1903+i,1);//大局分
if (zzdf[i]>0) {
set_self(1927+i,1,1036);
} else {
set_self(1927+i,1,1024);
}
//最终加减
//set_self(1930+i,18,((zzjjx+pianyi)+(i*jiange)),0,0);
if (Public_data.data.grade[i]<0) {
set_self(1930+i,37,1,0,0);
set_self(1930+i,18,get_self(1927+i,18)-22,0,0);
}else{
set_self(1930+i,37,0,0,0);
}
}
for (var i = 0; i<Public_data.data.maxman;i++) {
//大赢家
set_self(1938+dyj[i],37,1,0,0);
set_self(1938+i,18,((dyjx+pianyi)+(i*jiange)),0,0);
set_self(1903+dyj[i],43,1);
}
Calculator.show1(Public_data.data.grade);
if (Utl.getShowShare() == 1) {
set_self(1941,37,0,0,0);
}
}
var dayingjia = function(){
var dayingjia = [];
if (Public_data.data.grade[0]>=Public_data.data.grade[1] && Public_data.data.grade[0]>=Public_data.data.grade[2]&&Public_data.data.grade[0]>0) {
dayingjia.push(0);
}
if (Public_data.data.grade[1]>=Public_data.data.grade[0] && Public_data.data.grade[1]>=Public_data.data.grade[2]&&Public_data.data.grade[1]>0) {
dayingjia.push(1);
}
if (Public_data.data.grade[2]>=Public_data.data.grade[0] && Public_data.data.grade[2]>=Public_data.data.grade[1]&&Public_data.data.grade[2]>0) {
dayingjia.push(2);
}
//dayingjia.sort(dppx);
return dayingjia;
}
var kaifang = function(type){
//开房
if (type) {
for(var i =1305;i<=1312;i++){
set_self(i,37,1,0,0);
}
set_self(1300,43,2,0,0);
set_self(1301,43,1,0,0);
Game_Modify.CreateRoomData.Type_4 = 1;
}else{
for(var i =1305;i<=1312;i++){
set_self(i,37,0,0,0);
}
set_self(1300,43,1,0,0);
set_self(1301,43,2,0,0);
Game_Modify.CreateRoomData.Type_4 = 0;
}
}
var jiaofen = function(){
//叫分显示
if (Public_data.data.stage <2 && Public_data.data.stage >= 0) {
for (var i= 0; i < Public_data.data.maxman; i++) {
if (Public_data.data.playerlist[3][i] == 0) {
set_self(1080+Utl.changeToStatus(i),37,1,0,0);
} else if (Public_data.data.playerlist[3][i] != -1){
set_self(1083+Utl.changeToStatus(i),37,1,0,0);
set_self(1083+Utl.changeToStatus(i),43,Public_data.data.playerlist[3][i],0,0);
}else{
set_self(1080+Utl.changeToStatus(i),37,0,0,0);
set_self(1083+Utl.changeToStatus(i),37,0,0,0);
}
}
if (Public_data.data.down_score[0]<0) {
for (var i = 0;i<4;i++) {
set_self(1050+i,35,255,0,0);
set_self(1050+i,41,1,0,0);
set_self(1050+i,37,0,0,0);
}
clock(0); //时钟显示
}
}
}
var xiafen = function(){
//可下分按钮显示
//set_group(204,37,0,0,0);
for (var i = 0;i<4;i++) {
set_self(1050+i,35,255,0,0);
set_self(1050+i,41,1,0,0);
set_self(1050+i,37,1,0,0);
}
if (Public_data.data.down_score[0]>0) {
for (var i = 0;i<Public_data.data.down_score[0];i++) {
set_self(1051+i,35,100,0,0);
set_self(1051+i,41,0,0,0);
}
}
}
var liangdipai = function(type){
//亮底牌
for (var i = 0;i<3;i++) {
set_self(1510+i,37,1,0,0);
}
set_self(1509,37,1,0,0);
if (type == 1) {
for (var i = 0;i<Public_data.data.undercards.length;i++) {
set_self(1510+i,37,1,0,0);
set_self(1510+i,43,Public_data.data.undercards[i]%54+1,0,0);
}
if (Public_data.data.di_bei>1) {
set_self(1500,37,1,0,0);
set_self(1500,43,Public_data.data.di_bei-1,0,0);
}else{
set_self(1500,37,0,0,0);
}
}else if(type == 0){
if(Public_data.data.stage == 0){
for (var i = 0;i<3;i++) {
set_self(1510+i,37,1,0,0);
set_self(1510+i,43,55,0,0);
}
set_self(1509,37,1,0,0);
} else{
for (var i = 0;i<3;i++) {
set_self(1510+i,37,0,0,0);
set_self(1510+i,43,55,0,0);
}
set_self(1509,37,0,0,0);
}
set_self(1500,37,0,0,0);
}
}
var jiapai = function(){
//插入牌
var dq_wz = [];//加入前坐标
for (var i = 0; i < id_config.hc_len[Utl.getMySeat()]; i++) {
dq_wz[i] = get_self(id_config.car_start[0]+i,18,0,0,0);
}
config_carlen();//设置牌长度
cards_interval();//设置牌间距
Hand_card.sort(Utl.getMySeat(),Public_data.data.hand_cards);//重新摆手牌
wz = [];//要插入的位置
for (var j = 0; j < Public_data.data.undercards.length; j++) {
for (var i = 0; i < Public_data.data.hand_cards.length; i++) {
if (Public_data.data.hand_cards[i] == Public_data.data.undercards[j]) {
wz.push(i);
break;
}
}
}
wz.sort(dppx);
All_ani.chapai.show(dq_wz);
kaiqidonghua = 1;
}
var jiabeixs = function(){
//加倍显示
set_self(1503,7,Public_data.data.bei);//显示倍数
set_self(1503,20,ifast_inttostr(Public_data.data.bei).length*22);
duiqi(1503,1503,1,862);//大局分
Public_data.data.control = Utl.getMySeat();//用来显示钟
if (Public_data.data.playerlist[4][Utl.getMySeat()] == -1) {
set_self(1090,37,1,0,0);
set_self(1091,37,1,0,0);
}else{
set_self(1090,37,0,0,0);
set_self(1091,37,0,0,0);
}
for(var i = 0; i < Public_data.data.maxman; i++){
if (Public_data.data.playerlist[4][i] == 1) {
set_self(1092+Utl.changeToStatus(i),37,1,0,0);
set_self(1092+Utl.changeToStatus(i),43,1,0,0);
}else if (Public_data.data.playerlist[4][i] == 0) {
set_self(1092+Utl.changeToStatus(i),37,1,0,0);
set_self(1092+Utl.changeToStatus(i),43,2,0,0);
}else{
set_self(1092+Utl.changeToStatus(i),37,0,0,0);
}
}
}
var beixs = function(){
//显示倍数
for (var i = 0;i<3;i++) {
set_self(1501+i,37,1,0,0);
}
set_self(1503,7,Public_data.data.bei);//显示倍数
set_self(1503,20,ifast_inttostr(Public_data.data.bei).length*22);
duiqi(1503,1503,1,862);//倍数对齐
}
var trus = function(type){
set_self(id_config.trus_di,41,0,0,0);
if (Public_data.data.stage != 2) {
set_self(id_config.trus,37,0,0,0);
set_self(id_config.trus_di,37,0,0,0);
set_self(id_config.trus_cancel,37,0,0,0);
}else{
//托管
if (type == 0) {
set_self(id_config.trus,37,0,0,0);
set_self(id_config.trus_di,37,0,0,0);
set_self(id_config.trus_cancel,37,0,0,0);
}else if (type== 1 ) {
if (Public_data.data.tuoguan[Utl.getMySeat()] == 1) {
set_self(id_config.trus,37,0,0,0);
set_self(id_config.trus_di,37,1,0,0);
set_self(id_config.trus_cancel,37,1,0,0);
}else{
set_self(id_config.trus,37,1,0,0);
set_self(id_config.trus_di,37,0,0,0);
set_self(id_config.trus_cancel,37,0,0,0);
}
}
}
}
var paidz = function(){
//牌上地主显示
if(Public_data.data.banker == Utl.getMySeat()){
if (Public_data.data.hand_cards.length) {
set_self(1021,19,get_self(id_config.car_start[0]+Public_data.data.hand_cards.length-1,19,0,0,0),0,0);
set_self(1021,18,get_self(id_config.car_start[0]+Public_data.data.hand_cards.length-1,18,0,0,0),0,0);
set_self(1021,37,1,0,0);
}else{
set_self(1021,37,0,0,0);
}
}
putpaidz();
}
var putpaidz = function(){
//出牌上地主显示
if (Public_data.data.banker>=0) {
if (Public_data.data.playerlist[0][Public_data.data.banker] == 1 || Public_data.data.playerlist[0][Public_data.data.banker] == 3) {
var seat = Public_data.data.banker;
var zuihouid = id_config.car_start[Utl.changeToStatus(seat)] + id_config.hc_len[seat]-1;
set_self(1600+Utl.changeToStatus(seat),18,get_self(zuihouid,18),0,0);
set_self(1600+Utl.changeToStatus(seat),19,get_self(zuihouid,19),0,0);
set_self(1600+Utl.changeToStatus(seat),20,get_self(zuihouid,20),0,0);
set_self(1600+Utl.changeToStatus(seat),21,get_self(zuihouid,21),0,0);
set_self(1600+Utl.changeToStatus(seat),37,get_self(zuihouid,37),0,0);
}else{
set_self(1600+Utl.changeToStatus(Public_data.data.banker),37,0,0,0);
}
}else{
set_self(1600+Utl.changeToStatus(Public_data.data.banker),37,0,0,0);
}
}
var difenxs = function(){
//底分显示
set_self(1045,7,"底分 " + Public_data.data.down_score[1]);
set_self(1045,18,640-get_self(1045,7,1)/2,0,0);
set_self(1045,20,get_self(1045,7).length*12,0,0);
set_self(1045,37,1,0,0);
Utl.setFontColor(1045,pifu[1][pifu[0]][1]);//色号
}
var dipaishu = function(){
//底牌数
for(var i= 0;i<Public_data.data.maxman;i++){//底牌数显示
if (Utl.getMySeat() != i && Public_data.data.mp_zt[i] !=1){
set_self(1030+Utl.changeToStatus(i)*100,37,1,0,0);
set_self(1031+Utl.changeToStatus(i)*100,37,1,0,0);
set_self(1031+Utl.changeToStatus(i)*100,7,Public_data.data.rest[i]);
set_self(1031+Utl.changeToStatus(i)*100,20,ifast_inttostr(Public_data.data.rest[i]).length *16);
if (Utl.changeToStatus(i) == 1) {
set_self(1031+Utl.changeToStatus(i)*100,18,1144-(get_self(1031+Utl.changeToStatus(i)*100,20,0,0,0)/2),0,0);
} else {
set_self(1031+Utl.changeToStatus(i)*100,18,138-(get_self(1031+Utl.changeToStatus(i)*100,20,0,0,0)/2),0,0);
}
}else{
set_self(1031+Utl.changeToStatus(i)*100,37,0,0,0);
set_self(1030+Utl.changeToStatus(i)*100,37,0,0,0);
}
}
if (Public_data.data.stage < 3 ) {
if(Public_data.data.rest[game.seat] <=2){
if (Utl.getSexBySeat(game.seat) == 1) {//报警音效
if (Public_data.data.rest[game.seat] == 2 && shengpaisound[game.seat][1] == 0) {
Utl.playSound(Sound.police_two);
shengpaisound[game.seat][1] = 1;
}else if (Public_data.data.rest[game.seat] == 1 && shengpaisound[game.seat][0] == 0){
Utl.playSound(Sound.police_one);
shengpaisound[game.seat][0] = 1;
}
} else {
if (Public_data.data.rest[game.seat] == 2 && shengpaisound[game.seat][1] == 0) {
Utl.playSound(Sound.nv_police_two);
shengpaisound[game.seat][1] = 1;
}else if (Public_data.data.rest[game.seat] == 1 && shengpaisound[game.seat][0] == 0) {
Utl.playSound(Sound.nv_police_one);
shengpaisound[game.seat][0] = 1;
}
}
}
}
}
var zhunbei = function(){
//准备
for (var i = 0; i < Public_data.data.maxman; i++ ) {
if (Public_data.data.playerlist[1][i] == 1) {
set_self(1096+Utl.changeToStatus(i),37,1,0,0);
}else{
set_self(1096+Utl.changeToStatus(i),37,0,0,0);
}
}
}
var fanhuipaizhuo = function(){
//返回牌桌
set_group(251,37,0,0,0);
set_self(1078,37,1,0,0);
set_self(1078,35,1,0,0);
if (Public_data.data.stage == 3) {//小局
set_self(1079,37,0,0,0);
set_self(1076,37,1,0,0);
set_self(1077,37,1,0,0);
set_self(1077,41,1,0,0);
set_self(1077,35,255,0,0);
for(var i= 0;i<Public_data.data.maxman;i++){
if (Public_data.data.mp_zt[i] == 1) {
set_self(1077,41,0,0,0);
set_self(1077,35,100,0,0);
break;
}
}
}else{//大局
if (Utl.getIsInfinite() != 1) {
set_self(1079,37,1,0,0);
set_self(1076,37,0,0,0);
set_self(1077,37,0,0,0);
}
}
}