REM 944BASIC '星に願いを' SETPAGE 0:COLORBG 0,0,0: CLS REM RR=出現率(1〜) REM 数値が大きいほど出現しにくく RR=7 SETPAGE 2 COLORBG 0,0,0: CLS COLORFG 211,192,236 REM 流れ星の描画 X=2:Y=255 PSET X,Y FOR J=1 TO 2 COLORFG 211-J*64,192-J*64,236-J*64 PSET X-J,Y-J:PSET X+J,Y+J PSET X+J,Y-J:PSET X-J,Y+J PSET X,Y-J:PSET X,Y+J PSET X+J,Y:PSET X-J,Y NEXT J REM 星空の描画 FOR I=1 TO 100 R=RNDRG(-96,16) COLORFG 211+R,192+R,236+R X=(RND+TIME)%239 Y=(RND+TIME)%239 PSET X,Y NEXT I REM 星空のスプライト表示 SETPAGE 0 SPRITE 9,9,1, 0,0, 0,0, 240,240 REFRESH 0,0, 0,0, 240,240 *LOOP SYNC REM R=流れ星の出現頻度。%以下の数字 REM を小さくすると出現率がアップ R=(RND+TIME)%RR X=(RND+TIME)%120+60 A=RNDRG(-4,4): REM A=傾き IF A=0 THEN A=(-1) M=0.5: REM M=流れ星の拡大率 N=0.02: REM N=拡大率の増減 FOR Y=0 TO 229 STEP 3 SYNC X=X+A IF X<0 THEN X=0 M=M+N IF M>1 THEN N=N*(-1) REM 乱数Rの値が0の場合のみ、 REM 流れ星のスプライトを表示 IF R=0 THEN SPRITE 1,1,5, X,Y, 0,255, 5,5, M,M ELSE SPRITE 1,1,0 REM 端に到達したときの処理 IF XX<2 THEN XX=2:SPRITE 1,1,0: Y=229 IF X>234 THEN SPRITE 1,1,0: Y=229 REM 流れ星スプライトの消去と描画 REFRESH XX-2,YY-2, XX-2,YY-2, 5,5 REFRESH X-2,Y-2, X-2,Y-2, 5,5 XX=X:YY=Y NEXT I GOTO *LOOP