この本は、初めてプログラムに触れる人を対象に、テトリス風の落ちてくる四角をうまく詰めていくゲームを作っていきます。
君のために専用の道具を用意することにした。プログラミング言語、開発環境、いくつかの養護や概念まで、初心者の君のために用意した。
私のプログラミング言語では大したことはできない。
この本では、著者がこの本のためだけに開発したSunabaを使います。なぜ、メジャーなプログラミング言語を使わないのでしょうか。
いまプログラミングを学ぼうとすると、開発環境を用意する必要があります。実は開発環境のインストールや設定でつまづく場合があります。
近くに相談できる人がいればいいのですが、本で独学している場合は、何を検索すればいいのかもわからない、インストール途中であきらめてしまうかもしれません。
そこで、テキストエディターはWindowsに標準装備のメモ帳を使い、命令の少ないプログラミング言語を設計し、実行するためのアプリケーションSunabaを開発したそうです。
深刻な問題は、できるようにならない人がいても仕方ない、と思われていることだ。教える側がベストを尽くしているとは思えない。
同感です。プログラミングは簡単ではありませんが、特別に難しいスキルではなく、誰でも習得可能だと思います。
ここでは試しに、
メモリ[65050] → 999999
と書き込んでみてほしい。
なんと、番地を指定して値を書き込んでいます。Sunabaのメモリの65050番地に999999という値を書き込んでいます。すると、Sunabaの画面中央に白い点が表示されるのです。
つづいて、番地を変えながら、65051番地や0番地、10000番地に書き込んで遊ぶようにうながします。
つぎに、値を999999ではなく、0や750000などのいろいろな値にして遊ばせます。
遊びながらメモリの番地と値の関係を感じてから、次の段階に進んでいきます。
プログラムとは「どういう順番で、どのメモリにいくつを覚えさせるか」がひたすら書かれたものだ。プログラムはメモリをいじることしかできない。
つまり、プログラムが期待どおりに動いたとは、メモリが期待どおりの値になった、ということです。このように考えると、デバッグやテストで役に立ちます。
4x4の正方形を画面の左上端に書くには、16個のメモリの番号を決めて、それらのメモリの中身を999999にすればいい。
メモリ[60000] → 999999 のような代入文を16行書いて、4x4の正方形を表示させます。
ここまでの内容で、画素の数だけメモリ代入文を書くことで、白黒画像を表示することができるようになりました。