目录结构调整

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,106 @@
var Calculator = {
//计算器
}
Calculator.show1 = function(branch){
//计算器计算
if (branch.length>0) {
Utl.getMultipleResult(branch);
GameUI.showCalBtn(branch);
}
}
Calculator.show = function(inputArr,interval,interval_num,initial,digit,num_id,bol_id,reference_id,version){
//inputArr : 同Game_Modify.calResult
//interval : 减号号和数字的间隔
//interval_num : 2个数字间的间距
//initial : 第一个人的数字显示X坐标的中心位置
//digit : 个位数字的宽
//num_id 第一个数字id
//bol_id : 第一个-号id
//reference_id : 第一个参照物id 用于数字居中
//version : 版本 true竖版 false横版
//if (!version) {
for (var i = 0;i<Public_data.data.maxman;i++) {
//结果转码
set_draw (min_replaceAll(String(ifast_abs(inputArr[i])),'\\.', 'b', ''),num_id+i,initial+(i*interval_num)-digit/2,digit);
set_self(num_id+i,37,1,0,0);
set_self(num_id+i,20,digit*ifast_inttostr(ifast_abs(inputArr[i])).length,0,0);
duiqi(num_id+i,reference_id+i,1);
if(inputArr[i]<0){
set_self(bol_id+i,37,1,0,0);
set_self(bol_id+i,18,get_self(num_id+i,18,0,0,0)-interval,0,0);
}
}
}
function set_draw (num,id,weizhi,len) {
set_self(id,18,weizhi - (ifast_inttostr(num).length - 1)*len/2,0,0);
set_self(id,20,len*ifast_inttostr(num).length,0,0);
set_self(id,7,num);
};
//局数显示
var game_num = function(type){
if(Utl.getIsInfinite() == 0){
if (type) {
set_self(id_config.game,37,1,0,0);//局
set_self(id_config.Slash,37,1,0,0);//斜杠
set_self(id_config.min_num,37,1,0,0);//小局数
set_self(id_config.max_num,37,1,0,0);//大局数
set_self(id_config.min_num,18,get_self(id_config.Slash,18,0,0,0) - id_config.ward_interval-5 - (ifast_inttostr(Public_data.data.num[0]).length - 1) * id_config.ward_wide ,0,0);
set_self(id_config.min_num,20,id_config.ward_wide*ifast_inttostr(Public_data.data.num[0]).length,0,0);
set_self(id_config.min_num,7,Public_data.data.num[0]);
set_self(id_config.max_num,18,get_self(id_config.Slash,18,0,0,0) + id_config.ward_interval,0,0);
set_self(id_config.max_num,20,id_config.ward_wide*ifast_inttostr(Public_data.data.num[1]).length,0,0);
set_self(id_config.max_num,7,Public_data.data.num[1]);
set_self(id_config.game,18,get_self(id_config.max_num,18,0,0,0) + id_config.ward_interval + id_config.ward_wide*ifast_inttostr(Public_data.data.num[1]).length,0,0);
}else{
set_self(id_config.game,37,0,0,0);//局
set_self(id_config.Slash,37,0,0,0);//斜杠
set_self(id_config.min_num,37,0,0,0);//小局数
set_self(id_config.max_num,37,0,0,0);//大局数
}
}
}
var cards_interval = function(){
//设置手牌间距
var wei = 1280-id_config.wide[0];//最后一张牌的坐标
var inter = parseInt((wei-5)/(id_config.hc_len[Utl.getMySeat()]-1));
if (inter>70) {
id_config.car_intervalx[0] = 70;
}else{
id_config.car_intervalx[0] = inter;
}
}
var config_carlen = function(){
//设置手牌长度
id_config.hc_len[0] = game.config.card_len[Public_data.data.roomtype[2]-1][Public_data.data.roomtype[8]-1];
id_config.hc_len[1] = game.config.card_len[Public_data.data.roomtype[2]-1][Public_data.data.roomtype[8]-1];
id_config.hc_len[2] = game.config.card_len[Public_data.data.roomtype[2]-1][Public_data.data.roomtype[8]-1];
if (Public_data.data.banker>-1) {
id_config.hc_len[Public_data.data.banker] = id_config.hc_len[Public_data.data.banker]+Public_data.data.undercards.length;
}
}

View File

