
var frame=0;
var delay;
var px=15;
var py=14;
var pp=0;
var ax,ay;
var af=0;
var key,ex,ey;
var ef=0;
var es=15;
var score=0;
var hp=3;
var i;
while(1){
delay=tick();
if(frame%es==0){
if(ef==0){
if(rnd(2)==0){
ex=0;
ey=rnd(23);
}
else{
ex=rnd(31);
ey=1;
}
ef=1;
}
if(rnd(2)==0){
if(px>ex){
ex=ex+1;
}
if(px<ex){
ex=ex-1;
}
}
else{
if(py>ey){
ey=ey+1;
}
if(py<ey){
ey=ey-1;
}
}
}
if(frame%10==0){
key=inkey();
if(key==30){
py=py-1;
pp=0;
}
if(key==31){
py=py+1;
pp=2;
}
if(key==28){
px=px-1;
pp=3;
}
if(key==29){
px=px+1;
pp=1;
}
if(px>31){
px=31;
}
if(px<0){
px=0;
}
if(py>23){
py=23;
}
if(py<1){
py=0;
}
if(key==32){
af=1;
if(pp==0){
ax=px;
ay=py-1;
}
if(pp==1){
ax=px+1;
ay=py;
}
if(pp==2){
ax=px;
ay=py+1;
}
if(pp==3){
ax=px-1;
ay=py;
}
}
while(inkey()!=0){}
}
if(frame%3==0){
cls();
lc(22, 0);
log("LIFE:");
i=0;
while(i<hp){
log("o");
i=i+1;
}
lc(px,py);
log(chr(0xEB));
lc(ex,ey);
if(rnd(2)==0){
log(chr(0xF9));
}
else{
log(chr(0xFA));
}
lc(0,0);
log("SCORE:",score);
}
if(af==1){
lc(ax,ay);
log(chr(0xF5));
if((ax==ex)*(ay==ey)){
ex=-1;
ey=-1;
ef=0;
es=es-1;
score=score+1;
if(score==15){
cls();
lc(13,12);
log("CLEAR");
sleep(5000);
cls();
exit(0);
}
}
}
if((px==ex)*(py==ey)){
hp=hp-1;
if(pp==0){py=py+3;}
if(pp==1){px=px-3;}
if(pp==2){py=py-3;}
if(pp==3){px=px+3;}
if(hp==0){
cls();
lc(11,12);
log("GAME OVER");
sleep(5000);
cls();
exit();
}
}
if(frame%15==0){
ax=-1;ay=-1;af=0;
}
frame=frame+1;
delay=tick()-delay;
sleep(20-delay);
}

上下左右のキーでキャラクタを動かして、スペースキーで攻撃ですね。近づいてくる敵との間合いの取り方が攻略のポイントですね。逃げるか攻撃するか……。このバランスがとても楽しいです。