人工知能に関する断創録

このブログでは人工知能のさまざまな分野について調査したことをまとめています(更新停止: 2019年12月31日)

2004-12-01から1ヶ月間の記事一覧

AIの実装/ミニマックス法

コンピュータと対戦できるようにAIを実装します。ここでは思考ゲームのもっとも基本的なアルゴリズムであるミニマックス法について解説します。othello06.jar プレイヤーとAIが交互に打つ AIとは人工知能(Artificial Intelligence)のことです。人工知能っ…

ライフゲーム

人工知能というより人工生命の分野ですが最初はライフゲームを作ってみます。ライフは人生という意味もありますがライフゲームは人生ゲームとはまったく関係ありません。とある理由でJARではなく自己解凍exeにしました。解凍したらclickme.batをダブルクリッ…

はさんだ石をひっくり返す

はさんだ石がひっくり返るようにしてみます。othello04.jar 石をひっくり返す 石をひっくり返す処理はmouseClicked()で呼び出しているreverse()です。 public void mouseClicked(MouseEvent e) { // どこのマスかを調べる int x = e.getX() / GS; int y = e.…

勝敗を判定する

勝敗判定機能をつけます。また黒と白の石の数が上部に表示されるようにします。othello05.jar 石の数を数える 勝敗を判定するにはまず黒と白の石の数を数える必要があります。countStone()で数えています。 private Counter countStone() { Counter counter …

石が打てる場所か判定する

オセロで石が打てる場所は相手の石をひっくり返せるところだけです。今回は石が打てる場所を判定する処理を実装します。othello03.jar 石が打てるか判定する 石を打つmouseClicked()に注目してください。 public void mouseClicked(MouseEvent e) { ・・・ /…

マウスで石を打つ

盤面に白石と黒石を交互に打てるようにします。打ったときにはカチッっと気持ちい音が鳴るようにもしています。othello02.jar マウスで石を打つ 盤面をマウスでクリックしたとき石が打たれるようにするためにmouseClicked()を実装します。 public void mouse…

オセロ盤を作る

まず手始めにオセロ盤を描くところまで作ります。othello01.jar オセロ盤の構造 盤面の構成は下の図のようになってます。オセロ盤は2次元のint型並列で表現します。 // 盤面 private int[][] board = new int[MASU][MASU]; 盤面に入る数字は何もないとき0、…