stop HSPではプログラムが最後まで進んでしまうと勝手に終わってしまいます。そこでプログラムの流れを止めるのに stop命令を使用します。かといってプログラムの最後に使うことはほとんど無く、 button,on〜 命令の後に使用されるのがほとんどだと思います。 |
mes "3秒待ってね!" wait 300 mes "はい!三秒!" stop プログラムの流れを一時中断するにはwait命令を使用します。 指定できる最小時間は100分の1秒(0.01秒)単位ですので注意してください。 |
a=1 if a<0 { mes "aはマイナスです" } else { mes "aは0以上です" } stop 条件によって作業を変えるにはif命令を使用します。条件判断の方法は他にもあるので HELPを参考にしてください。また、講座内のちょっと難しい話?でも 条件判断について詳しく解説しているので参考にしてください。条件に当てはまった場合に行う作業は {}で囲まれた部分の作業をします。 else命令はifの条件に当てはまらなかった場合にこちらの作業をします。 elseは条件判断に必ず必要な命令ではありません。必要に応じて 使用してください。 |
a=1 if a<0 : mes "aはマイナスです" : else : mes "aは0以上です" stop
if命令の書き方が先ほどと少し違いますが、条件判断の後の作業が
少ない場合には、:(コロン)で区切って同じ行に命令を書いていってもかまいません。
このとき、else命令を使用する場合も同じ行に:で区切って書きます。 |
repeat 5 mes "あははは" loop stop 同じ事を繰り返すにはrepeat - loop命令を使用します。 この命令は必ず組み合わせて使います。パラメータには繰り返しの回数を指定します。 また、ここで書いているようrepeat - loopの間ではさらにtabを使って どこからどこまでが繰り返しなのか分かりやすくするといいと思います。 |
repeat 5,1 mes "cnt="+cnt loop stop repeat - loop命令を使用する際にはcntというシステム変数を 使用すると便利です。 システム変数は、HSPがすでに用意している変数で僕らは変数の中身を見ることができても =を使って値を入れることはできません。cntは、繰り返しをするたびに1ずつ増えていきます。 第2パラメータでcntの初期値を指定することができます。省略した場合は0からになります。 |
repeat 11,-5 if cnt==0 : continue mes "cnt="+cnt loop stop
例えば-5〜5まで繰り返し作業したいけど0は作業したくない…というときには
ループをやり直すcontinue命令を使用します。 |
repeat a=cnt*cnt if a>100 : break mes ""+cnt+"×"+cnt+"="+a wait 1 loop stop
repeat命令の |
repeat 6 mes cnt await 1000 loop stop プログラムの流れを(ほぼ)正確に待つにはawait命令を使用します。 1000分の1(0.001)秒単位で時間の指定ができます(waitは0.01秒単位)。 しかし、ゲームなどの速度調整以外ではあまり使用しないほうがいいでしょう。 詳しくはちょっと難しい話?のawaitとwaitの項目を参考にしてください。 |
repeat ,-5 if a>0 : end mes "a="+a : wait 100 stop HSPでは最後まで行くとプログラムが勝手に終わりますが、途中でプログラムを終了 させたい場合にはend命令を使用します。例ではaの値がプラスになったら終了します。 |