あやねるサーバー、あやねるゲート出来ました

先日、pythonからやねうら王を操作できるアダプター、Ayaneをリリースしたばかりですが、これを用いたスクリプトがいくつか完成したのでご報告させていただきます。

※ Ayane : https://github.com/yaneurao/ayane

・1 VS 1の対局クラス → あやねるサーバー(クラス)
・並列自己対局クラス → マルチあやねるサーバー(クラス)
・並列自己対局スクリプト → あやねるサーバー(スクリプト) : ayaneru-server.py
・N VS Nの対局スクリプト → あやねるゲート(スクリプト) : ayaneru-gate.py

まだ作りたてなので何か大きなバグがあるかも知れませんので何かあれば教えてください。

あやねるゲートのほうは、enginesフォルダに複数のエンジンをぶちこんで置くと、「任意の二つを取り出して自己対局をloop回行う」という動作をiteration回だけ繰り返すというスクリプトです。複数ソフト間の相対的なレーティングがわかります。

あやねるゲートは、floodgateのようなものを目指していたのですが、”startpos moves …”のような形式(USIプロトコルのpositionコマンドで送られてくる形式)のJavaScript製の棋譜ビュアーがないので早めに断念しました。(´ω`) CSAへの変換部書いてもいいのですけど、もう気力ゲージが尽きたので今回はこのへんまでで…。

また、Ayaneのスクリプトは、すべてpython 3.7で動作確認をしています。

とりあえず、python 3系で動く並列自己対局スクリプトが完成したことで、やねうら王のGitHubにあったpython 2専用の自己対局スクリプトはお役御免になる予定です。まあ、あのスクリプトは、「python触ったことないけど、流行ってるらしいから、いっちょこれで書いてやるか!」と、pythonの言語仕様すら知らずに適当にググりながら書き始めたコードなので、いままでよく動いていたなぁという感じですが、今回、Ayaneを開発するにあたり、pythonの公式ドキュメントを10分ぐらいチラ見してclassやenumなどの使い方を覚え、「python、完全に理解した」状態になりましたので、これでバッチリなはずです。

環境依存になりそうな書き方は極力避けてあるので、Ubuntu/macOSなどでもそのまま動くはずです。あやねちゃん、可愛がっていただけたら嬉しいです。

※ Ayaneの開発は、これでひとまず終了です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です