プログラミング:今の考えを捨て去って新しい考えを手に入れる

IT知識

プログラミングはシンプルに考えるのが一番
そんな事は昔から知っているし正論でもあるのだが、プログラミングに行き詰っている人にそれを言っても無駄だ。(つまりプログラミング中のわたしの事)

例えば次のようなしょぼいゲームのプログラミング中にわたしは行き詰った。
わたしのプログラムをここで紹介しても更にしょぼくなるので、動作中のプログラムを紹介するとこんな感じだ。

ステージの通路を一筆書きで塗りつぶしたらゲームクリアというものだ。

わたしは当初このゲームのキャラクタを以下で構成した。

プレイヤーのカエルは、通路内を動き回るので背景が白く見えるが実際は透明色だ。この4つのキャラクタでゲームを作っていたらプログラムが複雑になってしまった。プレイヤーが通路を動き回るときにピンクの通路ブロックとプレイヤー画像を重ね合わせる処理が妙に面倒くさく複雑になりかけていたのだ。

実際にプレイヤーが通路を動いている時の見た目は2つの画像を重ねて表示させる必要があるのでこうなる。

この処理がシンプルとは言えないプログラムになってしまったので、わたしは嫌気がさしていた。(自分の頭の悪さにもだが…)

一晩寝たら、気づいたのだった。

プレイヤーが通路を歩き回るとき、プレイヤーの場所は常にピンクに塗りつぶすのだから最初からプレイヤーの背景をピンクにしておけばいいじゃん。

かくして必要なキャラクタ画像はこうなった。(プレイヤー画像が変化しただけだが)

プレイヤーの画像を考え方を変えて置き換えただけだが、これだけでプログラムが短くシンプルになった。

このような事はプログラミング中往々にしてある。
ちょっと視点を変えるだけなので視点移動の際の時間は短いのだが、視点を変えたり今までやってきた考え方を捨て去るという行為には大層な時間が掛かってしまうのだ。
多分これはプログラミングだけではあるまい。

コメント

タイトルとURLをコピーしました