サブコマンド: util seq¶
概要¶
入力されたパターンの *
などをシーケンス(ツモ順)に展開します。
展開のほかに、ホールドによるミノの入れ替えにも対応しています。
対応している変換モードは以下の通りです。
pass
:*
などを展開だけを行うforward
: 指定パターンから、ホールドでミノを入れ替えてつくれる、ホールド後のシーケンスを展開するbackward
: ホールドでミノを入れ替えると、指定パターンの形になる、ホールドの前の元のシーケンスを展開する。最終的にホールドされるため特定できないミノは*
が出力されますbackward-and-pass
backward-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-pass
backward-pass
:backward
と同じ処理をした後、*
を7種類のミノで展開します
-l
, --length
[default: -1]¶
変換後のシーケンスの長さを指定します。
-1
を入力したとき、以下の値が自動的に設定されます。
pass
: 入力されたパターンの長さと同じforward
: 入力されたパターンの長さ - 1backward
backward-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
対象:
T
I
O
L
J
S
Z
演算子:
== (=も可)
!=
<
<=
>
>=
-hh
, --head-hold
[default: yes]¶
パターン( forward
モード)・出力されるシーケンス( backward
モード) の先頭のミノを、ホールドの初期値として扱うかどうかを指定します。
この設定値は、ホールドの回数に影響を与えます。
たとえば LZSO
というシーケンスがあるとき、
--hh yes
を指定すると、L``がホールドされている状態で ``Z
を受け取るところから開始される--hh no
を指定すると、何もホールドされていない状態でL
を受け取るところから開始される
となります。