先日、なぜかオセロゲームのようなもののプログラムを作っている夢を見ました。
せっかくなので、目が覚めてからオセロゲームのプログラムを考えてみました。
(難しそうだと思った人は読み飛ばしてください)
ここから—-
オセロゲームのプログラム
オセロゲームは1つのマスに(自分が白だとします)白を置いたときに、2つの白ではさんだ黒を取れることになっています。
取れた黒はひっくり返して白にします。

この図で、赤いマスに白を置いたとき、まずは右方向で取れるかを考えます。
一つ右のマスを見て、
- もし、白が置かれていたら、1つも取れずに終わり
- もし、何も置かれていなかったら、1つも取れずに終わり
- もし、黒が置かれていたら、さらに右のマスを見る

そして3で右のマスを見たときに、
- もし、白が置かれていたら、1つ取って(ひっくり返して)終わり
- もし、何も置かれていなかったら、1つも取れずに終わり
- もし、黒が置かれていたら、さらに右のマスを見る
これをマスがオセロ盤の端になるまで繰り返します。
さらに、左方向、上下方向、斜め方向、全部で8方向を繰り返します。
これで、あるマスに白を置いたときにどの黒をいくつ取れるかを判断するプログラムができそうです。
ここまで—-
プログラミングを学べば小学生でもオセロのプログラムが作れる

上の説明を読み飛ばしたかたは、「私には難しくて理解できない」か「考えるのがめんどくさい」と思ったかただと思います。
でももし、お子さんが理解できたらどうでしょうか?
お子さんがオセロのプログラムを作ったらどう思いますか?
「うちの子って天才だわ!」
と思うかもしれませんね。
これはできないことではないんです。
プログラミングの考え方が分れば小学生でも作れます。
そしてこういった考えができれば、算数や数学の応用問題も得意になってきます。
高校入試や大学入試になったときにきっと生きてきますよ。
プログラミング教育について詳しい説明を聞きたいかたはこちらからどうぞ。
お子さんにプログラミング教育を
と考えているかた以外でも、
ときにはこんなオセロゲームの判定の方法などを考えてみると、
頭の体操やボケ防止にもなりますよ。
コメント