2009-06-30
■ [event] ICFP09
問題文を読み違えていて半日無駄にするなどした。複数人で分担して読むと並列性は上がるのだけど、
- 最初の方を読まずに途中だけ読むことになる
- すると、わからないところはとりあえず想像することになる
- その想像が見当違いであるとき、なかなか気づけない(想像と食い違ってても、「なんかこの文意味わからんなー」ということになってしまう)
という罠。
それはともかく、VMとビジュアライザを書いた。
両方Ruby(/SDL)だけど、4面以外はそこそこ楽しめる速度が出たので高速化とかは特にしなかった (コード生成は(やるかはともかく)思いつくべきだったなぁと思うけど)。 あとRuby1.9に上げたら、Ruby1.8の5倍程度速くなった。YARV++
ビジュアライザ担当としては、カーソルキーでズーム変更とか無駄な便利機能を実装できたのが良かったことで、 バグを一つ仕込んでしまったのが反省点。噴射した位置と方向を表示する機能があったんだけど、 手抜きでそこだけズームに対応しないことにしたら、Y軸の表示方向を途中で上下反転させた(=コンピュータ的座標系から数学的座標にした) ときに噴射方向が間違って表示されるようになってしまっていた。vx=vy=100な方向に噴射させ続けたとき、表示と直角な向きに進むので 気づいたんだけど。もし表示と並行だったらもっと悪いことになってたかも知れない。 間違っているビジュアライザは役に立たない。来年は気をつけよう(って、来年もビジュアライザ班やるつもりか)。
はまった人が多い(らしい)偶奇で入れ替わる話は特読にみ間違えなかった。 バイナリ系は比較的疎いので勘が働かなかったのが逆に良かったんだろう。 しかし今回は問題文に(意図的か不明だが)罠が多すぎたので、来年はぜひ日本人IRCを!