読者です 読者をやめる 読者になる 読者になる

ヾノ*>ㅅ<)ノシ帳

技術ブログに見せかけて、ジャンル制限のないふりーだむなブログです。

Code Runner 2015 予選B ひとり反省会

終盤24000点の壁が厚かった。ルールは本家見てね。結果:中盤で調子づいた時の167位、25455点。

coderunner.jp

ルーム(定員3名)が用意されてぶち込まれるのだが、強い人に当たると部屋の中で1位が取れなくて100位以内は難しいという感じだった。 1位が取れない=点数を奪われているという感覚で臨むべきだった。

ニコニコ動画で実況していた運営の人の競技終了後のアドバイス:「敵のHP7割ぶんを貯めて攻撃すると稼ぎやすい」というのもよさそう。 「1位をとるために、このモンスターからはこの点数までなら得点できそう」という思考で望んだ方がよかったかも。

全体1位の人だったかな、ニコ生の電話インタビューで他の人が攻撃するちょっと前に先に攻撃するということを言っていた。

僕の書いたコードは定期的に攻撃+αだったが、貯める時間を調整するぐらいしかできず、微妙。 ちなみに中盤は2.5秒、終盤は4.5秒とるといい感じに勝てた(平均2位前後)。

僕のコードでよかった点はrun.py単体でAPIの動作確認ができるということと、run.pyをラッパーとしてAI君(ai.py)から呼び出せたことかな。 コードが書きやすかった。あとは戦術が伴えば…ね。

統計を簡単に確認する手段も用意してしておくことも重要だった。 僕は戦績を簡単に確認できるようにmyrank.pyを書いた。 他に各ルームで起きたことを把握できるような解析ができるとよかったかな。 もっと細かいことになると、サーバーで起きていること(GAME START, OUT ROOM、ゲーム開始からの経過時間、モンスターの被ダメージなど)と手元のプログラムで簡単に確認できる手段(関数)を用意しておくとミスのないコーディング、きめ細かい対応をするAIができたと思う。

考え違いを起こしやすいのでデバッグメッセージを多く出すようにするとええで。

最後にコードをペたり。 gist.github.com