なんか作って載せます

ここまでが、HSPの基本です。

第06回:条件判断



 今回は、「条件判断」についてやっていきます。

 変数を数値を比べ、その結果、別のことをする。それが条件判断です。
 この条件判断をマスターすれば、基本的な部分は終わりだそうです。


 その前に一つ。

 HSPでは、1行につき1つの命令を書いて、1行目から順番に実行されていくというのがスクリプトの原則であると習いました。
 が、実は1行に複数の命令を書く方法があるんだそうです。

 例えば、
変更前

 この3行のスクリプトを、

変更後

 このように1行に収めることが可能です。

 1行に複数の命令を書く時は、「コロン(:)」で区切ればいいだけなんですね。
 コロンの左右には、自由にスペースを入れて構わないそうです。

 1行に複数の命令を書くことを「マルチステートメント」と呼びます。
 しかし、1行に必要以上に命令を詰め込むと見づらくなるので注意。
 見やすいスクリプトが大事、……と。ふむふむ。


 それでは改めて、条件判断についてやっていきます。

 新たな命令「if」の登場です。
 if命令は、「もし〜だったら」という条件に合致すれば、「その行にあるほかの命令」を実行します。合致しなければ、「その行にあるほかの命令」を無視して次の行に進みます。

 この「その行にあるほかの命令」というのは、マルチステートメントで書かれたほかの命令のことです。

if命令・例

 この例だと、3行目のif命令で変数xが100の時だけ、「変数xは100です。」というメッセージが表示されることになります。
 すでに2行目でx=100になっているので、実行すると「変数xは100です。」と「条件判断終わり」という2つの文章が表示されます。

 if命令は、「if 条件式 : 条件が正しい時に実行される命令」というスタイルで使われます。

 条件式は以下。
 「変数名 = 数値」…変数の内容と数値が同じ
 「変数名 ! 数値」…変数の内容と数値が異なる
 「変数名 < 数値」…変数の内容より数値の方が数が大きい
 「変数名 > 数値」…変数の内容より数値の方が数が小さい
 「変数名 <= 数値」…変数の内容より数値の方が同じか大きい(以上)
 「変数名 >= 数値」…変数の内容より数値の方が同じか小さい(以下)

 例えば、「hen < 10」は、「変数henの内容は10より小さいか?」という意味になります。

ifとgotoの組み合わせ

 この例では、変数kaiの内容を1ずつ足していき、10になるまでgoto命令で同じ場所を繰り返すようになっています。
 実行すると、「くりかえすよー。」という文章が10個表示されます。
 このように、goto命令と組み合わせれば、指定した回数だけ同じ処理を繰り返すループを作ることができます。

ボタンを何回押したか

 このスクリプトを実行すると、「PUSH」と「END」の2つのボタンが表示されます。
 「PUSH」を押すたびに、変数kaiにその回数が加算されていきます。
 そして「END」を押すと、その回数がメッセージとして表示されます。

 実行画面はこう。
実行画面

 試しに5回押して「END」。
「PUSH」を5回押してみた

 ちなみに、ラベル「goend」のif命令にあるように、変数kaiが0より大きくないと(一度も「PUSH」ボタンを押してないと)、「せめて1回は「PUSH」ボタンを押してよ」というメッセージが表示されるようになってます。


 なんか、ここに来てようやくプログラミングしてるなぁという気になれました。


 今回はこれで終わり。


2012/04/27/Fri 更新

inserted by FC2 system