Reversi 過去の履歴

 ようやく手数戻し機能をつけることが出来た。一応、ポップアップメニューで戦跡を全部コピー出来る(切り取りや貼りつけが無い理由は、もちろんゲームが滅茶苦茶になるからです)ようになりました。今後はアルゴリズムをもう少々強くする予定。しかし、巷にあるオセロゲームの最弱のやつに10回やって2,3回しか勝てない私では限界が来ている模様。
 あ、そうだ、もう一つ機能をつけたんだった。今までは初期設定はいつも黒が人間、白がコンピューターの一番弱い奴になってましたが、INIファイルを使う事で前の設定が残るようになりました。(2002/10/29、Ver3.00)

 今度はちょっとバグではなし。どうやらオセロはツクダオリジナルの登録商標との事で、名前を勝手につかうとヤバイらしい。という事で、みんなリバーシという言葉を使っている訳ね。私もそれに倣いました。(2002/10/13、Ver2.26)

 またバグ。今度はゲーム本体でなく、メニューから開始と終了が選べないバグを取る。単なる設定忘れだけどバグはバグ。ちゃんと気をつけないとVectorに登録できない(笑)。ちなみにまだ予定無し。(2002/10/06、Ver2.25)

 今度はレベル3を作ってみました。実はレベル2も少々思考回路変えてあります。そしてアイコンの画像を変更。今度はまあまあ強いです。適当にやっているとたまに負けます。でも他のレベルと対戦させると、全部ひっくり返されて負けることあり。今後一手戻し機能をつける予定だが、それでステップを分析したら、それを元にレベル3の思考回路を少々強くする予定。(2002/09/30、Ver2.20)

 一応レベル2を作ってみました。後先考えずに現時点で多くひっくり返せる場所を選ぶ傾向(絶対的ではない)にしました。しかしコンピューター同士をレベル1とレベル2で対戦させても対戦成績はさほど差が出ない気がする。オセロは目先の個数にとらわれてはいけないらしい。(2002/09/30、Ver2.10)

 なんと、というかやっぱりバグを発見。オセロのコマの隙間(?)をクリックして既に置いてあるところにさらに置けてしまうバグ(Ver1.00とVer1.10には無いはず)、人間ターン側がスキップするとそれ以上ゲームが進まなくなってしまうバグ。それら二つを取りました。Ver2.05。(2002/09/29、Ver2.05)

 という事で一応コンピューターのアルゴリズムを作ってみました(Ver2.00)。まだレベル1です。思考回路は”適当”です。置けるところにランダムに置いてます。これに負けたら恥ずかしいです。はい、私でも勝てます。まだ負けてません。
 Ver1.10も追加しましたが、これは今までオセロ盤を画像の読み込みで実現していたものを描画で済ませたり、現在の獲得数をEditコンポーネントからLabelコンポーネントに変更しました。なんかEditコンポーネントだと一時ですが、数字を変えられるので。なので今後は画像ファイル無しで実行ファイルのみで実行可能になりました。
 こんどはLevel2の思考回路を作る予定です。コマンド複雑になってきたからそろそろヘルプファイルも作るべきか?(2002/09/28)

 で、今度はdelphi。感覚的にはVisual Basicに似ている。でも言語はObject Pascal。なんといってもコンパイル型だからランタイムとか必要無くてプログラム単体で動くのが美味しいね。しかもこれほどの事をやれるのが無料で手に入るというのが恐ろしい。経営大丈夫かINPRISE(このプログラム言語のメーカー。Bolandと言ったほうが解りやすいか。)。ここでゲットすべし。関連書籍を買えばその付録CD-ROMに無料のやつが入っていそう。買うにせよ安いし、サンデープログラマーにとってもなかなか良い製品であります。DirectXもパワーユーザーが作ったものをインストールすれば使えるようになるとかでほとんどの事は出来るはず。
 ゲームのほう。オセロ。まだ人間の対戦だけ。後々コンピューターとの対戦(注:私自身がオセロ滅茶苦茶弱いのでアルゴリズムは貧弱なものになる予定)や、一手戻し機能をつける予定。見れば使い方解るはずなのでヘルプファイルは無し。
 バグ情報お待ちしております(笑) (2002/09/23、ver1.00)