柿木形式の棋譜解析用の正規表現について

将棋ポータルでは棋譜読み込みの処理に正規表現を使用しています。
対象としている棋譜は柿木形式で記載されているものです。

・よくある柿木形式
   1 7六歩(77)   ( 0:00/00:00:00)
柿木形式は現在、最も普及している棋譜の形式じゃないでしょうか?
棋譜でーたべーすの棋譜も、各タイトル戦の棋譜中継でも用いられています。
将棋倶楽部24も柿木形式です。

まず、手数、指し手、動かす駒、消費時間の順に記載されています。

これを正規表現で表してみたのが以下のものです。
・作成してみた正規表現
^(\n|\r|\s)*(?<move>\d?\d?\d?)\s*(((?<toX>[123456789])(?<toY>[一二三四五六七八九])|(?<equal>同)\s))(?<piece>成?[歩香桂銀金角飛王玉と馬竜])(?<opt>[成打]?)(\((?<fromX>\d)?(?<fromY>\d)\)|)\s*(\(\s*\d:\d\d/(?<time>\d\d:\d\d:\d\d)\)|)

それぞれ分解してみていきます。
1.手数
正規表現
(?<move>\d?\d?\d?)
柿木形式では、手数を1桁、2桁、3桁で表現されます。なので、0~9を表す\dを3つそれぞれあるかないか?をつけています。

ちなみに公式で最長手数は芹沢博文VS原田泰夫の390手らしいので3桁で問題ないはずです。

2.指手
正規表現
(((?<toX>[123456789])(?<toY>[一二三四五六七八九])|(?<equal>同)\s))(?<piece>成?[歩香桂銀金角飛王玉と馬竜])(?<opt>[成打]?)
指手は全角の数字、漢数字、駒、成る、打つのオプションで構成されています。
また、駒には成香、成桂、成銀等の駒の前に成がつく文字があります。

3.動かす駒
正規表現
(\((?<fromX>\d)?(?<fromY>\d)\)|)
動かす駒は()で挟まれた2桁の数値で表します。
正規表現では()の記号自体はグループの意味を持つため、\(\)と記述しなければいけません。

4.消費時間
正規表現
(\(\s*\d:\d\d/(?<time>\d\d:\d\d:\d\d)\)|)
消費時間はあったりなかったりが激しいですが一様読み取れるようにしています。


以上、柿木形式を読み取るために作成した正規表現でした。
きっともっといい記述があるかもしれませんが、参考までに載せておきます。

将棋ポータルの更新版を申請しました

昨日、将棋ポータルの更新版を申請してきました。
早ければ一週間後にはストアで公開されるでしょう。

今回、対局と棋譜並べの処理に大きな変更を加えました。
ユーザからみれば特に変更点を感じることはないすが・・・。
これで角が消えるようなバグもなくなります(たぶん)

あと棋譜並べモードにはデータベースを使用するようにしました。
次あたりは保存していた棋譜を呼び出したりできるようにする予定です。

対局中のメニュー画面をメトロ風なデザインにしました。
メトロアイコンを作るのは楽しいです。

以下は次の更新で対応する予定の機能です。
  • 秒読みボイス(ソフトーク)
  • 駒画像変更(メトロ風将棋駒?)
  • 棋譜並べ履歴
さらに以下の機能を盛るこむことを考えています。
  • CPU対戦
  • 棋譜検索
  • 記録係モード
  • 将棋本DB
  • タイトル戦通知
もうちょっとポータルという名前にふさわしい機能を作っていきたいですね

iPodで曲が消えない現象に遭遇しました

いつものようにiPod classicを同期しようとしたらアルバム曲が分裂していることに気づきました。
これはおかしいと思ったので、一度そのアルバムをプレイリストからはずしてもう一度同期してみることにしました。
そしたらさらにアルバム曲が分裂していました。

1.曲の分裂状態
andymoriの「andymori」ってアルバムを同期したときです。
一部楽曲のアルバム名が「andymori」ってな感じの全角文字になってて、アルバム曲が二つに分裂していました。
一度曲を消去して再度同期してみると4つに増えてました。

2.修正方法
andymoriをアーティストごとすべて消去してみました。
そしてもう一度同期したら治りました。

3.原因
よくわかりません。
iPodはたまにiTunesのライブラリと整合性がとれなくなることがあるのでしょうかね。
今、使用中のiPodは購入してから2年ほど経つのでHDDが大分へたってきたのかもしれませんね。

Surface RTを持ってデニーズにいってきた

今回は、Surface RTを持ってデニーズに行ってきました。
目的は、将棋ポータルの設計をするためです。
次のアップデートでは、駒の画像を今のものから変更する予定ですので改めてサイズ等を図りなおさないといけません。
Surface RTにはペイントアプリがプリインストールされているので、画像のPixelを図るくらいなら問題なくおこなえますね。

ところで最近は自宅でプログラミング等に集中してとりくむことができなくなってきました。
自宅だとニコニコ動画や、YouTube等の誘惑に勝てません。
また、ボーナスでDVDを買いすぎたのも原因と思われます。

そう考えると喫茶店やファミレス等は、プログラミングに集中して取り組める環境だと思います。
大きな音を鳴らすことはもちろんできませんし、人の目もあるのでYouTubeやニコニコ動画を見るのもはばかられます。

