KotlinでAndroidアプリ#30

List化

マス目に対応してクラスSquareを3×3の配列にしていた。これも力技で7×7記述すればよい。

しかし芸がないのでList命令で実現する。クラスSquaresを次の通り変更する。

※List命令は「KotlinでAndroidアプリ#List」を参考にしてください。

ImgeButtonの配列が引数で渡ってくる。この配列に合わせて、Squareの配列を作成している。

ロジック変更

マス目数、三目、四目・・並べとユーザ指定に応じてゲームロジックも変更する必要がある。この対応は簡単にできると考えている。なぜなら「KotlinでAndroidアプリ#26」で定数を一括管理したからだ。

三目並びの3も次のように「BAN_SU」に定義した。

これを削除し、エラーになった箇所へユーザ指定のマス目数(numberpicker2.value)、〇✕並べ(numberpicker.value)を設定すればよい。

Squaresクラスの勝敗判定で八方をチェックするeightCheck関数でエラーが発生した。マス目をはみ出ていないかのチェックだ。ここをマス目数(numberpicker2.value)にすればいい。

あれれ?定数化していない箇所を発見!マークが何個並んだかチェックしている箇所だ。3固定になっているところを〇✕並べ(numberpicker.value)を設定する。

引数でマス目数(ban)、〇✕並べ(narabe)を受け取り、プログラムを変更する。

動作確認

実行し動作を確認する。


予定通りの動きとなった。機能追加第一弾完了だ。ここまでのソースコードを掲載する。

前へ<ーーー>つづく

タイトルとURLをコピーしました