danoniplus 29.4.9 → 29.4.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/js/danoni_main.js +22 -16
- package/package.json +1 -1
package/js/danoni_main.js
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Source by tickle
|
|
6
6
|
* Created : 2018/10/08
|
|
7
|
-
* Revised :
|
|
7
|
+
* Revised : 2024/03/17
|
|
8
8
|
*
|
|
9
9
|
* https://github.com/cwtickle/danoniplus
|
|
10
10
|
*/
|
|
11
|
-
const g_version = `Ver 29.4.
|
|
12
|
-
const g_revisedDate = `
|
|
11
|
+
const g_version = `Ver 29.4.11`;
|
|
12
|
+
const g_revisedDate = `2024/03/17`;
|
|
13
13
|
const g_alphaVersion = ``;
|
|
14
14
|
|
|
15
15
|
// カスタム用バージョン (danoni_custom.js 等で指定可)
|
|
@@ -442,11 +442,14 @@ const nextPos = (_basePos, _num, _length) => (_basePos + _length + _num) % _leng
|
|
|
442
442
|
* 特定キーコードを置換する処理
|
|
443
443
|
* @param {string} _setCode
|
|
444
444
|
*/
|
|
445
|
-
const transCode =
|
|
446
|
-
|
|
447
|
-
|
|
445
|
+
const transCode = _evt => {
|
|
446
|
+
const evtCode = _evt.code;
|
|
447
|
+
if ([`Control`, `Shift`, `Alt`].includes(evtCode.slice(0, -5))) {
|
|
448
|
+
return evtCode.replaceAll(`Right`, `Left`);
|
|
449
|
+
} else if (evtCode === `` && _evt.key === `Shift`) {
|
|
450
|
+
return `ShiftLeft`;
|
|
448
451
|
}
|
|
449
|
-
return
|
|
452
|
+
return evtCode;
|
|
450
453
|
};
|
|
451
454
|
|
|
452
455
|
/**
|
|
@@ -471,7 +474,7 @@ const commonKeyDown = (_evt, _displayName, _func = _code => { }, _dfEvtFlg) => {
|
|
|
471
474
|
if (!_dfEvtFlg) {
|
|
472
475
|
_evt.preventDefault();
|
|
473
476
|
}
|
|
474
|
-
const setCode = transCode(_evt
|
|
477
|
+
const setCode = transCode(_evt);
|
|
475
478
|
if (_evt.repeat && (g_unrepeatObj.page.includes(_displayName) || g_unrepeatObj.key.includes(setCode))) {
|
|
476
479
|
return blockCode(setCode);
|
|
477
480
|
}
|
|
@@ -505,7 +508,7 @@ const commonKeyDown = (_evt, _displayName, _func = _code => { }, _dfEvtFlg) => {
|
|
|
505
508
|
*/
|
|
506
509
|
const commonKeyUp = _evt => {
|
|
507
510
|
g_inputKeyBuffer[g_kCdNameObj.metaKey] = false;
|
|
508
|
-
g_inputKeyBuffer[transCode(_evt
|
|
511
|
+
g_inputKeyBuffer[transCode(_evt)] = false;
|
|
509
512
|
};
|
|
510
513
|
|
|
511
514
|
/**
|
|
@@ -1263,7 +1266,7 @@ const resetKeyControl = _ => {
|
|
|
1263
1266
|
document.onkeyup = _ => { };
|
|
1264
1267
|
document.onkeydown = evt => {
|
|
1265
1268
|
evt.preventDefault();
|
|
1266
|
-
return blockCode(transCode(evt
|
|
1269
|
+
return blockCode(transCode(evt));
|
|
1267
1270
|
};
|
|
1268
1271
|
g_inputKeyBuffer = {};
|
|
1269
1272
|
};
|
|
@@ -8568,7 +8571,7 @@ const mainInit = _ => {
|
|
|
8568
8571
|
// キー操作イベント
|
|
8569
8572
|
document.onkeydown = evt => {
|
|
8570
8573
|
evt.preventDefault();
|
|
8571
|
-
const setCode = transCode(evt
|
|
8574
|
+
const setCode = transCode(evt);
|
|
8572
8575
|
|
|
8573
8576
|
if (evt.repeat && !g_mainRepeatObj.key.includes(setCode)) {
|
|
8574
8577
|
return blockCode(setCode);
|
|
@@ -8636,7 +8639,7 @@ const mainInit = _ => {
|
|
|
8636
8639
|
};
|
|
8637
8640
|
|
|
8638
8641
|
document.onkeyup = evt => {
|
|
8639
|
-
const setCode = transCode(evt
|
|
8642
|
+
const setCode = transCode(evt);
|
|
8640
8643
|
g_inputKeyBuffer[setCode] = false;
|
|
8641
8644
|
mainKeyUpActFunc[g_stateObj.autoAll]();
|
|
8642
8645
|
};
|
|
@@ -8856,19 +8859,22 @@ const mainInit = _ => {
|
|
|
8856
8859
|
|
|
8857
8860
|
frzOFF: (_j, _k, _cnt) => {
|
|
8858
8861
|
|
|
8859
|
-
|
|
8862
|
+
// 判定対象が自身より前のフリーズアローで、自身の判定範囲がキター(O.K.)の範囲内のとき
|
|
8863
|
+
if (g_workObj.judgFrzCnt[_j] === _k - 1 && _cnt <= g_judgObj.frzJ[g_judgPosObj.sfsf]) {
|
|
8860
8864
|
const prevFrzName = `frz${_j}_${g_workObj.judgFrzCnt[_j]}`;
|
|
8861
8865
|
const prevFrz = g_attrObj[prevFrzName];
|
|
8862
8866
|
|
|
8863
|
-
|
|
8867
|
+
// 自身より前のフリーズアローが移動中かつキター(O.K.)の領域外のとき
|
|
8868
|
+
if (prevFrz.isMoving && prevFrz.cnt < (-1) * g_judgObj.frzJ[g_judgPosObj.kita]) {
|
|
8864
8869
|
|
|
8865
|
-
//
|
|
8866
|
-
if (prevFrz.cnt >= (-1) * g_judgObj.frzJ[g_judgPosObj.iknai]) {
|
|
8870
|
+
// 自身より前のフリーズアローが未判定の場合、強制的に枠外判定を行う
|
|
8871
|
+
if (prevFrz.cnt >= (-1) * g_judgObj.frzJ[g_judgPosObj.iknai] && !prevFrz.judgEndFlg) {
|
|
8867
8872
|
judgeIknai(prevFrz.cnt);
|
|
8868
8873
|
if (g_headerObj.frzStartjdgUse) {
|
|
8869
8874
|
judgeUwan(prevFrz.cnt);
|
|
8870
8875
|
}
|
|
8871
8876
|
}
|
|
8877
|
+
// 自身より前のフリーズアローを削除して判定対象を自身に変更 (g_workObj.judgFrzCnt[_j]をカウントアップ)
|
|
8872
8878
|
judgeObjDelete.frz(_j, prevFrzName);
|
|
8873
8879
|
}
|
|
8874
8880
|
}
|