<< 12345678910111213141516171819202122232425262728293031>>
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--/--/--(--)--:-- スポンサー広告 edit
簡単なオセロ作成のヒント?
オセロを作成することになったので、
簡単なアルゴリズムで作ってみることにした。
作成物を見せるときは、もっと強くしますが。

まずどこから手をつけたらいいか分からなかったので、
対人用で作成(自分でおきたい場所を選び、置けるか判断するだけ)

次に、コンピュータ対人。
コンピュータは左上から順に置ける場所を探すだけw


次の段階は、少しコンピュータにも考えてもらう。
そこで、簡単なアルゴリズムで作ってみることにした。


2次元配列
配列A、配列B、配列Cを用意。

配列A
白、黒、無しの情報を8×8マス分、左上から順に保持。

配列B
各マスのポイントを保持。

配列C
配列Bを元に、ポイントが高い配列の番号を順番に保持。

※配列B・Cは全く別のクラスで作成して、配列Cの値を算出したら、オセロのクラスに値を入れたほうがいいかも(人工知能でないのに、毎回配列C作成は効率悪い)

配列Cの配列の番号順に、配列Aの置ける場所を検索。

たったこれだけ。
各マスのポイントは角を高くし、その周りを最低にする。
あとは適度に。

これだけでも何人かには勝てるかも?


まずは午前中にJavaで実装して、
午後からは与えられた言語の学習に。。。
>配列Cの配列の番号順に、配列Aの置ける場所を検索。

for(int i = 0; i < 64; i++){
    a[c[i]]
    ↑こんな感じで使えば、ポイントが高い順にループで検索可能なはず。
    置けるかどうかの判別は、大して難しくないので考えてください(ぇ (後で書くかもしれないけど)
}
スポンサーサイト
2009/10/05(月)00:20 PC trackback:0 comment:0 edit
trackback url
http://daihouko.blog4.fc2.com/tb.php/1186-ffb19705
trackback
comment
post a message






上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。