4

オンライン ポーカーを支援する Rails アプリを作成したいと考えています。私は PokerStars でプレイしており、プレイしたハンドごとにテキスト データを利用できます。形式は次のとおりです。

PokerStars ゲーム #27457662450: トーナメント #157033867、フリーロール ホールデム ノー リミット - レベル IV (50/100) - 2009/04/24 20:39:44 ET
テーブル '157033867 830' 9-max シー​​ト #1 がボタンです
シート 1: DortheaV (7624 チップ)
シート 2: Currly234 (チップ数 3016)
シート 3: paolilla (チップ数 3086)
シート 4: triumph888 (チップ数 1571) は席を外しています
シート 5: Minchausti (チップ数 1185) はシートアウト
シート 6: madmike11847 (チップで 1195) が座っています
シート 7: alamodey (4038 チップ)
シート 8: ウィスカボブ (3365 チップ)
シート 9: SHpic76 (チップ数 1115) はシートアウト
DortheaV: アンティ 10 を投稿します。
Currly234: アンティ 10 を投稿します。
paolilla: アンティ 10 を投稿します。
triumph888: アンティ 10 を投稿します
Minchausti: アンティ 10 を投稿します。
madmike11847: アンティ 10 を投稿します
alamodey: アンティ 10 を投稿します。
whiskerbob: アンティ 10 を投稿します。
SHpic76: アンティ 10 を投稿します。
Currly234: ポスト スモール ブラインド 50
paolilla: ポスト ビッグ ブラインド 100
*** ホールカード ***
アラモディ [8s Ks] に対処
triumph888: フォールド
Minchausti: ひだ
madmike11847: ひだ
アラモディ: コール 100
ウィスカボブ: ひだ
SHpic76: 折り目
DortheaV: ひだ
Currly234: コール 50
パオリラ:小切手
*** フロップ *** [5c 4h 6d]
Currly234: チェック
パオリラ:小切手
アラモディ: ベット 234
Currly234: フォールド
パオリラ:ひだ
アンコール ベット (234) がアラモディに返還されました
アラモディはポットから 390 を集めました
アラモディ: 手が見えない
*** まとめ ***
合計ポット 390 | レーキ 0
ボード [5c 4h 6d]
シート 1: DortheaV (ボタン) がフロップ前にフォールド (ベットしなかった)
シート 2: フロップでフォールドされた Currly234 (スモール ブラインド)
シート 3: フロップでフォールドされた paolilla (ビッグ ブラインド)
シート 4: triumph888 がフロップ前にフォールド (ベットしなかった)
シート 5: Minchausti がフロップ前にフォールド (ベットしなかった)
シート 6: madmike11847 がフロップ前にフォールド (ベットしなかった)
シート 7: アラモディ収集 (390)
シート 8: フロップの前にウィスカーボブがフォールド (ベットしなかった)
シート 9: SHpic76 がフロップ前にフォールド (ベットしなかった)

Ruby 用の解析ライブラリはありますか、それとも手動でハッキリと行う必要がありますか?

4

4 に答える 4

2

これは Regex! の仕事のように思えます。ライブラリを使用しても解析が簡単になるとは思えません。これは非常にカスタムな形式であるため、ハッキングするだけで済みます。

于 2009-04-25T00:57:21.710 に答える
2

Ruby 用の構文解析式文法ベースのパーサー ジェネレーターであるTreetopを参照してください。

于 2009-04-25T00:59:50.800 に答える
1

また、データが必要な場合は、PokerTrackerを確認する必要があります。PokerTrackerは、100%の手の情報を保存し、十分に文書化されたスキーマとオープンなPostgreSQLデータベースを備えています。

于 2009-04-25T06:31:05.073 に答える
1

Ragelはパーサーを書くのがとても上手です。たとえば、Mongrel の http パーサーは、ragel で生成されます。

于 2009-04-25T01:21:16.927 に答える