だいぶ昔に作ったものですが・・・。
cls
buffer 1
picload "L1.bmp"
buffer 2
picload "map1.bmp"
screen 0,665,300
gmode 2
#define 速さ 8
#define 高さ 160
#define 速度 8
x=320 : y=240 : jp=0 :sjp=0:maxT=高さ
;メインプログラム
*ALOOP
redraw 2
pos 0,0 :gcopy 2,0,0,665,300
stick key,23
if (key&1)&&(x>0) : x-=6
if ((key&4)==4)&&(x<640) : x+=6
if ((key&2)==2)&&(jp==0) : jp++ :maxT=高さ
if ((key&16)==16)&&(jp==0) :jp++:sjp++:maxT=20
if jp : jp+=速度
if sjp : sjp+=速さ
if jp > 180 : jp=0:x=x-sjp:sjp=0
if x<0 :x=0 ;はみ出し修正
if x>610 :x=610
pos x-sjp,y-sin(3.14159*jp/180)*maxT
gcopy 1,0,0,95,100 ;buffer1のキャラ範囲指定
redraw 1 ;画面ちらつき防止
await 30
y=180 ;地面設定
goto *ALOOP