2011-09-21[n年前へ]
■「実装」の「迷路」
昨日、迷路を描くRubyコードを書きました。 コードは「壁が交わる格子点」基準で書きました。 壁基準で書いた方が、簡単に迷路が作れ・右手法での迷路解法プログラムを書くのも簡単だろう、と考えたからです。 しかし、コードを書いている途中に、壁基準のコードだと複雑なことをしようとする時に「うまくない」かもしれないなぁと、ふと考えました。 それは、床を基準に格子点を作り出し・処理させた方が使い回しがきくかもしれない…といったような雑念でした。
しかし、床基準でコードを書いたとしても、それはそれで「うまくない点/苦労する点」に思い当たり、「壁(壁格子点)基準で書けば良 かった」と隣の芝生が青く見えたのかもしれない、とも思います。
何か目的があったとき、その目的を実現するものをどう実装すれば良いのだろう、とよく考えます。 どのやり方が良いのだろう?そもそも一体どういうやり方をしたら良いのだろう?と悩むことがあります。 あんなやり方/こんなやり方…さまざまな実現/実装方法を数多く経験したことがなければ、目的地にたどり着くまでにとても苦労したり、あるいは、目的地に辿り着くことすらできなかったりするのではないか、と思います。
経験が少ない状態で、経験以上に大きな看板を掲げて何かを作り始めると、ほとんどの場合失敗するように思います。 経験値ゼロで、役立つ武器もない状態で、巨 大な実装の迷路へ足を踏み入れたりすると…ゴールまで辿り着けるわけがありません。
結局は、経験値を稼がないといけないのだろう、と思います。 最初は小さなモンスターを相手に、小さなことからコツコツとの精神で経験値を貯めていくしかないように思います。 そして、経験値が高くなり、使える武器を少しずつ揃えていけば、中くらいの迷路の森を抜けることはできそうです。 さらには、経験値MAXになって・武器が十分揃ったならば、大きな迷路ですら抜けることもできるかもしれません。
そうすれば、壁に囲まれても目的地を見失うこともなくなり、あるいは、必要とあれば、迷路の壁をぶち破り突き抜けることもできるようになるかもしれません。