●このページの課題は maru05.bas として、マイドキュメントの basic フォルダに保存すること。( .bas は自動的につきます)
●"/"の向きから考えて、右に動いていたときは上に、左に動いていたときは下に跳ね返るようにしました。今度は"\"で逆に跳ね返るようにしましょう。
●キーボードでは"/"の隣に"\"があります。日本ではこの文字は"¥"に置き換えられているのですが、気にせずに使うことにします。
●今度は右向きの時は下向きに、左向きの時は上向きになります。また、下向きの時は右向き、上向きの時は左向きになります。したがって dx dy を取り替えるだけでなく、マイナスをつける必要があります。プログラム例で -dx や -tmp とあるのはそのためです。
SET WINDOW 0,500,0,500
SET AREA COLOR 2
LET x=50
LET y=300
LET dx=1
LET dy=0
DO
CHARACTER INPUT NOWAIT:s$
IF s$="e" THEN EXIT DO
IF s$="/" THEN
LET tmp = dy
LET dy = dx
LET dx = tmp
END IF
IF s$="\" THEN
LET tmp = dy
LET dy = -dx
LET dx = -tmp
END IF
LET ox = x
LET oy = y
LET x = x + dx
LET y = y + dy
IF x > 500 THEN
LET dx=-1
END IF
IF x < 0 THEN
LET dx=1
END IF
IF y > 500 THEN
LET dy=-1
END IF
IF y < 0 THEN
LET dy=1
END IF
SET AREA COLOR 0
DRAW disk WITH SCALE(10)*SHIFT(ox,oy)
SET AREA COLOR 2
DRAW disk WITH SCALE(10)*SHIFT(x,y)
WAIT DELAY 0.01
LOOP
END