[ Java奮戦記_目次 ]
再生モードのモデルを提供するクラス
仕様を確認する
このクラスは、再生モードのモデルを提供します。
再生モード時に必要となる操作を実装しています。
コーディングする
→
クリックしてソース IgoPlayModel.java を表示
[コンストラクタ]
- パラメータとして「親インスタンス」を渡し、親インスタンスを指定したインスタンスを生成します。
[実装するメソッド]
- パラメータとして「ビュー」を受け取り、ビューをインスタンス内に設定し、ワーク項目を初期化します。
- ファイルを開くときに呼び出します。
- ファイルを新規作成するときに呼び出します。
- 現行モードを終了するときに呼び出します。
- メインダイアログを閉じるときに呼び出します。
- 編集状態にするときに呼び出します。
- 一手戻るときに呼び出します。
- 一手進むときに呼び出します。
- 五手戻るときに呼び出します。
- 五手進むときに呼び出します。
- 初手に戻るときに呼び出します。
- 終局面にするときに呼び出します。
- パスをするときに呼び出します。
- 検討モードと再生モードを行き来するときに呼び出します。
- パラメータとして「行番号」と「列番号」を受け取り、石を置くときに呼び出します。
- パラメータとして「対局情報」を受け取り、対局情報を更新するときに呼び出します。
- 対局情報を表示するときに呼び出します。
- 自動再生するときに呼び出します。
- 自動再生の再生速度を変更するときに呼び出します。
- 独立して実行されるスレッド内で呼び出されます。
- ビューを更新するときに呼び出します。
- パラメータとして「ファイル名(フルパス指定)」を受け取り、再生モードを開始するときに呼び出します。
[参考情報]
- クリックして Javadoc を表示
注意点
再生モード時に必要な操作について、メソッドをオーバーライド(上書き)しています。
このクラスには、
isExam という項目を使って、検討中か否かを判別している箇所がいくつか出てきます。オブジェクト指向に慣れていないが故に、こういうロジックになってしまいました。本来であれば、検討モード用のクラスを作り、検討中か否かを意識することなく振る舞うようなクラス分割をすべきだったのではないか、と思っています。この反省は、新規作成モードと更新モードでも同様です。