Hatena::Groupstreetfighter4

ちょろのわからせられ日記

 | 

2010-02-26botつくった

数日前からurl展開やらgoogle検索やらのbot作ってたんだけど、ふと思いついたのでランバトの進行機能付けてみた。

まだ一部正常に動作してない部分があるのと、出力メッセージが変だったりでβ版です。

紅白戦機能とかも将来的にはつけたいと思っています。

基本操作

04:18

通常時

エントリ受け付け開始。
!entry_start

受け付け開始のアナウンスが行なわれる。

(将来的には水曜と土曜の22時半に自動でアナウンス入るようにしようと思う。

エントリー中

エントリー開始中は以下のコマンドが有効

エントリーする。
!entry {PSN ID} {キャラ名}

  例:「!entry tyoro1210 リュウ」

(既にエントリー済みのPSNIDを指定した場合、キャラが更新されます。)

また、省略表記として「!e」が使えます。

キャンセルする。
!cancel {PSN ID}

  例:「!cancel tyoro1210」

また、省略表記として「!c」が使えます。

一覧を表示
!list

現在参加中のユーザーの人数と一覧を表示します。

例:

(tyoro) !list
(tyobot) 8人:tyoro1210(豪鬼),scudroid(リュウ),motoking(ブランカ),STONP(本田),swirhen(ブランカ),kenan(春麗),trashkids(バイソン),makama(バイソン)

ランバトを開始
!start

 ランバトを開始します。

 開始のアナウンスの後に1回戦のトーナメント表を貼ります。

トーナメント中

基本的にトーナメント表を表示し、その階層の試合が終了すると自動で次の対戦表が表示されます。

!win {PSN ID}

  例:「!win tyoro1210」

また、省略表記として「!w」が使えます。

同じ組合せのプレイヤーを両方とも登録した場合、後に指定した方で更新されます。

トーナメントの組合せについて

04:18

現在の実装

組み合わせを#格ゲーの普段の進行に合わせたんだけど、どうにも表示に違和感があるので一応説明しておく。

例えば9人の参加者が居る場合普通のトーナメントだと、1回戦は1組と7人のシードになるはず。

 (1,2) (3) (4) (5) (6) (7) (8) (9)

ただ#格ゲーの普段の進行だと出来るだけ対戦が早い段階で開始されるように詰められるので、進行的には

 (1,2,9) (3,4) (5,6) (7,8)

こんな風に余った人が各対戦に割り振られて、終わったら勝った方とやれや みたいになってる。

とりあえずその構造を保ったまま、トーナメントの形式に落としこんだら。

 (1,2) (9) (3,4) () (5,6) () (7,8) ()

といった感じで1回戦やって、2回戦が1組と3人がseedといった感じの構造になった。

ただこれだと結局2回戦になるまで1回戦の全試合が終わるまで進行されないのであまり意味がない気がした。

上の今までの進行でやってるの解説で書いたように

 (1,2,9) (3,4) (5,6) (7,8)

の形で持って、1-2が終わったらその時点でアナウンスして勝者と9に試合してもらうようにした方が良いと思うので、その方向で実装を変えてみようと思います。


ちなみにどうでもいい話しだけど。

4、8、16、32...のどんなサイズのトナメになっても同じように整理された配列返すアルゴリズム考えるのに存外時間がかかったので、消すのは少し名残り惜しかったりする。

20人とかで16枠トナメだと偶数列埋めた後に奇数列を「1->9->5->13->3->11->7>15」の順で埋めていくとかしないといけないので、この数値列出すのに時間かかった。

つらつらと全容をどっかに書いておきたいが、ここに書くのも何かアレだな( ´-`)


今後

ひとまずメモとしてここまで。

とりあえず今日模擬ランバトやって正常に動作していたので、今後も使ってもらえるといいな。

ParmeliaParmelia2011/12/15 02:34Life is short, and this article saved valabule time on this Earth.

bisunmkobisunmko2011/12/15 17:47cWi1SY <a href="http://iifqckdxsefj.com/">iifqckdxsefj</a>

llqgmningmllqgmningm2011/12/16 18:36dPpSll , [url=http://ldaluhdwcnft.com/]ldaluhdwcnft[/url], [link=http://ojhunjubcutd.com/]ojhunjubcutd[/link], http://uggnwcssyzjm.com/

cvmucrxvsbcvmucrxvsb2011/12/17 03:01tR9JiX <a href="http://ffewijhgxwxh.com/">ffewijhgxwxh</a>

KatelynKatelyn2013/09/15 17:48Your posting is ablueotlsy on the point!

CarolCarol2013/09/16 09:52Your articles are for when it <a href="http://ovgqfdxklqg.com">abtleusoly,</a> positively, needs to be understood overnight.

EllenEllen2013/09/18 06:21No <a href="http://omnxvfpd.com">quoiestn</a> this is the place to get this info, thanks y'all.

 |