将棋ツール

2013-03-06

「ふれ盤」公開

「ふれ盤」公開することにしました。

こちら(http://shogi.servegame.com/fleban/)に利用方法などの説明サイトを作りました。

まだ作り直したい部分があるので、3月末頃まではβ版ということになると思います。

| | コメント (0) | トラックバック (0)

2013-02-26

「ふれ盤」プロジェクト始動

昨日くらいに大福屋のチャットサービスが終了したことで、「あじゃ盤」でチャットが出来なくなってしまっているようです。

「あじゃ盤」が主な活動場所の狼将棋としては困ったところなのですが、こんな時のために用意していたもの(嘘)がありましたね。「茉麻盤」です。「茉麻盤」とは、私が2年程前にFlexで作っていたもので、「あじゃ盤」+「まあさスクリプト」の機能をほぼ実装し終えていたものの、特に使われる事もなく「あじゃ盤」狼部屋の予備としてひっそりと存在していたものです。これを使わない手はないですね。

そして、これを狼将棋だけで使うのはもったいないので、少し手直して広く公開してみようかなと思っている訳です。ただ「茉麻盤」って名前は恥ずかしいwので、名前は「ふれ盤」に変えようかと。Ajaxを使った将棋盤が「あじゃ盤」なら、Flexを使った将棋盤は「ふれ盤」でしょう。

というわけで、「ふれ盤」プロジェクト始動です。これまであじゃ盤を使ってきた将棋サークルさんとかが、気軽にあじゃ盤の代替品として使えるものを目指そうと思います。なのでまずはあじゃ盤をとことん真似る方向で、茉麻盤を改造していきます。

今月中には公開できるようにがんばります。

| | コメント (0) | トラックバック (0)

2010-09-20

まあさスクリプト1.20

まあさスクリプトの久々なちょっと大きめの更新です。
今回の更新は、チャットへのログイン・ログアウトがあった時と、チャットに発言があった時に音を鳴らすという新機能の追加です。
あじゃ盤にスピーカーのアイコンが表示され、そのアイコンをクリックすることでこの機能のON/OFFをトグルで切り替えられます。

これであじゃ盤ログイン中に、他の作業であじゃ盤を見ていなくても新たなログインや発言を逃すこと無くフォロー出来ることでしょう。

| | コメント (4) | トラックバック (0)

2009-10-09

フラ盤をHatenaダイアリーへ設置する




こうなるようです。棋譜はフラ盤についていたサンプルを使用しました。


| | コメント (0) | トラックバック (0)

2009-10-08

MacOSXでBonanza -Kiryu-

以前ここで、Bonanzaはソース公開されてるからGUIだけ作ってMacOSX版を誰か作らないかな、などど言っておりましたが(2月25日の日記でした。)、まさにそれをやってくださってた方がいらっしゃいましたよ。

Cider House   » Kiryu

内包してるBonanza4.1.2と対局するという点からは十分なアプリですね。駒落ちにも対応しているようで、ボナンザ強いので駒落とさせてちょっと遊ぶにはいいアプリでしょうね。

ただ対局よりも棋譜を解析したり、指定局面での指し手や評価値が知りたい私のような人にはかなり物足りない。その辺は今後に期待してみたいですね。(って今後があるのかな…7月に公開されて7月にアップデートされてそのままのようだし…微妙)


やっぱり棋譜解析とかを手っ取り早くBonanzaにさせるツールは自分で書くべきなのかな…。Cocoaしばらく触ってないからGUIは無理でも、.kifか.bod与えるとテキスト出力するようなコマンドラインツールなら…。

| | コメント (0) | トラックバック (0)

2009-09-23

連休も終わってしまった…



やばい、リーグ戦指してない…。夜お酒飲んでることが多かったからなあ…。


そんな中、連休中の暇な時間に茉麻盤のFLASH版をちょこちょこやってた訳ですが、なんかあっさり目処がついて、今月中にはJavascript版に追いつきそう。


| | コメント (1) | トラックバック (0)

2009-09-15

茉麻盤をFLASHで…



JavaScriptで作り始め、チャットも独自にPerl+Flexで作って一応完成に向かいつつある茉麻盤ですが、チャット部分にFlexを使うと他の部分もそうした方がスマートに思えて来ます。


例えば駒音などの音はHTML+JavaScriptで無理して鳴らすより、Flashプラグインで鳴らした方が簡単で、実際、茉麻盤はすでに駒音はFlashプラグインから鳴るように書き換えました。他の機能についても同様で、画像処理についてもFlashで行った方がいい点が多々考えられます。


なによりFlashを利用することの利点はクライアントの差異(ブラウザなどの環境の違い)を考えなくていい点です。HTML+JavaScriptでの開発はブラウザによる差異を考えることがどうしても大きな障害になっていました。


どうせ少しでもFlashプラグインに頼るのなら、いっそ全部そっちに任せた方がいいでしょう。


とういわけで、茉麻盤の開発は今の公開版でストップして、全面FLASH版の開発に移行することにします。


完成目標は今年中です。


| | コメント (0) | トラックバック (0)

2009-09-01

仕切り直し



「あじゃ盤みたいなの作れそう」という安易な思いつきから検討板(通称茉麻盤?)を作り始め、「安南将棋おもしろそう」で対戦盤を作り始めたわけだけど、チャットがネックになってどちらも止まったままになっている。


そもそも茉麻盤は、あじゃ盤が盤面の更新とチャットを分けて考えて作られているのを、一つにして作れないかという発想を実現したくて始めたもので、Lingrというチャットサービスを利用し、JSONPという方法でチャット鯖と通信していたのだが、通信エラー時の検出が難しく完成をあきらめかけていた(テスト版としては完成で安定運用は断念)。そもそもLingrサービスが今年の6月に停止してしまったため、うまくいっていたにしても別の方法を探す必要に迫られる筈だったのだろうけど…。


安南将棋はチャットサービスを使わず、Ajaxでサーバを数秒置きに呼び出すことでいちおう上手く動作していたのだけど、サーバ負荷とかスクリプトの複雑化とか考えるとスマートではなく、どうせならスマートな方法で作りたくなったため制作意欲が低下していた…。


そんな訳で、茉麻盤の代替として茉麻盤に盛り込む予定の機能だった棋譜の読み込み等をあじゃ盤の方に追加する「まあさスクリプト」を作り始めたわけだけど、これは完了した。(といっていいと思う。)


そして最近また、安南将棋の意外にも、ついたて将棋や目隠し将棋などの対戦形式の将棋盤もつくれそうという思いつきもあり、もう一度WEB上で動く将棋盤の開発を仕切り直して始めようかなという気になってきた。


というわけで、今後の予定。



  1. 茉麻盤用にチャットサーバスクリプト(Perl)+クライアント(Flex)での作成と茉麻盤の完成

  2. チャットサーバを拡張し、対戦形式の盤への流用と各種将棋対戦盤の完成

  3. 茉麻盤or対戦盤のオールFlash化


をやってみようと思う。


2.と3.は順番が逆になる可能性もある。


(こういうとこで宣言しておくと投げ出しにくいから書いてみました。)


| | コメント (0) | トラックバック (0)

2009-08-19

「まあさスクリプト」1.1



ちょっとだけ機能追加。


URLが自動リンクされる際アンダースコア(_)とか英数時以外の文字の変な位置でURLが切れててきちんとリンクが張られていないことがあるのをスクリプト側でなんとかしようという機能を追加。


結構前からこの機能を付けようと思っていたのだけど、Safariでうまくいかなくて保留にしてました。ふとしたことからSafariでうまくいかない理由がやっとわかったので実装してみました。Safariでは文字列をJavaからJavascriptに渡すとき、バージョンよって型がStringではなくObjectになってることがあるみたいです。


| | コメント (1) | トラックバック (0)

2009-06-11

「まあさスクリプト」バグ修正(1.02)



GoogleChromeで局面がうまく読み込めない事象が発生。


タイミングよく数日前にMacOSX版のGoogleChrome開発者向け版が配布されているようだったので、早速落として検証。どうも正規表現のgオプションでのループで失敗しているみたい。



re=/正規表現/g;
while( re.exec(str) !=null ){
//ループ
if( /*条件*/ ){ break; }
}

こんな感じでループさせて、さらにその外側に1つループがあるんだけど、どうもbreak;でループ抜けた時に前の状態(lastIndexとか)が残ってしまっているっポイ。



re=/正規表現/g;
re.lastIndex=0;

としてやるとちゃんと動くみたいだけど、なんかスマートじゃないよね。


いろいろググってみると、FireFoxなどでもそうなるみたいだ。あれ、FireFoxは試した筈…あれ…あはは駄目だorz…。


というわけで、GoogleChrome、Firefox、Operaで上手く動作してなかった模様。


正規表現のリテラルでの代入をやめてnew RegExpで正規表現オブジェクトをつくってやるのがいいらしい。



re=new RegExp("正規表現","g");
while( re.exec(str) !=null ){
//ループ
if( /*条件*/ ){ break; }
}

こういう風に書き換えました。



while( /正規表現/g.exec(str) !=null ){
//ループ
}

こうやっちゃいけないのは作りながら確認してたんだけど、それで解決したと思ってたっぽい・・・。反省。


| | コメント (0) | トラックバック (0)