プログラムの定石

ものすごい苦労して書いたコードが、あっさりと美しいコードに収まるのを見たことがある。


一番最初に衝撃を受けたのはブロック崩しのゲームを作っていた時。当時はケータイ端末向けのゲームを作成していたのだが、自分でロジックを考えて作ると結構複雑。反射するボールの角度を決めたり、反射する方向を決めたりするロジックは結構複雑だった。そこで世の中に転がってるブロック崩しのソースを参考にしよう!と思って見てみて衝撃を受けた。たくさんの条件分岐の末、ボールの跳ねる方向を決定していたロジックがたったの1行で終わっていた。たしかこんな感じのコードが書いてあった

direction = -direction;

なるほどと。プログラムには定石がある。特にゲームなんかはたくさんあると思う。テトリスなんかも自作するとすごい複雑になりそうだけど、典型的な作り方が既にあるのだ。

アセンブラぷよぷよ作った頃が懐かしい...( = =) トオイメ