長らく解けなかった難問が昨日解けた。とても快適である。気分が楽になった。肩の荷が下りた。
難問というのは、プログラムのことで、それをコンパイルし、実行すれば、特定のキーを押すたびに、画面の色を変える動作を楽しめるという画像操作型プログラムである。
特定のキーは、キーボード上の一つのキーを割り当て、それを押すたびに、画面が赤色、黄色、青、緑、橙といった具合に変化する。画面を特定の色で発色させるのは、画面のアドレスと、色の指定により可能である。残りは、キーを押すたびに色が変わる操作の実現である。これも割と簡単で、キーの押し操作を検出し、何回目の押し操作であるかを判断して、色を呼び出せばいい。
プログラム自体はそれ程難しくなく、講義を聴いていれば、難なく作成できる。

私もプログラムの作成は短時間にできた。それで、そのプログラムをコンパイルし、実行したところ、全く動作しない。画面が初期画面の黒になっただけで、キーを押しても色が変わらない。
それで、プログラムを色々いじくり、キーを押す回数で画面の色を変更する部分をswitch文で作成したり、if文で作成したりしてみた。でも、どちらもダメだった。その他些細なところを修正してみたが、画像を変化させることが出来なかった。途方に暮れていたのだが、講師のくれた教材を眺めていて、講師が変な記載をしていることに気が付いた。
それは、プログラムを複雑にするのではなく、簡素に、かつ、直接表現で記載していた。プログラムとしての綺麗さはない。普通ならマネしたいとは思わない。
それでも、気になったので、プログラムを簡素に、直接表現で表現しなおしてみた。すると、ビックリしたことに、キー操作に応じて画面の色が変化した。
コンパイル成功である。バンザーイ!!あ~気持ちよかった。
教訓。コンパイルするためのプログラムは、簡素に、出来るだけ直接表現で!!

