そして、GPS将棋 http://gps.tanaka.ecc.u-tokyo.ac.jp/gpsshogi/ や、
デーモン将棋 http://sourceforge.jp/projects/daemonshogi/ なども
ネイティブな環境で動きます。
これらを組み合わせた対戦や、ネットでの公開などの夢が少し膨らみかけてました。
でもこれは欲張ってただけかもしれません。
さっき家の掃除をしてたら気が付きました。
僕が本当に欲しかったのはディスクトップ上で対戦できる、私だけの将棋盤なのだと。
ボナンザ将棋プログラム
のソースが公開されて久しい。
週末に Vine5 用 RPM パッケージを作成し
ここら
に置きました。
bonanza_v4.1.2/src/bonanza/bonanza.txt を見ると、
プログラムの商用利用は禁止。
それ以外なら自己責任での利用や変更/再配布もよろしいとありました。
コンソール上で /usr/bin/bonanza を実行すれば対局できます。
$ bonanza Starting... /usr/lib64/bonanza/bonanza Bonanza Version 4.1.2 Trans. Table Entries = 3072K (48MB) cleanning the transposition table ... done ( 0.03s) book.bin found hash.bin found rand seed = d3e96446 Black 1> 7776FU ... White 2> 3334FU '(0) 000:01/000:01 elapsed: b7, w1 ' 9 8 7 6 5 4 3 2 1 P1-KY-KE-GI-KI-OU-KI-GI-KE-KY P2 * -HI * * * * * -KA * P3-FU-FU-FU-FU-FU-FU -FU-FU P4 * * * * * * -FU * * P5 * * * * * * * * * P6 * * +FU * * * * * * P7+FU+FU * +FU+FU+FU+FU+FU+FU P8 * +KA * * * * * +HI * P9+KY+KE+GI+KI+OU+KI+GI+KE+KY Black 3> 2726FU White 4> 4344FU Black 5>
なんて感じ。取りあえず簡単な GUI をかぶせようか...
どうせならZShogiの画面表示と瓜二つにしようってことで。 駒台の表示を改造してみた。
CSS と JavaScript で画像を自由に配置できると云うのは魅力的です。
とりあえず Zope 鯖側とクライアント・ブラウザ側で、
同じような処理ができるのは判ったので、しばし休憩。
まずは棋譜を選択する機能を実装。
再描画はチラつきも発生せず問題無い。
ということは棋譜だけ自由にGETできると云うこと。
たとえば実況中継などの頻繁に更新される棋譜でも OK だろう。
とりあえず使えることは解った。ありがたや^^;
でも、深入りはしない。
世間では良く見かけるのですが、象歩ではJavaScriptを使うことを拒んでたので...
いまさらですが、ほんの気の迷いから作って見ました。
Zopeと相性が良いですね^^
当然のことながら棋譜を再現する場合に大きな将棋盤でもちらつきが無い。
なぜか扇子対決なんて言われてますけど (笑。
中継サイト は Java Applet で盤面を公開してくれてるのですが、
http://3rd.geocities.jp/shogi_kifu/65-7.html
ありがたいことにテキスト形式の棋譜も公開されてます。
んじゃ自分で盤面表示するのが便利かな。
それは調度良かった。
元々 ZShogi (象歩将棋) のクライアント側ソフトを作ろうとしてた処だったので、
ついでに 柿木形式 (Kifu 形式) の読込も実装しちまおう。
http://homepage2.nifty.com/kakinoki_y/
これで汎用 Web 棋譜ブラウザとしても使える。
もちろんローカルファイルも OK。
ふと、象歩将棋
ZShogi
のクライアント側 GUI を
Java Applet
で試して
みました。
まあまあ良さそうです。
今まで Zope 鯖で担ってきた処理を WEB ブラウザが分担してくれるので、
鯖と回線の負担は大幅に減ることが期待できます。
ちゃんと作れば、かなり有望。
ZShogi
インスタンスの利用は、
今までサーバ側の DTML のインタフェースしか考慮して無かったのでかなり使いづらいものでした。
アプレットを使うことでインタフェースがすっきりします。
と云うことで、視界の先になんとなく将棋サーバも見えて来たような。
機能的な面では
勝手に将棋トピックス
の記事がとても参考になりました。
追々改造して行こうと思います。
フランス発、将棋の図面の作成ツールなんて記事を発見。
http://shogi.typepad.jp/brainstorm/2006/06/post_0d9c.html
←それがこれ
http://wormz.free.fr/kifugen/
しばらく前に仏国の名人から ZShogi を使いたいとか言われてたんだけど、
http://www.shogi.fr/
自分で作ったのね。
なんかドキドキしてます ^^
http://www.geocities.jp/bonanza_shogi/
見事に成功です。パチパチパチ^^
ボナンザはフリーの将棋ソフト。
将棋倶楽部 24 でのレートは約 2400 (自称) とアマチュアトップクラス。
激指 (今年のコンピュータ選手権優勝ソフト) と互角と云う噂です。
ちょっとお相手してもらったところ、ソフト臭さもありません。
wine の rpm は ここ の下に置きました。
ftp://owa.as.wakwak.ne.jp/pub/vine
Vine 3.2 用 wine-20050725-uvl1.i386.rpm
Vine 4.0 用 wine-20050830-uvl1.i386.rpm
一日目終了。羽生が1時間45分考慮して、封じ手。
封じ手は、▽55歩が有力とのこと。
山崎> ▽33桂の桂交換から、▽94桂が魅力的。
中川> ▽55歩、▲47銀、▽44金から▽43銀、と柔軟性がある形が好き。
・・・こんなブログを、早く作りたいなー
もともと ZShogi に大盤表示機能は組み込まれているのですが、
借り物のフォントを使っていたので、
この機能を公開することはできなかったのです。
大盤用駒イメージは、png 形式で α チャネル(透明)も使用します。
png 形式に対応しきれてないブラウザではきれいに表示できないかもしれません。
一応 mozilla 系統では正常に表示できることを確認してます。
それ以外のブラウザ対応は後回しです。
また字母に著作権があるのか知りません。
もしあるなら配布条件は GPL ライセンスに準拠することにします。
http://www.gnu.org/licenses/gpl-faq.ja.html
今年の目標は
一秒以内で解答する詰将棋エンジン
作成です。
実現するためのアイディアは去年のうちに仕込んで居りますが実装となると微妙です。
もし実現できたなら Web サイト上でそれを応用したページを作りたいと思ってます。
ZShogi
も上記の詰将棋エンジンが出来れば色々バリエーションも生まれるでしょうが、
今のところ大盤向け駒フォントを追加するとか、
日本語での棋譜表示とか、
プロダクトのI18N化とか、
表向きの機能アップまでは考えてます。
またデモ画面やチュートリアルはゆっくり作ってますので、そのうちアップします。
ZShogi はこの象歩サイトで将棋盤を表示するのに利用しているプロダクトです。
もしかして、棋譜や詰将棋を公開するあなたのサイトで使えるかもしれません。
ZShogi をインストールすると "ZShogi" と "ZShogi Site"
二つのクラスが「add」エントリに追加されます。
"ZShogi" クラスは詰将棋の図面や、実戦の棋譜を表現できます。
また "ZShogi Site" クラスは Folder クラスを継承したクラスです。
"ZShogi Site" フォルダ配下ではいくつかの便利なメソッドが利用可能になります。
またあらかじめ、それらを利用したサンプル DTML が自動で生成されます。
パッケージ公開場所
利用サイト(まだ作り始めたばかりです)
ZShogi は元々多くの人達に使ってもらうことは想定していませんので、
まとまったドキュメントを書く気はありません。
今年中に
初夢
を実現しようと進めて来たのですが、
道程はまだ遠いので将棋盤の表示だけしてみました (とりあえず「第14期竜王戦」うぇいっ)。
COREBlog で表示するには、ちょっと重いのですが、
原因の大半は、ここの blog に画像を貼り込みすぎのせいです。
ちゃんとした Zope プロダクトにするにはまだやることが多く残ってます。
コアのクラスは一応出来たのですが、
操作する方で書かないといけないコードがまだ多いし、
この辺をうまく作らないと使えるプロダクトになりません。
またプロパティに納めるべきデータ項目とか、
サイトとして表現する時に必要な機能とか悩みが多いです。
最終的には RDB かその替わりに何かとか考えてもいるので。
でも、まあ、いろいろな意味があって切れっ端を載せてみました。
ちょっと負荷が心配です。
なにか不具合あったら教えて貰えると嬉しゅうございます。
8手しか進んでないません。図は羽生の▲6六角打に対して森内が△3五銀と出たところ。
さて次の一手は?
第5局二日目に入りました。
羽生名人は1勝3敗でカド番です。名人の先手で 60 手まで進みました。先後が逆ですが第53期王将戦第6局とまったく同じ局面です。
図は、後手森内が8八歩と叩いたところ。
今のところ対象は詰将棋に限定していますし、入力方法も原始的です。
名人戦が開始される前に棋譜入力を可能にしたいのですが、
仕様決めるのはなるべく後にしたい気持ちでいます。
--
追記(2026/09/06):
この記事はもう古過ぎますが、
現在でも、象歩(旧)で利用可能です。
http://owa.as.wakwak.ne.jp/zope/shogi/Games/Editor
http://owa.as.wakwak.ne.jp/zope/shogi/Puzzles/Editor
とりあえず将棋盤クラスが完成すれば、
棋譜の入力や盤面設定はとても楽になるはず。
棋譜倉庫なんか楽珍だし、
COREBlog うまく使えばサイトがすぐに開けそうな気がしています。
とりあえずの問題は基本オブジェクトの質(GUI)と、
大盤での駒の著作権関連をクリアすることだと考えていますので、
今しばらくは時間がかかると思います。
もし全くフリーな駒画像など提供してくださる方が居られれば助かります。
なお象歩の 将棋プロジェクト などで公開している駒は、
フリーということで勝手に頂戴してきたものですが、
プロダクト配布に含めるとなると確認が必用な気がします。
もし無理と云うことなら自分で作ります。
やっぱり将棋の話題になります(汗
なんとか今年中にサイドボックスに将棋盤を表示したかったけどちと無理です。駒のフォントで手間取ってしまいました。14x14くらいのフォント探したけど気に入るものがなかったので、とりあえずX11のフォントを流用して作るところまではいきました。きれいに作るにはそれなりの準備が必要なので、それはまた後程。レスポンス良くしたいと思うので、bitmap処理を自家製にしようと思ったけど、それもまた後々の話。
いままで試していた
将棋盤
はすべてひとまとめにしているので融通がききません。局面の表示オブジェクト、棋譜の入力操作、棋譜のカタログ管理の三プロダクトに分けようと計画しています。この辺はプロダクトを勉強した成果;;ですが。そして最後は思考鯖との通信と鬼が笑うような話。
今試したら詰将棋の解答くらいまではなんとか実現しそうですが。とりあえず表示モジュールは一月十日頃を目標にしよう。










