【Swift】 リバーシを作りましょう #1 初期化データの準備と説明
前回の記事はこちらから
aretoka-koretoka-soretoka.hatenablog.com
まずは、初期値として使用するデータを用意しておきます。
①文字列の配列を使用してリバーシの盤面を表現します。
10x10で作成するため、10x10の2次元配列を用意します。
②オブジェクトももちろん文字列。
それぞれ白(○)と黒(●)を用意しておきます。
オブジェクトが区別できるように、列挙型の用意もお忘れなく。
③指定した座標から、周辺の座標を検索するためのオフセット座標を示すテーブルです。
周辺8マスの座標を確認し、ひっくり返す条件に当てはまるかどうかを確認していきます。
// ① let workArray:[[String]] = [ [" "," "," "," "," "," "," "," "," "," "], [" "," "," "," "," "," "," "," "," "," "], [" "," "," "," "," "," "," "," "," "," "], [" "," "," "," "," "," "," "," "," "," "], [" "," "," "," ","○","●"," "," "," "," "], [" "," "," "," ","●","○"," "," "," "," "], [" "," "," "," "," "," "," "," "," "," "], [" "," "," "," "," "," "," "," "," "," "], [" "," "," "," "," "," "," "," "," "," "], [" "," "," "," "," "," "," "," "," "," "], ] // ② enum OBJTYPE:Int { case WHITE case BLACK } let object:[String] = ["○","●"] // ③ // 周辺座標検索用のテーブル let searchTbl:[[(x:Int,y:Int)]] = [ [(x:-1,y:-1),(x: 0,y:-1),(x: 1,y:-1)], // 左上、上、右上 [(x:-1,y: 0),(x: 0,y: 0),(x: 1,y: 0)], // 左 、中、右 [(x:-1,y: 1),(x: 0,y: 1),(x: 1,y: 1)], // 左下、下、右下 ]
次回から、実際に処理に入っていきたいと思います。