From 784a8ce0fefb6eebf6787d56993139e42ca80497 Mon Sep 17 00:00:00 2001 From: JOJO <1498581755@qq.com> Date: Thu, 6 Aug 2026 16:53:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=BF=80=E5=85=89=E9=92=A2=E7=90=B4=E6=8A=80?= =?UTF-8?q?=E8=83=BD=E6=A6=82=E7=8E=87=E9=87=8D=E5=88=86=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 扫(顺/反)合占1/4(各1/8)、来回(顺/反)合占1/4(各1/8)——前摇0.3s→0.1s - 乱序(锁玩家+随机键)独立占1/4、齐射独立占1/4 - 乱序/齐射每次触发随机3~6轮(原固定/只一轮),齐射P1的4连不射大齐射统一为随机键齐射 - 模拟40万局:四组各25%,次数3~6均匀 --- star-raid/js/enemies.js | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/star-raid/js/enemies.js b/star-raid/js/enemies.js index 6b28706..0ee4fd4 100644 --- a/star-raid/js/enemies.js +++ b/star-raid/js/enemies.js @@ -437,18 +437,21 @@ function bossMain(b,def,fm){ ks.hotList=null;ks.hot=-1;SFX.eshoot();}} ks.t--; if(ks.t<=0&&ks.hotT<=0){ - if(ks.i>=ks.seq.length){ // 布下一局:完全随机选模式(6种:0~5,勿写成6——会多占齐射档位稀释乱序),局间无间隔 - ks.mode=rndi(0,5); + if(ks.i>=ks.seq.length){ // 布下一局:加权随机——扫/来回各合1/4,乱序/齐射各1/4;局间无间隔 + const m=Math.random(); + if(m<0.25)ks.mode=rndi(0,1); // 两个扫:合1/4(各1/8) + else if(m<0.5)ks.mode=rndi(2,3); // 两个来回:合1/4(各1/8) + else if(m<0.75)ks.mode=4; // 乱序:1/4(锁玩家+随机键) + else ks.mode=5; // 齐射:1/4 if(ks.mode===0){ks.seq=[];for(let i=0;i=3;i--)ks.seq.push(i);} // 反扫:20→3,最左3键安全 - else if(ks.mode===2){ks.seq=[];for(let i=0;i=0;i--)ks.seq.push(i);} // 顺滑奏:0→17→0,最右3键安全 - else if(ks.mode===3){ks.seq=[];for(let i=n-1;i>=3;i--)ks.seq.push(i);for(let i=3;i=1){ks.seq=[];for(let i=0;i<6+ph*2;i++)ks.seq.push(-1);} // 齐射P2:保持原逻辑(随机6键,多次) - else{ks.seq=[-3];} // 齐射P1:4连不射其余全射,只发射一次 - ks.i=0;ks.t=ks.mode<=3?Math.round(18/fm):0; // 扫/滑四种模式开局前蓄力0.3秒,其余无间隔 + else if(ks.mode===2){ks.seq=[];for(let i=0;i=0;i--)ks.seq.push(i);} // 顺来回:0→17→0,最右3键安全 + else if(ks.mode===3){ks.seq=[];for(let i=n-1;i>=3;i--)ks.seq.push(i);for(let i=3;ik!==kNear&&k!==kNear2); ks.hotList=[kNear,kNear2].concat(pool.slice(0,2+ph*2)); ks.hotT=9;ks.hotT0=9;ks.t=Math.round((ph?7:10)/fm);} - else if(cur===-3){const safeStart=rndi(0,n-4);const all=[];for(let i=0;i=safeStart+4)all.push(i);ks.hotList=all;ks.hotT=9;ks.hotT0=9;ks.t=Math.round((ph?10:15)/fm);} // 齐射P1:4连不射 - else{ks.hot=cur;ks.hotT=1;ks.hotT0=1;ks.t=Math.max(1,Math.round((ph?1:2)/fm));} // 顺/反扫/滑奏:快速 + else{ks.hot=cur;ks.hotT=1;ks.hotT0=1;ks.t=Math.max(1,Math.round((ph?1:2)/fm));} // 顺/反扫/来回:快速 } } b.mainT=4;break;}