Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: [0778] カスタムキー用に一部の部分キー定義を標準実装 #1614

Merged
merged 9 commits into from Feb 8, 2024

Conversation

cwtickle
Copy link
Owner

@cwtickle cwtickle commented Feb 6, 2024

🔨 変更内容 / Details of Changes

  1. カスタムキー用に、一部の部分キー定義を標準実装しました。
    charaX, stepRtnX, keyCtrlX の一部が対象です。
g_keyObj = {

    // 頻度の高い譜面データ名パターン
    // 後で chara4A, chara4A_a, chara4A_b, ... に変換する
    ptchara4A: [`left`, `down`, `up`, `right`],
    ptchara3S: [`left`, `leftdia`, `down`],
    ptchara3J: [`up`, `rightdia`, `right`],
    ptchara7: [`left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],

    // 頻度の高い部分ShapeGroupの定義
    stepRtn4A: [0, -90, 90, 180],
    stepRtn3S: [0, -45, -90],
    stepRtn3J: [90, 135, 180],
    stepRtn3Z: [`giko`, `onigiri`, `iyo`],

    // 頻度の高い部分キーコンフィグの定義
    keyCtrl4A: [[`Left`], [`Down`], [`Up`], [`Right`]],
    keyCtrl4S: [[`S`], [`D`], [`E`, `R`], [`F`]],
    keyCtrl4J: [[`J`], [`K`], [`I`, `O`], [`L`]],
    keyCtrl4W: [[`W`], [`E`], [`D3`, `D4`], [`R`]],
    keyCtrl4U: [[`U`], [`I`], [`D8`, `D9`], [`O`]],
    keyCtrl3S: [[`S`], [`D`], [`F`]],
    keyCtrl3J: [[`J`], [`K`], [`L`]],
    keyCtrl3W: [[`W`], [`E`], [`R`]],
    keyCtrl3Z: [[`Z`], [`X`], [`C`]],
};

この定義を行うと、次のようなことが可能です。

|keyCtrl9A=4S,Space,4J|     // S, D, E/R, F, Space, J, K, I/O, L と同じ
|chara9A=4A,space,4A_s|     // left, down, up, right, space, sleft, sdown, sup, sright と同じ
|stepRtn9A=4A,onigiri,4A|   // 0, -90, 90, 180, onigiri, 0, -90, 90, 180 と同じ

|keyCtrl18=
4W,Space,4A,3S,3Z,3J
4W,Space,4A,3S,V,B,N,3J
4W,Space,4U,3S,3Z,3J
4W,Space,4U,3S,V,B,N,3J
|
|chara18=4A_s,space,4A_a,3S,gor,oni,iyo,3J$18_0$18_0$18_0|
|stepRtn18=9A_0,3S,3Z,3J$18_0$18_0$18_0|

->
|keyCtrl18=
W,E,D3/D4,R,Space,Left,Down,Up,Right,S,D,F,Z,X,C,J,K,L
W,E,D3/D4,R,Space,Left,Down,Up,Right,S,D,F,V,B,N,J,K,L
W,E,D3/D4,R,Space,U,I,D8/D9,O,S,D,F,Z,X,C,J,K,L
W,E,D3/D4,R,Space,U,I,D8/D9,O,S,D,F,V,B,N,J,K,L|
|chara18=sleft,sdown,sup,sright,space,aleft,adown,aup,aright,left,leftdia,down,gor,oni,iyo,up,rightdia,right$18_0$18_0$18_0|
|stepRtn18=9A_0,0,-45,-90,giko,onigiri,iyo,90,135,180$18_0$18_0$18_0|
  • sleft, sleftdia, sdown, sspace, sup, srightdia, sright を指定したいとき
    |charaX=7_s| と指定
  • tleft, tleftdia, tdown, tup, trightdia, tright を指定したいとき
    |charaX=3S_t,3J_t|と指定
  1. posXについて略記指定に対応しました。
    (開始数字)...(終了数字)の記法で開始から終了までカウントアップした文字列を自動生成します。
    開始数字には小数を使うこともできます。
    また、(開始数字)...(+加算数)の記法で開始から加算数を加えた分までカウントアップした文字列を自動生成します。
|pos9j=0...4,6...9| <-> |pos9j=0,1,2,3,4,6,7,8,9| 

|pos20=0...3,5...+3,10...+11$|
<->
|pos20=0...3,5...8,10...21$|
<->
|pos20=0,1,2,3,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20,21$|
<->
|pos20=0,1,2,3,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20,21$0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19|
  1. colorX, shuffleX, stepRtnXの略記指定を拡張しました。
    (対象)@:(繰り返し数)の記法で対象文字を繰り返し表示することができます。
    また、(対象1!対象2!対象3)@:(繰り返し数)で対象1~3を繰り返すこともできます。
|color20=4@:4,3@:4,4@:4,8_2_0$20_0|
-> |color20=4,4,4,4,3,3,3,3,4,4,4,4,8_2_0$20_0|
-> |color20=4,4,4,4,3,3,3,3,4,4,4,4,2,0,1,0,1,0,1,0$20_0|
-> |color20=4,4,4,4,3,3,3,3,4,4,4,4,2,0,1,0,1,0,1,0$4,4,4,4,3,3,3,3,4,4,4,4,2,0,1,0,1,0,1,0|

|stepRtnXX=onigiri@3|
-> |stepRtnXX=onigiri,onigiri,onigiri|

|stepRtnXX=0!-90!90!180@:3|
-> |stepRtnXX=0,-90,90,180,0,-90,90,180,0,-90,90,180|

🔖 関連Issue, 変更理由 / Related Issues, Reason for Changes

1~3. 主にトランスキー定義の記述簡略化のため。
特にcolorX, posXについては数字列の間違いが起こりやすく、終了位置がわかりにくい問題がありました。

📷 スクリーンショット / Screenshot

📝 その他コメント / Other Comments

  • 従来の略記記法とは異なる区切り文字を使っているため、影響は無いと思います。
  • 2.で数字の範囲指定のドットを3つにしている理由は、
    数字に小数が使える関係で、2つだと視認しにくいためです。

@cwtickle cwtickle marked this pull request as draft February 6, 2024 21:38
@cwtickle
Copy link
Owner Author

cwtickle commented Feb 6, 2024

  • keyCtrlXでコードミスがあるので直す
  • charaXはまだいいが、keyCtrlXとstepRtnXはa,b,cではそれぞれ何を表しているかが分かりにくい。特に命名上の制約はないのでわかりやすい名前の方がいい
  • charaの6キーの部分グループは他と同様3キーずつに割った方が使いやすいかも
    ⇒見直しました。

Copy link

codeclimate bot commented Feb 8, 2024

Code Climate has analyzed commit d5e04b5 and detected 0 issues on this pull request.

View more on Code Climate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant