ifは、条件判断のために使う文です。例えば、aが0より大きければ・・・ 体力が0になったら・・・とか使えます(^^)
;簡単な条件判断
	a=-5
	if a>0 : mes "aは正です"
	if a<0 : mes "aは負です"
	if a==0 : mes "aは0です"
	if a!=0 : mes "aは0ではありません"
	stop
判断するための書き方は他にもありますし、同じ意味の物が多々あります。 それをまとめてみたいと思います。
;条件判断の書き方
	a=0
	if a>0 : mes "aは0より大きい"
	if a<0 : mes "aは0より小さい(未満)"
	if a>=0 : mes "aは0以上"
	if a<=0 : mes "aは0以下"
	if a==0 : mes "aは0です"
	if a=0 : mes "aは0です"
	if a!=0 : mes "aは0ではない"
	if a!0 : mes "aは0ではない"
	stop
つぎに、数学の表記で表すと・・・0<a<10、このような書き方についてです。 そのまま書きたくなりますが、それは間違いになり、期待した通りには動きません。 (エラーもでないのでさらにやっかいなのですが(^^;) これの場合は、「aは0より大きく、”かつ”、aは10より小さい」 このように分けて考えます。この、”かつ”のほかに・・・”または”というのがあります。 「aは0以下、”又は”、aは10以上」このような使い方ができます。 ”かつ”は&で、”又は”は|(Shiftを押しながら¥)で表します。 条件それぞれは括弧で囲んで&や|でつなぎます。何個でもつなぐことができますが ややこしくなります(^^;
;条件判断の書き方2
	a=15
	if (a>0)&(a<10) : mes "aは0より大きくかつ、aは10より小さい"
	if (a<=0)|(a>=10) : mes "aは0未満または、aは10以上"
	stop
さて、他の方が書かれたプログラムを見ると時々
if a : mes "aは0ではない"
このように省略して書いてる場合があります。さてなぜなのか??
これは、HSPでは、0なら間違いで、0以外なら正しい・・・という風に 条件を判断しているからです。実際にプログラムを見てみましょう。
;ifは、なにで確認しているのか?
	a=-3
	repeat 7
		if a : mes "a="+a+"の時は正しい"
		a++
	loop
	stop
つまり、ifの後の計算結果(?)が0以外であれば、ifの後は実行されます。 ここで、計算結果と書きましたが、実は、<や>=や&なども計算用の記号なのです。 これについては、計算2のほうで・・・

■ 目次へ戻る ■

テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル