#author("2017-11-30T13:18:28+09:00","","")
** LOCATE文 [#zceb6b95]
#author("2023-01-31T10:29:25+09:00","default:maa","maa")

テキスト画面は画面左上を原点 (0,0) として、右(横)に X 軸、下(縦)に Y 軸の座標軸で制御されている。

#ref(locate.png,center)

次のプログラムは、テキスト座標 (5,10) 、すなわち、画面左上から右に5文字、下に10文字の位置から、“Hello” と表示する。

 10	CLS
 20	LOCATE 5,10
 30	PRINT "Hello"

** ボールを表示して画面上を移動させる [#xb72ef20]

LOCATE 文を使えば、ボールに見立てた “O”(オー)の文字を、画面上の任意の位置に表示することができる。

- ボールを (5,5) の位置に表示し、(20,5) の位置まで X 軸方向に1刻みで移動させるには?

#ref(pinball_r.png,center)

- ボールを (5,5) の位置に表示し、(5,20) の位置まで Y 軸方向に1刻みで移動させるには?

#ref(pinball_d.png,center)

- ボールを (5,5) の位置に表示し、(20,20) の位置まで XY軸方向に1刻みで右斜め下に移動させるには?

#ref(pinball_rd.png,center)

ボールを移動させるには、ボールを表示しては消し、隣(上下左右)に表示してはまた消すを繰り返せばいい。

 100	CLS
 110	'--- ボールの座標 X,Y
 120	X=5:Y=5
 130	'--- FOR〜NEXT を使って15回繰り返す
 140	FOR I=1 TO 15
 150		'--- X,Y にボールを表示
 160		LOCATE X,Y:PRINT "O"
 170		'--- 時間稼ぎの空ループ
 180		FOR J=1 TO 500:NEXT J
 190		'--- X,Y のボールを消す
 200		LOCATE X,Y:PRINT " "
 210		'--- 新しいボールの座標を計算
 220		X=X+1:Y=Y+1
 230	NEXT I


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS