sample\game\defcfunc.hsp » Plain Format
;
; カーソルキーで●を動かすサンプル
; 赤い●が追いかけてきます
;
#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