まず前提として、
「屋外用のマップ情報」「屋内用のマップ情報」を持った配列変数があります。
最初に考えたことは
それらを「現在どちら側(屋内or屋外)にいるか?」を判別し、各処理でif文で分岐させ処理する方法を思いつきましたが
これは「各処理毎にifで文で分岐させるとソースが見づらくなる」ということで却下。
次に考えたのは
二つのマップ情報を「建物に入った、または出た」というフラグを立てて、その上で「現在どちら側にいるか?」を判別し
「現在のマップの情報」として入れる配列をつくる方法を考えました。
この方法により、各処理でif文による分岐はいらなくなりかなりソースが見やすくなりました。
が、「現在のマップ情報」を入れる配列には「1エリア(オセロ盤の1マスのイメージ)の情報を入れる」のがいいのか
それとも「全エリア(オセロ盤の全てのマスのイメージ)の情報を入れる」のがいいのか・・・
ちなみにオセロのマス1マスの中にも300のマスがあります。
状況のイメージ
前者の方法だと「エリアを切り替える毎にエリア情報を更新する必要があるが配列は小さくて済む」
後者の方法だと「情報の更新は建物に出入りしたときだけで済むが配列が大きくなる」
ここで疑問に思ったことが、「どっちのほうがいいんだろう?」ということです。
何を持ってして「いい」と判断するのかは分かりませんが(´・ω・`)
前者はメモリの使用量が少ないけどアクセス?の回数が増えると思うんですよね。
逆に後者はメモリの使用量が多いけどアクセスの回数は少なくて済む。と予想。
自分はソースがきれいになるので「小さな配列」を使う方法を使ってます。