Files
youle_cocos/projects/doudizhu/js/Class_branch/02_UI.js
T
joywayerandClaude Opus 4.8 7ab748919a chore: 纳入项目全部源码进根仓库统一管理
删除 YouleNexus 内嵌 .git,统一由根仓库唯一管理。提交:
- projects/ 旧 H5 模板 Game_Surface_3 与各子游戏源码
- cocoscreator_projects/YouleNexus 工程 + cocos-creator-mcp 扩展源码
- CLAUDE.md、.mcp.json 等配置
library/temp/node_modules/dist 等缓存由 .gitignore 排除。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 11:55:13 +08:00

584 lines
11 KiB
JavaScript

//界面显示
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);
}
}