恐らくお求めのプログラムは
正攻法で行くと下記の様な感じです。
;自機と敵のサイズ、敵の初期位置を宣言
jibunXsize=50
jibunYsize=50
tekiXsize=50
tekiYsize=50
tekiX=320
tekiY=240
*main ;メインループ
jibunX=mousex
jibunY=mousey
redraw 0 ;描画開始
color 255,255,255:boxf
color 0,0,255:boxf jibunX,jibunY,jibunX+jibunXsize,jibunY+jibunYsize ;自機の描画
color 0,0,0:boxf tekiX,tekiY,tekiX+tekiXsize,tekiY+tekiYsize ;敵?の描画
redraw 1 ;描画終わり
;以下で 自機の縦方向の大きさ x 横方向の大きさ のドット数分pgetで取得
;(50x50だと250箇所をpgetで取得)
repeat jibunYsize
cnt2=cnt
repeat jibunXsize
pget jibunX+cnt,jibunY+cnt2 ;色取得
if ginfo_r=0 & ginfo_g=0 & ginfo_b=0{ ;判定
tekiX=rnd(640):tekiY=rnd(480)
break
}
loop
loop
await 16
goto *main
一つ判定するのにpgetを250回とか行う事になるので
ゲーム等に使用すると重いかもしれないです。
下記のソースは一般的な箱型の当たり判定の式だと思いますが
軽い処理で同じ事ができます。
;自機と敵のサイズ、敵の初期位置を宣言
jibunXsize=50
jibunYsize=50
tekiXsize=50
tekiYsize=50
tekiX=320
tekiY=240
*main ;メインループ
jibunX=mousex
jibunY=mousey
;以下で 四つの条件式にて当たり判定
if jibunX+jibunXsize >= tekiX & jibunX <= tekiX+tekiXsize & jibunY+jibunYsize >= tekiY & jibunY <= tekiY+tekiYsize{ ;当たり判定
tekiX=rnd(640):tekiY=rnd(480)
}
redraw 0 ;描画開始
color 255,255,255:boxf
color 0,0,255:boxf jibunX,jibunY,jibunX+jibunXsize,jibunY+jibunYsize ;自機の描画
color 0,0,0:boxf tekiX,tekiY,tekiX+tekiXsize,tekiY+tekiYsize ;敵の描画
redraw 1
await 16
goto *main