サブコマンド: util seq¶
概要¶
入力されたパターンの * などをシーケンス(ツモ順)に展開します。
展開のほかに、ホールドによるミノの入れ替えにも対応しています。
対応している変換モードは以下の通りです。
pass:*などを展開だけを行うforward: 指定パターンから、ホールドでミノを入れ替えてつくれる、ホールド後のシーケンスを展開するbackward: ホールドでミノを入れ替えると、指定パターンの形になる、ホールドの前の元のシーケンスを展開する。最終的にホールドされるため特定できないミノは*が出力されますbackward-and-passbackward-pass:backwardと同じ処理をした後、*を7種類のミノで展開します
基本コマンド¶
java -jar sfinder.jar util seq -p '*!'
サンプルコマンド¶
代表的なサンプルコマンドをいくつか例示します。
Sの直後にZがくるツモ順 (開幕7ミノ)¶
java -jar sfinder.jar util seq -M pass -hh no -p *! -e 'SZ'
SがZより先にくるツモ順 (開幕7ミノ)¶
java -jar sfinder.jar util seq -M pass -hh no -p *! -e 'S.*Z'
Sが先頭から2番目にくるツモ順 (開幕7ミノ)¶
java -jar sfinder.jar util seq -M pass -hh no -p *! -e '^.S'
Sが先頭から1番目か2番目にくるツモ順 (開幕7ミノ)¶
java -jar sfinder.jar util seq -M pass -hh no -p *! -e '^.{0,1}?S'
Sが最後から2番目にくるツモ順 (開幕7ミノ)¶
java -jar sfinder.jar util seq -M pass -hh no -p *! -e 'S.$'
Tが2個含まれるツモ順 (任意のホールド+4ミノ選択)¶
java -jar sfinder.jar util seq -M pass -p *,*p4 -n T=2
ツモ順 TIOLJ から、ホールド1回以内で並び変えられる、ホールド後のシーケンス (4ミノ)¶
java -jar sfinder.jar util seq -M forward -p TIOLJ -n HOLD<=1
※ 先頭の T は、はじめからホールドにある設定です
ツモ順 TIOLJ にホールド1回以内で並び変えられる、ホールド前のシーケンス (6ミノ)¶
java -jar sfinder.jar util seq -M backward -p TIOLJ -n HOLD<=1
※ 出力されるシーケンスの先頭のミノは、はじめからホールドにある設定です
フィルタリングや変換処理の順番¶
各オプションの処理される順番は以下のようになっています。
パターンをモードに従って展開
ホールドの回数によるフィルタリング (
-nオプション)シーケンスサイズの変換処理 (
-lオプション)ミノの個数によるフィルタリング (
-nオプション)正規表現によるフィルタリング (
-eオプション)シーケンスの出力
オプション一覧¶
short |
long |
default |
|---|---|---|
|
|
なし |
|
|
pass |
|
|
-1 |
|
|
yes |
|
|
なし |
|
|
なし |
|
|
なし |
|
|
yes |
-M, --mode [default: pass]¶
入力されたパターンをどのように変換するかモードを指定する。
対応しているモードは以下の通り。
pass:*などを展開だけを行うforward: 指定パターンから、ホールドでミノを入れ替えてつくれる、ホールド後のシーケンスを展開するbackward: ホールドでミノを入れ替えると、指定パターンの形になる、ホールドの前の元のシーケンスを展開する。最終的にホールドされるため特定できないミノは*が出力されますbackward-and-passbackward-pass:backwardと同じ処理をした後、*を7種類のミノで展開します
-l, --length [default: -1]¶
変換後のシーケンスの長さを指定します。
-1 を入力したとき、以下の値が自動的に設定されます。
pass: 入力されたパターンの長さと同じforward: 入力されたパターンの長さ - 1backwardbackward-and-pass: 入力されたパターンの長さ + 1
-e, --expression [default: なし]¶
変換後のシーケンスに対して、条件が満たしているものだけを取り出します。
条件は正規表現で指定します。
なお -ne を同時に指定した場合、2つのオプションを満たすもの(AND)が取り出されます。
-ne, --not-expression [default: なし]¶
変換後のシーケンスに対して、条件が満たさないものだけを取り出します。
条件は正規表現で指定します。
なお -e を同時に指定した場合、2つのオプションを満たすもの(AND)が取り出されます。
-n, --num [default: なし]¶
変換後のシーケンスに対して、ミノの個数やホールドの回数の条件を満たすものだけを取り出します。
条件は T==0 1<Hold のように指定します。条件を複数個同時に指定する場合は、スペースでつなげてください。
ex) S=1 Z=1 0<Hold
対象:
TIOLJSZ演算子:
== (=も可)!=<<=>>=
-hh, --head-hold [default: yes]¶
パターン( forward モード)・出力されるシーケンス( backward モード) の先頭のミノを、ホールドの初期値として扱うかどうかを指定します。
この設定値は、ホールドの回数に影響を与えます。
たとえば LZSO というシーケンスがあるとき、
--hh yesを指定すると、L``がホールドされている状態で ``Zを受け取るところから開始される--hh noを指定すると、何もホールドされていない状態でLを受け取るところから開始される
となります。