コマンド: path¶
概要¶
ある地形からパーフェクトまでの操作手順をすべて列挙する
- 指定したミノの組み合わせから、パーフェクトまでの全パターンを列挙してファイルに出力
- 次の2種類の結果を列挙して出力
- ミノの接着場所が異なるパターンを列挙 (unique)
- あるパフェパターンに対して、同じようなミノ順をカバーできるパターンが他にあるとき、片方をカットした手順を列挙 (minimal)
- ※ 厳密なすべてのパターンを網羅する最小の組み合わせではありませんのでご注意下さい
基本コマンド¶
java -jar sfinder.jar path --tetfu v115@9gE8DeG8CeH8BeG8CeA8JeAgH --patterns *p4
出力フォーマット¶
出力フォーマットは、以下の方式から選択できます。 変更したい場合は、オプションから変更できます。
- link: シンプルなHTML形式のテト譜リンク
- csv: csv形式(詳細は後述)
オプション一覧¶
short | long | default |
---|---|---|
-H |
--hold |
use |
-t |
--tetfu |
なし |
-P |
--page |
1 |
-p |
--patterns |
なし |
-c |
--clear-line |
4 |
-f |
--format |
link |
-k |
--key |
none |
-s |
--split |
no |
-L |
--max-layer |
2 |
-r |
--reserved |
false |
-d |
--drop |
soft |
-th |
--threads |
-1 |
-cb |
--cached-bit |
0 |
-o |
--output-base |
output/path.txt |
-lp |
--log-path |
output/last_output.txt |
-fp |
--field-path |
input/field.txt |
-pp |
--patterns-path |
input/patterns.txt |
-t
, --tetfu
[default: なし]¶
フィールドやオプションなどを指定したテト譜データを指定する。
テト譜で探索条件を指定する場合は --tetfu v115@vhAAgH
のように指定する。
v115のテト譜データにのみ対応。
-p
, --patterns
[default: なし]¶
探索ミノの組み合わせパターンを指定する。
パターンを変更したい場合は --pattern *p7
のように指定する。
複数パターンを指定したい場合は ;
で連結する (--pattern T,*;I,*
)
-c
, --clear-line
[default: 4]¶
パフェまでに消去するライン数を指定する。
-f
, --format
[default: link]¶
以下の出力フォーマットのうち、ひとつを指定する。
- link: シンプルなHTML形式のテト譜リンク
- csv: csv形式 (keyオプションで出力する項目を選択することできます)
-k
, --key
[default: none]¶
formatオプションに csv を選択したとき、さらに出力する項目を指定する。
以下の出力項目のうち、ひとつを指定する。
- solution: パフェ手順をキーとして、対応ツモをまとめた形式
- pattern: 入力パターンをキーとして、対応地形をまとめた形式
- use: 使用ミノをキーとして、対応ツモ・地形をまとめた形式
- none: 1行につき、1つのパフェでの操作手順を記述した形式(旧csvフォーマット形式)
各出力項目の詳細なフォーマットは CSV形式 を参照してください。
なお、オプションは先頭の1文字だけでも指定することができます。 (solution → s)
-s
, --split
[default: no]¶
出力フォーマットがlinkのときに出力されるテト譜で、手順を1ミノずつ分割するか指定する。
- yes: 1ページにつき1ミノずつ表示される形で出力
- no: すべてのミノが1ページに納まった形で出力
-L
, --max-layer
[default: 2]¶
手順の絞り込みをどこまで行うかを指定する。 次の数字を指定すると、対応するところまで絞り込みを行う。
- 1: unique
- 2: unique, minimal の両方
-r
, --reserved
[default: false]¶
ミノの接着場所を予約します。
たとえば テンプレ+縦I を入力したとします。
このとき探索開始には クレーの地形 が適用され、 最終的に色のあるブロック通りに配置されるパフェが探索対象となります。
なおこのとき、色のついたブロックは4個単位である必要はありません(1ブロックでも可)。
この機能を有効にする場合は true
を指定してください。
-d
, --drop
[default: soft]¶
ミノの操作に制限を加える。
以下から操作方法をひとつ選択する。
- soft: ソフトドロップ+回転入れ(制限なし)
- hard: ハードドロップのみ
-th
, --threads
[default: -1]¶
探索時に使用するスレッド数を指定します。
1 を指定したとき、シングルスレッドでの探索となります。
もし、0以下を指定した場合は、自動的に「実行環境のコア数」を設定します。
-cb
, --cached-bit
[default: 0]¶
内部のアルゴリズムで使用するキャッシュの最小ビットを指定します。
基本的にこの値を変更する必要はありません。
実行環境で使用できるメモリが小さく、OutOfMemoryErrorが頻発して計算が続行できなくなる場合のみ、この値を変更してください。
この数値を大きくすることで計算結果を保存せずにその都度計算するようになるため、実行時間が非常に長くなります。
そのため、値を調節するときは1ずつ大きくしていき、再実行して確認しながら調整してください。
-o
, --output-base
[default: output/path.txt]¶
実行後に結果を出力するファイルのパスを指定する。 ただし、拡張子は出力形式によって変更される可能性があります。
実際は、このオプションで指定したファイル名 + suffix にあたるファイルとして出力されます。
出力されるファイルは以下の通りです。
- 指定したファイル名 + _unique に unique (重複をのぞいた手順) の結果が出力される。
- 指定したファイル名 + _minimal に minimal (同じミノ順をカバーするパターンをのぞいた手順) の結果が出力される。
-lp
, --log-path
[default: output/last_output.txt]¶
実行時のログを保存するファイルのパスを指定する。
-fp
, --field-path
[default: input/field.txt]¶
フィールドを定義するファイルのパスを指定する。
-pp
, --patterns-path
[default: input/patterns.txt]¶
探索の組み合わせパターンを定義するファイルのパスを指定する。