[ Java奮戦記_目次 ]
SGF形式の実戦手順作成クラス
仕様を確認する
このクラスは、SGF形式の実戦手順を作成します。
SGF形式の手順データツリー(参考図含む)から、実戦手順データ(参考図を含まない)を抽出します。
コーディングする
→
クリックしてソース SgfOrder.java を表示
[コンストラクタ]
- 手順が空のインスタンスを生成します。
[実装するメソッド]
- パラメータとして「SGF形式の手順データツリー(参考図含む)」を受け取り、
戻り値として「SGF形式による String 配列の実戦手順データ(参考図は含まない)」を返します。
[参考情報]
- クリックして Javadoc を表示
- テストプログラム TestSgfOrder.java
注意点
SGF形式の手順データは木構造なので、そこから実戦手順のみの配列に変換しています。
SgfTreeの段階で Vector に全手順(参考図含む)を収めた際、参考図以降のデータを、さらに Vector 形式で収めています( Vector の入れ子にしています)。なので、実戦手順かどうかを、instanceof を使用して、オブジェクトの型で判別しています。
何かで読んだのですが、instanceof を使用してオブジェクトの型を判別するのは、オブジェクト指向の設計思想からして正しくないそうです。本来であれば、渡した先で、オブジェクトの型に従って振る舞うべきだ、ということでしょう。私もそう思います。SgfTree と同様、こうした点も後悔の理由です。