Pythonでwhile~break文がうまくいかない。

1ゲーム終わった後、スペースキーを押すともう1ゲームできるようにしたかったのだが、while~break文がうまく働かない 。 フラグを立てることで無理矢理解決してみせたが。

ここまでは作ったのだが。

N88BASICを極限まで使い込んだ面白いゲーム

工学社の『I/O』か『Computer Fan』に掲載されていた、チェスに似た『パニック・バトル』という名 のゲーム。クウォータービューながら3Dに近い各キャラクタ、鉄砲の弾・弓の動きまで表現している。掲載された雑誌を手に入れたいのだが。

エミュレータは法律的にグレーゾーン

エミュレータに関することをネットで色々調べていると『・・・日本の警察を舐めてはいけません。・・・』との一文があるのに、少々ビビる。biosは98の実機から取り出したし、MS-DOSとN88BASICは昔ちゃんと購入したものを使っているから、問題はないはずだ…

HSP版の月面着陸ゲームをゲームパッドで操作できるようにした。

3モードのFDDを手に入れたのだが、

アマゾンで購入した『(98用)フリーソフトライブラリagain30』に付属のフロッピーが無かった。どうりで安かったわけだ・・・。 ヤフーオークションに昔のI/O(工学社・付録フロッピー、CDーR)がよく出品されているが、購入してみるか?

N88BASIC、HSP、Pythonと3つのプログラム言語で作られた『月着陸船ゲーム』

を使って、HSPとPythonの勉強を するつもりだ。

今日はここまで。

pythonの勉強をしなければいけないのだが、

なーんとなくやる気が出ない・・・。まあ、ここまでは作りました 。

禁煙三日目

ガムを噛んで紛割らしています。

pythonでゲームが動いたのに感動する。

これからは暫くpythonとjavascriptの勉強をしようと思う。

禁煙二日目!

まず成功しています。

禁煙してからまず一日が経過。

統合失調症の薬を飲んでいるのだが、煙草を吸うと効果がなくなると説明書に書いてあったので禁煙を決意。今度は成功させるぞ!

98エミュレータでN88BASICゲームを動かす。

エミュレータの存在は知っていたが、BIOS等は実機から抜き出さないと違法となるので諦めていた。ところが会社の同僚が中古の9821apを持っていることを聞き、早速譲って頂いた。20数年前のゲームが今蘇る ・・・。

将棋プログラム作成には飽きたな。

自分には機械学習なんて無理だし・・・。

バグを修正。

王を取る・取られる、という奇妙なバグがあった。静止探索部を少し修正 する。

レベル10,後手でも勝つ。

レベル10に勝てた!

このあたりが限界かな?と思ったが、有力な手と王手をかけられたときには読みを0.5手延長してみたら、勝てて しまった。

レベル10になると勝てない。

レベル9後手でも勝利。

レベル9先手で勝利、後手で敗北。

後手ではいきなり角交換を仕掛けられて、定跡を外されたのが敗因 みたいだ。

レベル8に勝利!

2手先読みまでの静止探索を導入。

デバッグモードで実行していた。

リリースモードで実行すると、平均8手読み するようになり、レベル7後手でも勝った。

レベル7、後手では負ける。

レベル7に先手で勝つ。

細々としたバグを修正、151手という熱戦だったが勝利。 ただ、先読みが4~5手しかしなくなったのだが・・・その分正確に読んでいるという ことなのかな?

ようやくバグが取れた。

いじくり回したら、

勝敗の決着が付かなくなってしまった。 どうすればよいのやら。

『NullMove枝狩り』と『FutillityCut』の威力は凄い。

なんと最大10手先まで読めるように なった。

『NullMove枝狩り』と『FutillityCut』を装備する。

Pvsアルゴリズムを導入。

レベル4先手で勝つ 。

定跡(囲い)を組み込む。

美濃囲い・高美濃囲い・銀冠・金無双・振り飛車穴熊・矢倉・左美濃・居飛車穴熊を組み込む 。

レベル3先手で勝利。

静止探索を使った前向き枝刈りを導入。

レベル2後手で勝利 。

レベル1後手でも勝利!

スパーリング相手を『100万人のための3D将棋~金沢将棋』に変える。

レベル1に勝利 。

静止探索を導入する。

49手で勝つ 。

今度は勝った。

定跡を入力・指すことができるようになったが、

負けてしまった。水平線効果が ひどい。

細かいバグを修正。

ついでに局面クラスから定跡クラスを派生させる。しかし、まだ定跡は指せない。

うまくいったのに一安心。

ゾブリストハッシュのやり方を変更する。

やねうらおさんのブログに掲載されていたように、ハッシュ値を求めるのにXORを使っていたのをただのプラス・マイナスに変えてみた。

細かいバグを修正。

捕獲探索を導入してみた。

とりあえず、勝つ。

これでいいのかなあ?

あまりにもプログラムが複雑になったわりには122手もかかってしまう。

いじくり回したら、また弱くなってしまった。

相手思考時間の利用

相手が思考している間にも、予想できる手を指されたとして、ハッシュ表を埋めていく、というアルゴリズムを導入 してみた。

時間制限5秒に戻す。

59手で勝利!

『駒の効き』を再度、評価値に入れてみた。

パソコンが一台しかないので、強くなっているかどうかは比較できない・・・。

ようやくバグを見つける。

評価値の最大値をG_INFINITEとしなければいけないのをINFINITEとしていたのが原因だった。