KotlinでAndroidアプリ#23

Squares

終了判定を行うため全マス目をチェックする。八方に同じ印(✕、〇)が3つ並んでいれば勝利だ。また全てマス目が埋まっているなら引き分けだ。これをクラスSquaresに実装する。

実現するために座標増減値用の配列を用意した。

このX,Y座標の増減値で座標を探索し、基準マス目から八方に2つ同じマークがないか確認する。

三目並べと決め打ちすれば、もっとシンプルなロジックで実現できる。しかし四目、五目並べと拡張したいために、今回はこのロジックを採用している。

実際のコードは次の通りだ。関数jugを呼び出すと、勝負がついていないなら0、✕が勝利なら1、〇が勝利なら2、マス目が埋まっているなら3、が返ってくる。

MainActivity

終了処理をMainActivityに記述していく。まずプロパティを2つ追加する。1つ目は終了メッセージ用の配列MESSAGE_FINALだ。2つ目はゲーム終了か判断するためのフラグisFinalを設ける。

onClick関数に終了処理を追加し、新たな関数finalを作成する。

実行

人対人の対戦なので面白みはないが、とりあえず完成!・・・と思ったが…これゲーム開始、再開始のUIがないことに気付く。次回ゲーム開始ボタンなど作りたいと思う。

前へ<ーーー>つづく

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