あれとかこれとかそれとか

気まぐれプログラマーのブログです。簡単なことから小難しいことまで必死に勉強した内容を書き留めていきます。プログラム以外にも気になったことや面白かったことをまとめていこうと思います。

【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)],  // 左下、下、右下
]

次回から、実際に処理に入っていきたいと思います。