============================================================ サブコマンド: 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 ======== ====================== ====================== ``-p`` ``--patterns`` なし ``-M`` ``--mode`` pass ``-l`` ``--length`` -1 ``-d`` ``--distinct`` yes ``-e`` ``--expression`` なし ``-ne`` ``--not-expression`` なし ``-n`` ``--num`` なし ``-hh`` ``--head-hold`` yes ======== ====================== ====================== ``-p``, ``--patterns`` [default: なし] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 探索ミノの組み合わせパターンを指定する。 パターンを変更したい場合は ``--pattern *p7`` のように指定する。 ``-M``, ``--mode`` [default: pass] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 入力されたパターンをどのように変換するかモードを指定する。 対応しているモードは以下の通り。 * ``pass``: ``*`` などを展開だけを行う * ``forward``: 指定パターンから、ホールドでミノを入れ替えてつくれる、ホールド後のシーケンスを展開する * ``backward``: ホールドでミノを入れ替えると、指定パターンの形になる、ホールドの前の元のシーケンスを展開する。最終的にホールドされるため特定できないミノは ``*`` が出力されます * ``backward-and-pass`` ``backward-pass``: ``backward`` と同じ処理をした後、``*`` を7種類のミノで展開します ``-l``, ``--length`` [default: -1] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 変換後のシーケンスの長さを指定します。 ``-1`` を入力したとき、以下の値が自動的に設定されます。 * ``pass``: 入力されたパターンの長さと同じ * ``forward``: 入力されたパターンの長さ - 1 * ``backward`` ``backward-and-pass``: 入力されたパターンの長さ + 1 ``-d``, ``--distinct`` [default: yes] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 変換後のシーケンスの重複を取り除くか指定します。 ``yes`` を指定した場合、重複したシーケンスを取り除かれます。 ``-e``, ``--expression`` [default: なし] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 変換後のシーケンスに対して、条件が満たしているものだけを取り出します。 条件は正規表現で指定します。 なお ``-ne`` を同時に指定した場合、2つのオプションを満たすもの(AND)が取り出されます。 ``-ne``, ``--not-expression`` [default: なし] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 変換後のシーケンスに対して、条件が満たさないものだけを取り出します。 条件は正規表現で指定します。 なお ``-e`` を同時に指定した場合、2つのオプションを満たすもの(AND)が取り出されます。 ``-n``, ``--num`` [default: なし] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 変換後のシーケンスに対して、ミノの個数やホールドの回数の条件を満たすものだけを取り出します。 条件は ``T==0`` ``1`` ``>=`` ``-hh``, ``--head-hold`` [default: yes] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ パターン( ``forward`` モード)・出力されるシーケンス( ``backward`` モード) の先頭のミノを、ホールドの初期値として扱うかどうかを指定します。 この設定値は、ホールドの回数に影響を与えます。 たとえば ``LZSO`` というシーケンスがあるとき、 * ``--hh yes`` を指定すると、``L``がホールドされている状態で ``Z`` を受け取るところから開始される * ``--hh no`` を指定すると、何もホールドされていない状態で ``L`` を受け取るところから開始される となります。