删除 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>
196 lines
5.4 KiB
JavaScript
196 lines
5.4 KiB
JavaScript
//显示已经出的牌
|
||
d.show_sea = function () {
|
||
if(d.status==3){
|
||
return;
|
||
}if (Desk.roomtype[19]) {
|
||
return ;
|
||
}
|
||
if(Utl.getIsInfinite() == 1 && d.person_info[C_Player.seat] && d.person_info[C_Player.seat].new_one==1) {
|
||
return;
|
||
}
|
||
var arr_s0 = [1023, 1050, 1077, 1104];
|
||
//2人模式
|
||
var persons = [4, 4, 3, 2];
|
||
var person = persons[d.roomtype[6]] || 4;
|
||
if (person == 2) {
|
||
arr_s0 = [1023, 1077, 1077, 1077];
|
||
}
|
||
d.put_card++;
|
||
d.p_card=d.put_card;
|
||
var arr_s = [];
|
||
for (var i = 0; i < 4; i++) {
|
||
arr_s[i] = arr_s0[d.pos[i]];
|
||
set_group(207 + i, 37, 0, 0, 0);
|
||
}
|
||
for (var j = 0; j < 4; j++) {
|
||
var l = d.sea[j].length
|
||
var n = ifast_div((l + 1) / 9);
|
||
var ii = 0;
|
||
if (l > 21) {
|
||
ii = (n - 1) * 9;
|
||
}
|
||
for (var i = ii; i < l; i++) {
|
||
if (d.sea[j][i] && d.put_card==d.p_card) {
|
||
set_self(arr_s[j] + i - ii, 37, 1, 0, 0);
|
||
d.wos=1;
|
||
set_self(arr_s[j] + i - ii, 43, d.sea[j][i], 0, 0);
|
||
//d.show_ponit_out();
|
||
//d.put_card==d.p_card;
|
||
}
|
||
if(d.sea[j][i] == undefined){
|
||
set_self(arr_s[j] + i - ii, 37, 0, 0, 0);
|
||
}
|
||
}
|
||
}
|
||
if (d.last_operate[0] == 0) {
|
||
d.show_ponit_out();
|
||
d.wos=0;
|
||
}
|
||
d.show_sea_hua();
|
||
}
|
||
//显示已经出的花牌
|
||
d.show_sea_hua = function () {
|
||
return;
|
||
var arr_s0 = [1820, 1828, 1836, 1844];
|
||
var arr_s = [];
|
||
set_group(243, 37, 0, 0, 0);
|
||
for (var i = 0; i < 4; i++) {
|
||
arr_s[i] = arr_s0[d.pos[i]];
|
||
}
|
||
for (var j = 0; j < 4; j++) {
|
||
for (var i = 0; i < d.sea_hua[j].length; i++) {
|
||
if (d.sea_hua[j][i]) {
|
||
set_self(arr_s[j] + i, 37, 1, 0, 0);
|
||
set_self(arr_s[j] + i, 43, d.sea_hua[j][i], 0, 0);
|
||
}
|
||
else {
|
||
set_self(arr_s[j] + i, 37, 0, 0, 0);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
//牌池中最后1个花牌精灵的id
|
||
d.get_sea_hua_lastid = function (seat) {
|
||
var arr = [0, 0];//455,425/849,455/806,249/380,213 起始精灵:1023 1050 1077 1104
|
||
var start_spids = [1820, 1828, 1836, 1844];
|
||
var start_spid = start_spids[d.pos[seat]];
|
||
var l = d.sea_hua[seat].length;
|
||
lastid = start_spid + l - 1;//首个空出的精灵
|
||
return lastid;
|
||
}
|
||
//牌池中最后1个精灵的id
|
||
d.get_sea_lastid = function (seat) {
|
||
var arr = [0, 0];//455,425/849,455/806,249/380,213 起始精灵:1023 1050 1077 1104
|
||
var start_spids = [1023, 1050, 1077, 1104];
|
||
//2人模式
|
||
var persons = [4, 4, 3, 2];
|
||
var person = persons[d.roomtype[6]] || 4;
|
||
if (person == 2) {
|
||
start_spids = [1023, 1077, 1077, 1077];
|
||
}
|
||
var start_spid = start_spids[d.pos[seat]];
|
||
var l = d.sea[seat].length;
|
||
var l_y = 0;
|
||
var l_x = 0;
|
||
l_y = parseInt(l / 9);
|
||
l_x = l - l_y * 9;
|
||
lastid = start_spid + l_y * 9 + l_x - 1;//首个空出的精灵
|
||
for (var i = 0; i < 27; i++) {
|
||
if (get_self(start_spid + 26 - i, 37)) {
|
||
lastid = start_spid + 26 - i;
|
||
break;
|
||
}
|
||
}
|
||
return lastid;
|
||
}
|
||
//得到牌池首个空出的位置坐标
|
||
d.get_sea_freexy = function (seat, off) {
|
||
var arr = [0, 0];//455,425/849,455/806,249/380,213 起始精灵:1023 1050 1077 1104
|
||
var start_posxys = [[get_self(1023, 18, 0, 0, 0), get_self(1023, 19, 0, 0, 0)], [get_self(1050, 18, 0, 0, 0), get_self(1050, 19, 0, 0, 0)], [get_self(1077, 18, 0, 0, 0), get_self(1077, 19, 0, 0, 0)], [get_self(1104, 18, 0, 0, 0), get_self(1104, 19, 0, 0, 0)]];
|
||
var start_spids = [1023, 1050, 1077, 1104];
|
||
var start_posxy = start_posxys[d.pos[seat]];
|
||
var start_spid = start_spids[d.pos[seat]];
|
||
var l = d.sea[seat].length + off;
|
||
var l_y = 0;
|
||
var l_x = 0;
|
||
var y = start_posxy[1];
|
||
var x = start_posxy[0];
|
||
l_y = parseInt(l / 9);
|
||
l_x = l - l_y * 9 - 2;
|
||
if (get_self(start_spid, 44, 0, 0, 0) == 207) {
|
||
y = start_posxy[1] - l_y * 51;
|
||
x = start_posxy[0] + l_x * 47;
|
||
}
|
||
else if (get_self(start_spid, 44, 0, 0, 0) == 208) {
|
||
y = start_posxy[1] - l_x * 41;
|
||
x = start_posxy[0] - l_y * 55;
|
||
}
|
||
else if (get_self(start_spid, 44, 0, 0, 0) == 209) {
|
||
y = start_posxy[1] + l_y * 51;
|
||
x = start_posxy[0] - l_x * 47;
|
||
}
|
||
else if (get_self(start_spid, 44, 0, 0, 0) == 210) {
|
||
y = start_posxy[1] + l_x * 41;
|
||
x = start_posxy[0] + l_y * 55;
|
||
}
|
||
//arr[2]=start_spid+l_y*9+l_x;//首个空出的精灵
|
||
arr[2] = 1353;
|
||
arr[0] = x;
|
||
arr[1] = y;
|
||
var lastid = d.get_sea_lastid(seat);
|
||
var x1 = get_self(lastid, 18, 0, 0, 0);
|
||
var y1 = get_self(lastid, 19, 0, 0, 0);
|
||
if (arr[0] != x1) {
|
||
arr[0] = x1;
|
||
}
|
||
if (arr[1] != y1) {
|
||
arr[1] = y1;
|
||
}
|
||
d.act_put[0] = arr[0];//出牌 0spid,1目标x,2目标y
|
||
d.act_put[1] = arr[1];
|
||
return arr;
|
||
}
|
||
//得到其他3家随机手牌
|
||
d.get_rand_3handcard = function (seat, n) {
|
||
n = n || 1;
|
||
//var id_start=[936,954,972,990];
|
||
var id_start = [936, 954, 972, 990];
|
||
var l = d.hand[seat][0].length;
|
||
var ran_pos = ifast_random(l);
|
||
var throw_card_id = [];
|
||
throw_card_id[0] = id_start[d.pos[seat]] + ran_pos;
|
||
for (var i = 1; i < n; i++) {
|
||
var ran_pos1 = ran_pos + i;
|
||
if (ran_pos1 > l - 1) {
|
||
ran_pos1 = ran_pos - (ran_pos1 - (l - 1));
|
||
}
|
||
throw_card_id[i] = id_start[d.pos[seat]] + ran_pos1;
|
||
}
|
||
return throw_card_id;
|
||
}
|
||
|
||
d.get_song_downjing = function (downjing) {
|
||
var song_downjing = [];
|
||
if (downjing[0] < 30) {
|
||
song_downjing[0] = [downjing[0] % 10, downjing[1] % 10];
|
||
song_downjing[1] = [parseInt("1" + downjing[0] % 10), parseInt("1" + downjing[1] % 10)];
|
||
song_downjing[2] = [parseInt("2" + downjing[0] % 10), parseInt("2" + downjing[1] % 10)];
|
||
} else if (downjing[0] > 30 && downjing[0] < 40) {
|
||
song_downjing[0] = [31, 32];
|
||
song_downjing[1] = [32, 33];
|
||
song_downjing[2] = [33, 34];
|
||
song_downjing[3] = [34, 31];
|
||
} else if (downjing[0] > 40) {
|
||
song_downjing[0] = [41, 42];
|
||
song_downjing[1] = [42, 43];
|
||
song_downjing[2] = [43, 41];
|
||
}
|
||
return song_downjing;
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|