@@ -0,0 +1,102 @@
var Infinite = {
}
Infinite.join = function(seat){
//加入房间
if (Utl.getIsInfinite() == 1) {//如果是无限局
for (var i = 0; i <Desk.PlayerList.length; i++) {
if(Desk.PlayerList[i].playerid!=-1){
Utl.setGrade(i,Desk.GetPlayerBySeat(i).bean);
}
}
Utl.setPlayerPrepare(seat, 0);
}
}
Infinite.no_join = function(){
//未开战加入房间
Utl.setDeskStage(0);
Utl.setPlayerPrepare(Utl.getMySeat(), 0);
}
Infinite.updata = function(stage){
//stage 开战状态
//重连
if (Utl.getIsInfinite() == 1) {//如果是无限局
if(stage != -1){
Utl.setDeskStage(1);
}else{
Utl.setDeskStage(0);
for (var i = 0; i < Desk.PlayerList.length; i++) {
if(Desk.PlayerList[i].playerid!=1){
if (Utl.getPlayerReadyState(i) == 1) {//是否准备
Utl.setPlayerPrepare(i,1);
}else{
Utl.setPlayerPrepare(i,0);
}
}
}
}
for (var i = 0; i < Desk.PlayerList.length; i++) {
if(Desk.PlayerList[i].playerid!=1){
Utl.setGrade(i,Desk.GetPlayerBySeat(i).bean);
}
}
}
}
Infinite.out = function(){
//退出房间
if (Utl.getIsInfinite() == 1) {//如果是无限局
Utl.setPlayerPrepare(Utl.getMySeat(), 0);
}
}
Infinite.ready = function(seat){
if (Utl.getIsInfinite() == 1) {//如果是无限局
//准备
Utl.setPlayerPrepare(seat, 1);
}
}
Infinite.robot_ready = function(wjzb){
if (Utl.getIsInfinite() == 1) {//如果是无限局
//准备
for (var i = 0; i < wjzb.length; i++) {
if(Desk.PlayerList[i].playerid != -1){
if (wjzb[i] == 1) {//是否准备
Utl.setPlayerPrepare(i,1);
}else{
Utl.setPlayerPrepare(i,0);
}
}
}
}
}
Infinite.found = function(){
//创建房间
if (Utl.getIsInfinite() == 1) {//如果是无限局
Utl.setGrade(Utl.getMySeat(),Desk.GetPlayerBySeat(Utl.getMySeat()).bean);
Utl.setDeskStage(0);
Utl.setPlayerPrepare(Utl.getMySeat(), 0);
}
}

View File

