文字を動かしてみるのだ(その1)

マニュアルにも載ってたけど、プログラムには「旗」を立てるらしい。なんのこっちゃ。なになに?「印をつけておくこと」・・・・・・・だったら印って言えよ〜(ToT)/


*MAIN
	X=X+1
	Y=Y+1
	POS X,Y
	MES "動く〜"
	IF Y<400 : GOTO *MAIN
	STOP

とりあえずこういう感じで使うらしい。1行目の「*MAIN」が旗(「フラグ」と言うそうな)。問題は7行目だな。この「IF」ってのが曲者だ。

IF(条件式) : (条件式が正しい場合の命令)
条件式が成立したときはすぐ後の「:」以下へ、条件式が成立しない場合は次の行へ移動。

つまり、上のプログラムで赤い部分を日本語にすると「もし変数Yが400より小さかったら、*MAINに戻ってね」っていうことらしい。日本語で書くと冗長だな。だから英語を使うのか?まぁいいや。

つまりこのプログラムでは、カレントポジションをちょっとづつ増やして「動く〜」の文字を右下へ移動させたかったのだ。でも延々とやられても困るから、条件式を使って途中で止めるようにしたと。Y軸が400以上になったら繰り返しをやめて停止するっつーわけだな。おっと、一個命令を脳味噌にインプットするのを忘れてた。

GOTO(フラグの名前(ラベルと言う))
指定したラベルへ移動。

「IF」にも「GOTO」にも『移動』っつー言葉を使ったけど、要はプログラムの進行をいじる命令なわけだな。MULTIPLYで条件分岐したりとか、空白チップで回路全体を循環させるようにしたりしたけど、そんな感じのことか。そういや昔BASICを触ってたころに「GOSUB〜RETURN」っつーのがあったぞ?「GOTO」を使うとプログラムがややこしくなるから、極力「GOSUB〜RETURN」でサブルーチン化した方がいいっていう話しがあったような・・・。まぁいい、そのうち出てくるだろ。多分。

ところで、上記のプログラムを試した人(もしくはプログラムに詳しい人)は気づいたと思うんだけど、これを実行すると妙なことになっちゃうのだ。ちょっと見てくれ。


こんな風に斜めに棒が表示されちゃうのだ。なんで?うーん・・・続きは次回。

前のページへ戻る 奮闘記のメニューへ戻る 次のページへ進む