しかし、デニーズは冷房が効きすぎて寒かった。
自分にあった場所を見つけたいですね。

Surface RTをもって秋葉原にきてみた&ゴーゴカレーのレビュー

この前ゴーゴーカレーのメジャーを食べてみたくなり秋葉原のゴーゴーカレーまでいってきました。

その日は、天気も良かったので自転車で秋葉原まで行くことに。
自転車を漕ぐこと30分。秋葉原のゴーゴーカレー秋葉原1号店に到着です。

さて今回のお目当てはメジャーカレーだったのですが、食券を買うときにメジャーファーストカレー成るものがあることに気づきました。
なんでも通常のメジャーカレーはライス460gのところ、メジャーカレーになるとライス600gという凶悪な量になるとのこと。
お値段はメジャーカレーより100円高いだけなので少し迷いましたがせっかく秋葉原まできたのでメジャーファーストカレーを注文することにしました。。

カウンター席について、待つこと5分、メジャーファーストカレーが運ばれてきました。
ウィンナー2本、ロースかつ1枚、チキンカツ1枚、海老フライ1個、卵1個、キャベツがお皿狭しといったように盛られています。
ライスは見た目多そうにみえませんでしたが、かなり固められているようで食べれども食べれども一向にへらない。
正直、半分くらい食べたところでおなか一杯になってしまいました。これはキツイ・・・

結局、卵半分だけ残してお店をでることになりました。
もう満足です。晩御飯はなしで大丈夫でしょう。

さてゴーゴカレーを食べた後は駅前のスターバックスに行きSurface RTでブログを書くことにしました。
窓きわのカウンター席に座ってSurface RTをさわっていましたが、両隣はMacBookでした。
しかもAirじゃなくてProっぽい。たぶん、店内でSurface RTを使用していたのは私一人だったでしょう。
スタバでブログを書いてて気づきましたが、Touch Cover使用時は、あのポコポコ音が聞こえないとミスタイプがかなり増えます。
TouchCoverは押し心地が皆無なので、打鍵時のフィードバックとして得られるのは、PC画面で文字が表示されるかどうか、もしくはあのポコポコ音しかないのでしょう。
私は、ブラインドタッチがそれほど得意なわけではないので、画面表示はそれほどあてになりません。そのため、打鍵時のフィードバックがゼロになるのでミスタイプが増えるのでしょう。

かつてKinectの講演会でMicrosoftの社員の方が、使いやすいインターフェースは、わかりやすい入力とわかりやすい出力をもっていると話していました。

そこから、考えるとTouchCoverには、わかりやすい出力として音以外にもなにかあるとうれしいですね。
Surface RTは薄くて持ち運びやすいので外出時に利用されることも多いので、音が聞こえにくい環境でわかりやすく打鍵を伝える方法があればTouchCoverがより使用しやすいものになるでしょう。

家帰ってから気づいたけどチャック前回でした。

Surface RTをもって出張してみた

少し前ですが出張する機会があったためSurface RTを持っていくことにしました。
手持ちのノートPCは15インチディスプレイですので外出先に持っていくには少し重いのです。
Surface RTなら軽いしかかさばらないので気軽に持っていくことができます。

ケース等は持っていなかったので100円ショップでB5サイズのケースを購入。ぴったり収まるサイズでした。

出張先でのネット環境にはイーモバイルを仕様。
Surface RTにはUSBのインターフェースがあるので、イーモバイル用に充電器をもっていかなくてもいいところがうれしいです。

出張中は主にホテルでのインターネットに使用していました。
デフォルトのブラウザ(IE10)でニコニコ動画もYouTubeも見れるのでいいですね。
あと、画面分割機能が地味に役立ちます。片方の画面でYouTubeを視聴しつつ、もう片方の画面でブログを書いたりと色々活用できそうですね。

そのほかにはIT eBooksでダウンロードしてきたPDFファイルを閲覧していました。
プリインストールのアプリ「リーダー」で十分快適に閲覧できますね。

カバーがキーボードなので、ちょっとした文章作成も楽々できます(さすがに長文となると指がつかれそうですが・・・)

価格改定によって3万9千円が定価になり購入しやすくなりました。
もしタブレットをもってなくて興味がある方は、夏のボーナスを使って購入してみるといいかもしれません

Surface RTを外で使用してみた

Surface RTを購入してから日に日に外で使用したいという欲望が強くなってきました
というわけで外に持ち出して使用することにしました。

幸いe-mobileと契約していたので外出時のインターネット利用に問題はありません。
東急ハンズで買った鞄にSurface RTを突っ込みいざ出発です。

まずかねてから行きたかったカラオケにいくことに
以前ダウンロードしたサウンドレコーダーアプリで自分の歌を録音してみたりしました。
片手にタブレットを抱えながらもう片方の手でマイクを持つ。こういうことができるのはタブレットならではですね。

その後は昼ご飯がてらサンマルクカフェに立ち寄りブラックコーヒーを飲みながらブログを書いてみました。
外で使用するときTouch Coverのポコポコ音が気になるかと思ったけど案外目立たない感じでした。店内のBGMで十分かき消されるレベルです。
カフェなどで利用するときは普通のノートPC感覚で使用することができるのは面白いですね。

外で使用してみて普通にPC代わりとしての利用も可能と感じました。
とりあえず明日から出張はSurface RTだけで乗り切ってみたいと思います。
では