命令

コンピューターは、人間に代わって多くのことを自動的に行ってくれます。計算はコンピューターの得意分野ですし、多くの情報から欲しいものを見つけたり、画面にキレイなアニメーションを描くこと、更には人間の言葉を理解して返事を話してくれるようにも最近ではできるようになりました。

多くのことができるコンピューターですが、コンピューターが自ら何かを思いついて行うことは、残念ながらまだありません。予めコンピューターに人間が「○○ということをやってください」とお願いをしているからこそ、コンピューターは「はい!わかりました!」と従順にそのお願い事を実際に行ってくれます。

Jasmine Tea は、ウェブブラウザーの中で再現されたコンピューターです。上記のように、コンピューターである Jasmine Tea に様々なお願い事をすることで、Jasmine Tea はその願い事に忠実に従い、様々なことを行ってくれます。

「命令」とは、Jasmine Tea に対しての具体的な願い事のことです。Jasmine Tea は、命令をされると、忠実にその命令で表される「やらなけれならないこと」をすぐに行います。Jasmine Tea が命令を受けて何かを行うことを、「命令を実行する」と言います。

もちろん、何でもかんでも人間が自由にコンピューターに指示をしたとしても、そのコンピューターができることは限られています。予め Jasmine Tea ができることが決まっていて、それそれに命令があります。例えば、以下のような命令があります。

  • circle - 円を画面に描く。
  • print - 画面に文字や計算結果を表示する。
  • move - スプライト機能を使って、キャラクターを画面上で動かす。
  • speak - 音声合成機能を使って、セリフを話す。
  • bgmplay - BGM(Background Music)を再生する。

上記は、Jasmine Tea ができることのほんの一部です。数多くの命令があって、Jasmine Tea は個々の命令で指示されたことを忠実に実行し、その結果を画面に表示したり、音を鳴らしたりして伝えます。

ここで、実際に Jasmine Tea に命令を実行してもらいましょう。画面に円を描くことを Jasmine Tea に指示してみます。円を描く命令は、 circle です。

circle (300,200),100,4

この circle 命令を Jasmine Tea が実行すると、実行結果の画面は以下のようになります。

command-1

Jasmine Tea に単に circle とだけ指示をしたとしても、Jasmine Tea は「円を描けと言われても...」となってしまいます。どこにどんな大きさでどの色の円を描けば良いか、細かく指示をしてあげなければ、Jasmine Tea はどんな円を描いていいかわかりません。

命令の後に指定する具体的な指示のことを、「パラメーター」と呼びます。先ほど実行した circle 命令の例では、「 (300,200),100,4」 がパラメーターです。circle 命令のパラメーターは、 (300,200) が円の中心の座標、 100 が半径、そして 4 が線の色(緑)という意味になります。

命令の後にパラメーターを指定する際には、命令の直後に空白を一つ以上入力してから、パラメーターを書くことが必要です。

命令ごとに、パラメーターとして指定するものは異なります。また、パラメーターが必要ない命令もあります。どの命令にどんなパラメーターが必要なのかについては、「命令・関数辞書」にて説明されています。

パラメーターを指定する際によく使われる記号がいくつかあります。

  • , (カンマ)- 複数の数値をパラメーターとして指定する際に、個々のパラメーターの区切り文字として使われます。
  • (…,…) - 画面の座標をパラメーターとして指定する際に使われます。括弧内の最初は横方向の座標、2つ目は縦方向の座標となります。 circle 命令の中心座標や、 pset 命令(画面上に点を描く)の点の座標などで使われます。
  • (…,…)-(…,…) - 画面上の 2 点の座標をそれぞれ指定します。 line 命令(線を描く)や box 命令(四角形を描く)などで使われます。
  • ; (セミコロン) - print 命令で複数の数値や文字列を並べて画面に表示したいときに使用します。

命令とパラメーターの組のことを「文」と呼びます(命令とパラメーターを合わせて「命令」と表現することもあります)。Jasmine Tea では、文が「Jasmine Tea に何かをお願いするときの最小単位」となります。