今って直接XとYを足してるじゃないですか。これではうまくいきません。 以下のような感じで、足す前に、一旦、座標の増減だけ別変数で覚えておけば、動く前に行き先の確認ができますよ。 増減X=0:増減Y=0 IF A==1 THEN 増減Y=-1 IF A==2 THEN 増減Y=1 IF A==4 THEN 増減X=-1 IF A==8 THEN 増減X=1 CH=CHKCHR(X+増減X,Y+増減Y) ' 空白の部分は0か32 IF CH==0 OR CH==32 THEN  LOCATE X,Y:PRINT " "  X=X+増減X:Y=Y+増減Y  LOCATE X,Y:PRINT "(・_・)" ENDIF