Files
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

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;
}