SFCave風


昔作った洞窟ゲーム。なにぶん画面が小さい設計なので
少々見辛いがまあ大丈夫。

w=12
HI=load()
makeimg(BG,120,120)
soft2("EXIT")
W=132
H=144
goto 5
label 0
G=6
PY=Y=59
trgt(BG)
P=100
for(X=I=0;I<30;D[I++]=10){
color(20*c=(6<c=I%15)?14-c:c;,255,c*20)
frect(I*4,0,4,120)
col(126-c*18<<16)
frect(I*4,10,4,100)
}
r=abs(rand)%5
trgt(off)
label 1
lock()
trgt(BG)
if(abs(w=r+D[I-1]-59+P/2)>57-P/2||rand%30==0||!r){
r=abs(rand%5)*(w<0?1:-1;)
gc()
}
D[I]=r+D[++I-2]
color(20*c=(6<c=I%15)?14-c:c;,255,c*20)
frect(x=X%120,0,4,120)
col(126-c*18<<16)
frect(x,D[I-1],4,P)
if(X%40==0){
J[x/40]=D[I-1]+abs(rand)%(--P-16)
col(0x80FF80)
frect(x,J[x/40],4,16)
}
X=X+4
G=G+((b=65536==F=scan)&&G<8)-(!b&&G>-8)
if(1<<18&F){end}
PY=Y
Y=Y-G
col(0x8080FF)
line(o=(36+x)%120,PY,i=(39+x)%120,Y)
line(o,PY,i,Y)
line(o,PY+1,i,Y+1)
disvar(D[I-30])
unlock(1)
trgt(off)
clip(6,12,120,120)
drawimg(BG,2-x,12,0)
drawimg(BG,122-x,12,0)
unlock(1)
sleep(60)
goto 1+(abs(D[I-21]+(f=P+1>>1)-Y)>f||(X%40==4&&abs(J[((X-84)/40)%3]+8-Y)<9))*3
label 5
lock()
col(0x8080FF)
frect(0,0,W,H)
if(input(0)){goto 0}
if(++w>36){w=12}elsif(w<0){w=12}
col(128)farc(66-w,77-w,w*2,w*2)col(0)text("SFCave",26,35,0)col(0xFFFFFF)text("SFCave",22,39,0)text("Score:".S,8,109,0)text("Hi-Score:".HI,8,125,0)col(0xFF0000)text("SELECT:UP",8,71,0)text("PUSH key to start!",8,87,0)unlock(1)sleep(40)
goto 5
label 4
trgt(off)
save(HI=max(S=X*3/4,HI))
col(0x8080FF)
for(i=8;--i>0;){
lock()
frect(0,0,W,H)
clip(6+(R=rand%i),12+(Q=rand%i),120,120)
drawimg(BG,6-X%120+R,12+Q,0)
drawimg(BG,126-X%120+R,12+Q,0)
unlock(1)
sleep(60)
}
clip(0,0,W,H)
col(0xFF0000)
for(i=0;36>i=i+2;){
arc(39-i,Y-i+12,i*2,i*2)
sleep(60)
}
lock()
col(255)text("Game Over",24,72,0)col(0xFF8000)text("Score:".S,24,95,0)unlock(1)
clearkey()input()goto 5