@@ -0,0 +1,179 @@
//回放时调用
var Recovery = {
}
var msgrecovery = {
}
Public_data.huifang = function(_msg,ju){
msgrecovery = _msg;
if(typeof _msg.data.gameinfo2 == "string"){
_msg.data.gameinfo2=JSON.parse(_msg.data.gameinfo2);
}
Public_data.recovery.roomcode = _msg.data.gameinfo2.roomcode; //房间号
Public_data.recovery.asetcount = _msg.data.gameinfo2.asetcount; //总局数
Public_data.data.roomtype = _msg.data.gameinfo2.roomtype; //房间类型
Public_data.recovery.ziyuan = _msg.data.gameinfo2.ziyuan;//玩家信息 昵称 头像
Public_data.recovery.id = _msg.data.gameinfo2.id; //玩家id
Public_data.recovery.hand_cards= _msg.data.gameinfo2.hand_cards[ju]; //手牌
Public_data.recovery.pjhf = _msg.data.gameinfo2.pjhf[ju]; //牌局回放数据 pjhf :[[出牌状态,座位号,[每个人的牌id:[],[]],[手牌ID],[玩家状态]],[],[],[].....]
Public_data.recovery.num = -1;//重新回放
Public_data.data.maxman = _msg.data.gameinfo2.pjhf[dijiju][_msg.data.gameinfo2.pjhf[dijiju].length-1][2]; //人数
Public_data.data.undercards = _msg.data.gameinfo2.undercards[dijiju]; //底牌
var myseat = 0;
for(var i = 0; i < Public_data.recovery.id.length; i++){
if (Public_data.recovery.id[i]==Utl.getMyPlayerid()) {
myseat = i;
break;
}
}
//最大人数
//Game_Config.Max.PlayerCnt = Public_data.data.maxman;
Utl.openVideo(Public_data.recovery.ziyuan,myseat,Public_data.recovery.roomcode,Public_data.data.roomtype);
Recovery.show(_msg);
for (var i = 0; i < Public_data.data.maxman; i++) {
if (Public_data.recovery.hand_cards[i]) {
Public_data.data.hand_cards = Public_data.recovery.hand_cards[i];
Public_data.data.hand_cards = Game_Modify.sort(Public_data.data.hand_cards);
Hand_card.sort(i,Public_data.data.hand_cards);//手牌显示
}
}
Public_data.data.hand_cards = Public_data.recovery.hand_cards[myseat];
set_self(id_config.pause,43,2,0,0);
Recovery.button();
Public_data.data.control = Public_data.recovery.pjhf[0][1];
clock(1);
set_self(All_timer.recovery,57,All_timer.time.recovery,0,0);
}
Recovery.Card_Game = {
show :function(){//开启牌局回放定时器
Public_data.Recovery();//数据处理
set_self(All_timer.recovery,57,All_timer.time.recovery,0,0);
Recovery.show();
},
hide: function(){//关闭牌局回放定时器
set_self(All_timer.recovery,57,0,0,0);//关闭
set_self(All_timer.clock,57,0,0,0);//关闭
}
}
Recovery.show = function(_msg){
//回放时要显示的
Game_Modify.recovery(_msg);
}
Recovery.button = function(){
if (Public_data.recovery.num<=0) {
set_self(id_config.retreat,41,0,0,0);
}else{
set_self(id_config.retreat,41,1,0,0);
}
set_self(id_config.fast,37,1,0,0);
set_self(id_config.pause,37,1,0,0);
set_self(id_config.retreat,37,1,0,0);
set_self(id_config.out,37,1,0,0);
}
Recovery.click = function(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2){
switch (spid_up){
case id_config.fast://快进
Recovery.Card_Game.hide();//关闭定时器
if (Public_data.recovery.num+1<Public_data.recovery.pjhf.length-1) {
Public_data.recovery.num ++;
Public_data.Recovery();
set_self(id_config.retreat,41,1,0,0);
//Recovery.button();
set_self(All_timer.clock,57,0,0,0);
set_self(id_config.pause,43,1,0,0);
}else{
Recovery.Card_Game.hide();//关闭定时器
Public_data.recovery.num ++;
Game_Modify.over(msgrecovery);
}
click_up(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2);
break;
case id_config.pause://暂停 开始
if(get_self(id_config.pause,43,0,0,0) == 2){
Recovery.Card_Game.hide();//关闭定时器
set_self(id_config.pause,43,1,0,0);
}else if(get_self(id_config.pause,43,0,0,0) == 1){
set_self(All_timer.recovery,57,All_timer.time.recovery,0,0);//开启定时器
set_self(id_config.pause,43,2,0,0);
}
click_up(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2);
break;
case id_config.retreat://退一步
Recovery.Card_Game.hide();//关闭定时器
if (Public_data.recovery.num>0) {
Public_data.recovery.num = Public_data.recovery.num -1;
Public_data.Recovery();
set_group(251,37,0,0,0);
//Recovery.button();
set_self(All_timer.clock,57,0,0,0);
set_self(id_config.pause,43,1,0,0);
}
click_up(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2);
break;
case id_config.out://退出
UI.hide();
Utl.closeVideo();
Game_Modify.recoveryout();
click_up(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2);
break;
}
}
Recovery.clickdown = function(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2){
switch (spid_up){
case id_config.fast://快进
click_down(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2);
break;
case id_config.pause://暂停 开始
click_down(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2);
break;
case id_config.retreat://退一步
click_down(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2);
break;
case id_config.out://退出
click_down(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2);
break;
default:
break;
}
}

View File

@@ -0,0 +1,24 @@
All_timer.hide1 = function(){
//关定时器
set_self(All_timer.dealcard,57,0,0,0);
set_self(All_timer.recovery,57,0,0,0);
set_self(All_timer.clock,57,0,0,0);
set_self(All_timer.put_err,57,0,0,0);
}
All_ani.hide1 = function(){
//关动画
}

View File

