; ; カーソルキーで●を動かすサンプル ; 赤い●が追いかけてきます ; #module #defcfunc near int a, int b ; ; near(a,b) ; aをbに近づけた値を返す関数 ; if a=b : return a if a>b : return a-1 return a+1 #defcfunc away int a, int b ; ; near(a,b) ; aをbから遠ざけた値を返す関数 ; if a=b : return a if a>b : return a+1 return a-1 #deffunc putchr int x, int y, str chr ; ; putchr x,y,chr ; (x,y)の位置にchrの文字を表示する ; pos x,y:mes chr return #global title "カーソルキーで●を動かせます。" speed=4 flag=0 myx=400:myy=360 enex=200:eney=120 repeat redraw 0 color 0,0,128:boxf color 255,255,255 putchr myx,myy,"●" color 255,0,0 putchr enex,eney,"●" if flag&1 { enex=away(enex,myx) eney=away(eney,myy) } else { enex=near(enex,myx) eney=near(eney,myy) } stick key,15 if key&128 : end if key&2 : myy-=speed if key&8 : myy+=speed if key&1 : myx-=speed if key&4 : myx+=speed if key&16 : flag^=1 redraw 1 await 25 loop