コメント

このコメントは、【トピック】whileでendを繰り返すへのコメントです。

コメントの内容

Nyan mini rurun9(投稿日:2010/03/28 02:03/28/10)
オセロプログラムの完成形を考え付くまで、いったん作業を中止しましょー
樹形図的なのを全て書けば確かに作れる筈ですが、1箇所間違えただけでもゲームとして成立しませんよ

変数komaて必要かな?
中身が0なら置いてない、1なら白、2のときは黒
と決めてそれで判断すれば良いような…

マウスクリック座標からマス目がどこかを得たら
そのマスから上下左右ナナメ8方向の直線上のマスに同じ色がいくつ続いているか、を判断するwhile~endのループをつくるんです。
例えばマス(x,y)のひとつ右隣りは(x+1,y)
2個左下なら(x-2,y+2)ですよね?
ひとつ隣の中身が何か、を調べるのを繰り返す。
端についた時、隣が何も置いてない時、挟むべき別色が隣にない時、挟むための同色が直線上にない時、ループを抜ければ良いわけで。
調べた結果挟んでいたら、色を変える。
コレを8方向やるワケです。

理屈がわかってくれば、後はどうやってコレを再現するか、ですよよよ

コメントの内容(一番最初の投稿)

Nyan mini rurun9(投稿日:2010/03/28 02:03/28/10)
オセロプログラムの完成形を考え付くまで、いったん作業を中止しましょー
樹形図的なのを全て書けば確かに作れる筈ですが、1箇所間違えただけでもゲームとして成立しませんよ

変数komaて必要かな?
中身が0なら置いてない、1なら白、2のときは黒
と決めてそれで判断すれば良いような…

マウスクリック座標からマス目がどこかを得たら
そのマスから上下左右ナナメ8方向の直線上のマスに同じ色がいくつ続いているか、を判断するwhile~endのループをつくるんです。
例えばマス(x,y)のひとつ右隣りは(x+1,y)
2個左下なら(x-2,y+2)ですよね?
ひとつ隣の中身が何か、を調べるのを繰り返す。
端についた時、隣が何も置いてない時、挟むべき別色が隣にない時、挟むための同色が直線上にない時、ループを抜ければ良いわけで。
調べた結果挟んでいたら、色を変える。
コレを8方向やるワケです。

理屈がわかってくれば、後はどうやってコレを再現するか、ですよよよ