@@ -0,0 +1,160 @@
var click_down = function(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2){
//点击时触发特效
for (var i = 0; i < texiao.length; i++) {
if (spid_down == texiao[i]) {
set_self(spid_down,33,105,0,0,0);
set_self(spid_down,35,200,0,0,0);
}
}
}
var click_up = function(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2){
//弹起时解除特效
//for (var i = 0; i < texiao.length; i++) {
set_self(spid_down,33,100,0,0,0);
set_self(spid_down,35,255,0,0,0);
//}
}
var clock = function(type){
//type 显示时钟 1显示 0隐藏
set_self(All_timer.clock,57,0,0,0);
set_self(id_config.clock,37,0,0,0);
set_self(id_config.time_id,37,0,0,0);
if (type) {
if (Public_data.data.stage>=0) {
Public_data.current = game.config.playtime[Public_data.data.stage];//当前倒计时
}else{
Public_data.current = 15;//当前倒计时
}
//钟的位置
set_self(id_config.clock,18,id_config.clock_x[Utl.changeToStatus(Public_data.data.control)],0,0);
set_self(id_config.clock,19,id_config.clock_y[Utl.changeToStatus(Public_data.data.control)],0,0);
set_self(id_config.clock,37,1,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);
set_self(id_config.time_id,19,id_config.clock_y[Utl.changeToStatus(Public_data.data.control)]+id_config.time_clock_y,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,37,1,0,0);
set_self(id_config.time_id,7,Public_data.current,0,0);
//倒计时定时器
set_self(All_timer.clock,57,All_timer.time.clock,0,0);
}
}
var button_show = function(type,s){
//type :
//2 正常情况 显示出牌 不要 提示按钮
//1: 第一个出情况 显示出牌按钮 或者加上提示按钮
//3: 要不起情况 只显示不要按钮和显示没有打过上家的牌
//s显示提示按钮 true显示 false : 隐藏 默认 true
var show = false;
if (s) {
show = s;
}
set_self(id_config.but_prompt,37,0,0,0);
set_self(id_config.but_putcard,37,0,0,0);
set_self(id_config.but_pass,37,0,0,0);
set_self(id_config.pass_prompt,37,0,0,0);
set_self(id_config.txt_di,37,0,0,0);
set_self(id_config.but_mingpai,37,0,0,0);
set_self(id_config.but_maxpass,37,0,0,0);
if(type == 2) {//显示3个按钮
set_self(id_config.but_prompt,37,1,0,0);
set_self(id_config.but_prompt,18,id_config.but_prompt_x[1],0,0);
set_self(id_config.but_putcard,37,1,0,0);
set_self(id_config.but_putcard,18,id_config.but_putcard_x[1],0,0);
set_self(id_config.but_pass,37,1,0,0);
set_self(id_config.but_pass,18,id_config.but_pass_x[1],0,0);
}else if (type == 1) {//只显示出牌
if (show) {
set_self(id_config.but_prompt,37,1,0,0);
set_self(id_config.but_prompt,18,id_config.but_prompt_x[0],0,0);
set_self(id_config.but_putcard,37,1,0,0);
set_self(id_config.but_putcard,18,id_config.but_putcard_x[0],0,0);
} else {
if(Public_data.data.caozuo == 0){
var mp = 0;
for (var i = 0; i < Public_data.data.maxman; i++) {
if (Public_data.data.mp_zt[i] == 1) {
mp = 1;
}
}
if (mp == 0) {//显示明牌按钮
set_self(id_config.but_mingpai,37,1,0,0);
id_config.clock_x[0] = 600;
clock(1); //时钟显示
set_self(id_config.but_putcard,18,id_config.but_putcard_x[2],0,0);
}else{//隐藏明牌按钮
set_self(id_config.but_mingpai,37,0,0,0);
set_self(id_config.but_putcard,18,id_config.but_putcard_x[3],0,0);
id_config.clock_x[0] = 428;
clock(1); //时钟显示
}
}else{
set_self(id_config.but_putcard,18,id_config.but_putcard_x[2],0,0);
}
set_self(id_config.but_putcard,37,1,0,0);
}
}else if (type == 3) {//显示要不起
set_self(id_config.but_maxpass,37,1,0,0);
set_self(id_config.but_maxpass,18,id_config.but_pass_x[2],0,0);
set_self(id_config.pass_prompt,37,1,0,0);
set_self(id_config.txt_di,37,1,0,0);
All_ani.put_err.show(0);
}
}