; ; 複数の物体を動かす(2) ; randomize buffer 3 picload "face.bmp" ; 画像ファイル screen 0,640,480 facemax=30 ; 物体の最大数 gosub *faceini *main redraw 0 ; 描画始め color 0,64,0 boxf ; 背景を消す gosub *facemove ; 物体を動かす gosub *facedraw ; 物体を描画 redraw 1 ; 描画終わり await 20 goto *main *faceini ; 物体の初期化 ; dim facex,facemax dim facey,facemax dim facepx,facemax repeat facemax facex(cnt)=rnd(640) ; X位置を決める facey(cnt)=rnd(480) ; Y位置を決める facepx(cnt)=rnd(5)-2 ; X位置の増分を決める loop return *facemove ; 物体を動かす ; repeat facemax facex(cnt)+=facepx(cnt) ; 横方向に動かす facey(cnt)+=4 ; 下に動かす if facey(cnt)>480 { ; 下まで行ったら上に戻す facey(cnt)=-64 facex(cnt)=rnd(640) ; X位置を決める facepx(cnt)=rnd(5)-2 ; X位置の増分を決める } loop return *facedraw ; 物体を描画 ; gmode 2,64,64 ; 画像サイズ repeat facemax pos facex(cnt),facey(cnt) gcopy 3 ; 画像コピー loop return