ここでは、バグの温床である条件分岐を排除する話をします。そのためにハローを使っているのは、分かりやすいからです。
ALANの使い方について最初から説明していきます。プログラミングの学習と言えばhello,worldです。ALANを起動すると最初はPlantの状態で始まります。これは植える(Plant)ということで、アプリの開発を意味しています。TextのSizeが選択されているので30ポイントを指定して、適当にドラッグして範囲を決めます。実のところ、左上だけでも良いのですが、とりあえずこのようになっています。Textの欄に表示したいものを入力してOKをします。2025.5.16 追加
すると、次のようになります。オートマトンが設定されたという表示です。左上の〇をドラッグすると移動できます。右上の×をクリックすると削除できます。実行画面に移行するにはBloom(咲かせる)をクリックします。
すると、次のように30ポイントのサイズで入力したものを表示します。
次に日本語バージョンを入れてみます。ここでは、受け身のオートマトンではなくクリックしたら色を変えるというアクティブなものにします。Actionの項のClickの箇所にColor(Blue)と書き込みます。
ここまでの設定を実行モードにすると次のようになります。クリックするまでは黒色のままです。
ここで「こんにちは、世界」という文字をクリックすると次のようになります。
同じようにして韓国語バージョンも入れます。アンニョンハセヨ・セゲと読むようです。日本語キーボードからの直接入力は面倒ですが、検索してコピペすれば簡単です。ここでは赤色にします。
これを実行モード(Bloom)にすると次のようになります。ここまでの成果はhello1.amtというファイルにあります。
ここまでで、イベントとオブジェクトの一体化をしました。次は、データとの一体化をします。これでデータ・イベント・オブジェクトの三位一体で DEO Trinity ということになります。まずGrow(育てる)モードにして新しいデータを作成します。ドラッグしてデータの名前と最初の項目の名前を入力します。
ここでデータの中身を入力します。
同じようにしてほかの名前も入力します。
データの準備ができたので、Plant(植える)モードに移行します。とりあえず文字サイズを大きくします。
データとテキストオブジェクトを接続するにはEachを選択します。これにより項目名を[名前]のようにして参照できます。
これで準備ができたので、Bloom(咲かせる)に移行すると、次のように表示されます。
子どもの場合は男の子は青で女の子は赤とか、ちゃんづけ君付けという慣習があります。プログラマには面倒な話です。これを条件分岐を使わずに書いてしまおうということです。最初は名前だけの名簿データを作成します。次に、項目を追加します。それにはタイプを選択してから右上の四角をドラッグします。タイプをFuncのTeamにすると、もう一つのデータが自動生成します。上にできるので、元のデータは少し低く書いておきます。
性別というデータが生成されましたが中身はありません。クリックして入力していきます。
親データの方は最初はブランクになっていますが、クリックすると順に変わります。一回で男になり二回で女になります。さらにクリックするとブランクに戻ります。
自動生成された性別データに新しい項目を加えます。色はFuncのColorを使います。
現時点では色データはRGBの値をコンマで区切って入れています。そのうちBlue,Redのように入れることも考えています。
さらに敬称という項目を追加します。これはItemのTextです。
敬称項目の中身を入力したところです。
さて、ここからがポイントです。出力文字列に[敬称@性別]と書くことで、適切な呼び方に置き換えられます。またActionのColor指定で、元のBlackを消して[色@性別]に置き換えます。これで男は青、女は赤に表示されます。
Bloomをクリックして実行モードに移行すると次のようになります。この話がどこを目指しているかというと、最初に提示した消費税の計算を税区分ごとに行うというような現実的な課題になります。とはいえ、請求書と消費税というのは複雑な話です。まずは男の子と女の子の呼び方で練習ということです。
5.16追加 ここまでは、データの入力はGrowモードに戻って入れてましたが、実行モードでのクリックによる入力を可能にします。まずデータの構造は前回と同じです。ここでは名簿のデータは空にしておきます。
次にクリックするとデータを入力するテキストを設定します。データとのリンクをCommonにして次のように設定します。クリックしたときの設定がポイントです。
同様にして女の子のための入力も追加します。
これを実行モードにすると次のようになります。それぞれをクリックすると名前を入力できるようになります。
色と敬称をつけた挨拶を設定します。こちらはEachモードにします。
実行モードにして男の子の名前を入力します。
男の子への挨拶が表示されました。同じようにして女の子の名前も入力します。
次のようになります。
そういうわけで、実際の経済取引というような複雑な話をする前に、問題とテクニックを整理したいと思います。まずは子どものゲームにお付き合いください。集まれ集まれとか、はないちもんめなどを予定しています。