今日は、雑記を休憩。
なんか、どーでもいい一日だったのでw
特段、良い事も悪い事も無かったような気がした。
さて、もうすぐ父の日です。
というわけで、なんか作ろうと思い私らしい何かは何かなぁと考えた所、映像作品かプログラムか料理ということで、お菓子をプレゼントすることに。
ただ、余力があるならゲームも作ろうと思って、今日はプログラムの話題です(前置き長い




ヘキサマップ・・・じゃなくて、なんていうんだろ、四角形の升目が縦横10マスに並んでるのをみて、オセロが出来るんじゃないかとか、また思いつきで話してます。
シムシティの頭の弱いのを作りたかったんですけど、経済成長の時間とか量とかの計算がうまい事合わないので、試行錯誤するものの結構進展の無い状態だったので、とりあえずそのマップ世界観をそのままにオセロ配置にしてみようかと。
で。
簡単なオセロのルールから考え直してみると、石のとなりにある石が異なる色で、かつ空白を挟まずに同色の石があった場合、挟んだ場所の石が全て自分の色になる、というのがオセロの基本ルールだと思います。
これをプログラム的に考えると・・・
自分は黒石で、置いた場所の座標を(X,Y)とします。
Xに対してX+1の場所が白石では無い時
X+nまでの場所が白石でX+n+1が壁か空白の場合
Xに対してX-1の場所が白石では無い時
X-nまでの場所が白石でX-n-1が壁か空白の場合
Yに対してY+1の場所が白石では無い時
Y+nまでの場所が白石でY+n+1が壁か空白の場合
Yに対してY-1の場所が白石では無い時
Y-nまでの場所が白石でY-n-1が壁か空白の場合
XYに対してX+1,Y+1の場所が白石では無い時
X+n,Y+nまでの場所が白石でX+n+1,Y+n+1が壁か空白の場合
XYに対してX+1,Y-1の場所が白石では無い時
X+n,Y-nまでの場所が白石でX+n+1,Y-n-1が壁か空白の場合
XYに対してX-1,Y+1の場所が白石では無い時
X-n,Y+nまでの場所が白石でX-n-1,Y+n+1が壁か空白の場合
XYに対してX-1,Y-1の場所が白石では無い時
X-n,Y-nまでの場所が白石でX-n-1,Y-n-1が壁か空白の場合
上記がひっくり返らない条件。
これだけ見てなんとなく解った人はゲーム作ってみた方がいいよ。
わかんない人が多いと思うので、ざっくり書くと
Aの場所が白石ではないとき
Bまでの場所が白石でCが壁か空白の場合

置いた隣に白石が無ければひっくり返れるわけがない。
白石が続いてるのに、何もおいてないところがあったらひっくり返らない。
壁があってもひっくり返らない。
・・・軽く考えたらこんな感じになったんだけど、他にひっくり返らないパターンってあるかな?
もうちょっと斜めの部分は悩むと思ったんですけど、結構あっさり出来る物なのでしょうか?
実際組んでみると問題は山積みだと思いますけど。
あとは、CPUの動作をどうやって組むかですよね・・・なんか参考になる物は利用しないでがんばりたいと思ってる。
はぁ、もうこんな時間だよ。
今日帰ってきたの遅かったからなぁ。
また明日考え・・・あ。
明日、新入社員歓迎会とか言ってたなぁ。
わざわざ遠出して飲み会で、帰るのめっちゃ遅いのが目に見えてるよぉ・・・トホホ