删除 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>
255 lines
6.2 KiB
JavaScript
255 lines
6.2 KiB
JavaScript
|
|
//显示上次出牌提示
|
|
d.show_ponit_out=function()
|
|
{
|
|
if (Desk.roomtype[19]) {
|
|
return ;
|
|
}
|
|
if(Desk.stage!=0 && d.user_ctrl[4+C_Player.seat]==0)
|
|
{
|
|
if(d.last_operate[0]==0)
|
|
{set_self(1022,37,1,0,0);
|
|
set_self(1022,51,0,0,0);
|
|
var sea_seat=d.last_operate[2];
|
|
var lastid=d.get_sea_lastid(sea_seat);
|
|
if(d.last_operate[1] && d.last_operate[1]>=50)
|
|
{lastid=d.get_sea_hua_lastid(sea_seat);}
|
|
var x=get_self(lastid,18,0,0,0)+ifast_div(get_self(lastid,20,0,0,0),2)-17;
|
|
set_self(1022,18,x,0,0);
|
|
set_self(1022,19,get_self(lastid,19,0,0,0)-33,0,0);
|
|
//play_ani123(1,1022,19,get_self(lastid,19,0,0,0)-33,get_self(lastid,19,0,0,0)-33+5,500,0,0,1);
|
|
if(get_self(lastid,19,0,0,0)<39)
|
|
{set_self(1022,19,get_self(lastid,19,0,0,0)-33+36+39,0,0);
|
|
set_self(1022,51,1,0,0);
|
|
//play_ani123(1,1022,19,get_self(lastid,19,0,0,0)-33+36+39,get_self(lastid,19,0,0,0)-33+36+39-5,500,0,0,1);
|
|
}
|
|
}
|
|
else if(d.last_operate[0]==1 || d.last_operate[0]==2 || d.last_operate[0]==4 || d.last_operate[0]==5)
|
|
{set_self(1022,37,1,0,0);
|
|
set_self(1022,51,0,0,0);
|
|
var seat=d.last_operate[2];
|
|
var ids=[953,971,989,1007];
|
|
//2人模式
|
|
var persons = [4, 4, 3, 2];
|
|
var person = persons[d.roomtype[6]] || 4;
|
|
if(person==2)
|
|
{ids=[953,989,989,989];
|
|
}
|
|
var id=ids[d.pos[seat]];
|
|
var f=d.last_operate[1];
|
|
var n=0;
|
|
var lastid=0;
|
|
for(var i=0;i<19;i++)
|
|
{
|
|
if(get_self(id-i,37,0,0,0)==1)
|
|
{
|
|
if(d.last_operate[0]!=1 && get_self(id-i,43,0,0,0)==60)
|
|
{
|
|
if(get_self(id-i-1,37,0,0,0)==1 && get_self(id-i-1,43,0,0,0)==f)
|
|
{n=2;
|
|
lastid=id-i-1;
|
|
}
|
|
else if(get_self(id-i-1,37,0,0,0)==1 && d.an_gang_num[seat]>0)
|
|
{n=2;
|
|
lastid=id-i-1;
|
|
}
|
|
}
|
|
else if(get_self(id-i,43,0,0,0)==f)
|
|
{n+=1;
|
|
lastid=id-i;
|
|
}
|
|
if(n==2)
|
|
{var x=get_self(lastid,18,0,0,0)+ifast_div(get_self(lastid,20,0,0,0),2)-17;
|
|
set_self(1022,18,x,0,0);
|
|
set_self(1022,19,get_self(lastid,19,0,0,0)-33,0,0);
|
|
//play_ani123(1,1022,19,get_self(lastid,19,0,0,0)-33,get_self(lastid,19,0,0,0)-33+5,500,0,0,1);
|
|
if(get_self(lastid,19,0,0,0)<39)
|
|
{set_self(1022,19,get_self(lastid,19,0,0,0)-33+36+39,0,0);
|
|
set_self(1022,51,1,0,0);
|
|
//play_ani123(1,1022,19,get_self(lastid,19,0,0,0)-33+36+39,get_self(lastid,19,0,0,0)-33+36+39-5,500,0,0,1);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if(d.last_operate[0]==3)
|
|
{set_self(1022,37,1,0,0);
|
|
set_self(1022,51,0,0,0);
|
|
var seat=d.last_operate[2];
|
|
var ids=[953,971,989,1007];
|
|
//2人模式
|
|
var persons = [4, 4, 3, 2];
|
|
var person = persons[d.roomtype[6]] || 4;
|
|
if(person==2)
|
|
{ids=[953,989,989,989];
|
|
}
|
|
var id=ids[d.pos[seat]];
|
|
var f=d.last_operate[1];
|
|
var n=0;
|
|
var lastid=0;
|
|
for(var i=0;i<19;i++)
|
|
{
|
|
if(get_self(id-i,37,0,0,0)==1)
|
|
{
|
|
if(get_self(id-i,43,0,0,0)==f)
|
|
{lastid=id-i;
|
|
var x=get_self(lastid,18,0,0,0)+ifast_div(get_self(lastid,20,0,0,0),2)-17;
|
|
set_self(1022,18,x,0,0);
|
|
set_self(1022,19,get_self(lastid,19,0,0,0)-33,0,0);
|
|
//play_ani123(1,1022,19,get_self(lastid,19,0,0,0)-33,get_self(lastid,19,0,0,0)-33+5,500,0,0,1);
|
|
if(get_self(lastid,19,0,0,0)<39)
|
|
{set_self(1022,19,get_self(lastid,19,0,0,0)-33+36+39,0,0);
|
|
set_self(1022,51,1,0,0);
|
|
//play_ani123(1,1022,19,get_self(lastid,19,0,0,0)-33+36+39,get_self(lastid,19,0,0,0)-33+36+39-5,500,0,0,1);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
if(get_self(1475,37,0,0,0)==1)
|
|
{set_self(1022,37,1,0,0);
|
|
set_self(1022,51,0,0,0);
|
|
var lastid=1475;
|
|
var x=get_self(lastid,18,0,0,0)+ifast_div(get_self(lastid,20,0,0,0),2)-17;
|
|
set_self(1022,18,x,0,0);
|
|
set_self(1022,19,get_self(lastid,19,0,0,0)-33,0,0);
|
|
//play_ani123(1,1022,19,get_self(lastid,19,0,0,0)-33,get_self(lastid,19,0,0,0)-33+5,500,0,0,1);
|
|
if(get_self(1475,19,0,0,0)<39)
|
|
{set_self(1022,19,get_self(lastid,19,0,0,0)-33+36+39,0,0);
|
|
set_self(1022,51,1,0,0);
|
|
//play_ani123(1,1022,19,get_self(lastid,19,0,0,0)-33+36+39,get_self(lastid,19,0,0,0)-33+36+39-5,500,0,0,1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//是否顺子
|
|
d.straight3=function (arr1,card)
|
|
{
|
|
var arr2=[[card-2,card-1,card],[card-1,card,card+1],[card,card+1,card+2]];
|
|
//吃风牌
|
|
if(card>=30 && card<40)
|
|
{var card0=[];
|
|
for(var i=0;i<4;i++)
|
|
{
|
|
if(31+i!=card)
|
|
{card0[card0.length]=31+i;
|
|
}
|
|
}
|
|
arr2=[[card,card0[0],card0[1]],[card,card0[0],card0[2]],[card,card0[1],card0[2]]];
|
|
d.ord(arr2[0]);d.ord(arr2[1]);d.ord(arr2[2]);
|
|
}
|
|
var ban=[0,0,0]
|
|
for(var i=0;i<3;i++)
|
|
{
|
|
for(var j=0;j<3;j++)
|
|
{
|
|
if(arr2[i][j]!=card && arr1.indexOf(arr2[i][j])==-1)
|
|
{ban[i]=1;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
var r=[];
|
|
for(var i=0;i<3;i++)
|
|
{
|
|
if(ban[i]==0)
|
|
{r[r.length]=d.c(arr2[i]);
|
|
}
|
|
}
|
|
return r;
|
|
}
|
|
//是否刻子
|
|
d.same=function (arr1,card)
|
|
{var n=0;
|
|
var arr2=d.c(arr1);
|
|
for(var i=0;i<3;i++)
|
|
{var pos=arr2.indexOf(card);
|
|
if(pos!=-1)
|
|
{arr2.splice(pos,1);
|
|
n+=1;
|
|
}
|
|
}
|
|
return n;
|
|
}
|
|
//可吃的牌型
|
|
d.eat=function (arr,card)
|
|
{var arr0=d.straight3(arr,card);
|
|
return arr0;
|
|
}
|
|
//可碰的牌型
|
|
d.bump=function (arr,card)
|
|
{var exist=d.same(arr,card);
|
|
var arr0=[];
|
|
if(exist>=2)
|
|
{arr0=[card,card,card];}
|
|
// else if(exist==4)
|
|
// {arr0=[card,card,card,card];}
|
|
return arr0;
|
|
}
|
|
//可杠的牌型
|
|
d.bar=function (arr,card)
|
|
{var exist=d.same(arr,card);
|
|
var arr0=[];
|
|
if(exist==3)
|
|
{arr0=[card,card,card,card];}
|
|
return arr0;
|
|
}
|
|
d.get_handpos_byid=function (seat,cards)
|
|
{var pos_r=[];
|
|
for(var i=0;i<cards.length;i++)
|
|
{var pos=d.hand[seat][0].indexOf(cards[i]);
|
|
if(pos!=-1)
|
|
{pos_r[pos_r.length]=pos;
|
|
}
|
|
}
|
|
return pos_r;
|
|
}
|
|
//数组判断
|
|
d.isArray=function (obj){
|
|
return Object.prototype.toString.call(obj) === '[object Array]';
|
|
}
|
|
//截取昵称长度
|
|
d.getLen=function(str) {
|
|
// if (str == null) return 0;
|
|
// if (typeof str != "string"){
|
|
// str += "";
|
|
// }
|
|
// return str.replace(/[^\x00-\xff]/g,"01").length;
|
|
var l0=str.length;
|
|
var len = 0;
|
|
var l=0;
|
|
for (var i=0; i<str.length; i++) {
|
|
var c = str.charCodeAt(i);
|
|
if (len<=10-1 && (c >= 0 && c <= 128)) {
|
|
len++;l++;
|
|
}
|
|
else if(len<=10-2){
|
|
len+=2;l++;
|
|
}
|
|
else
|
|
{break;
|
|
}
|
|
}
|
|
str=str.slice(0,l);
|
|
if(l<l0)
|
|
{str=str+".."}
|
|
return str;
|
|
}
|
|
//得到长度
|
|
d.getLen1=function(str) {
|
|
var len = 0;
|
|
for (var i=0; i<str.length; i++){
|
|
var c = str.charCodeAt(i);
|
|
if ( c >= 0 && c <= 128){
|
|
len++;}
|
|
else{ len+=2;}
|
|
}
|
|
return len;
|
|
}
|
|
|
|
|
|
|