wx=160:wy=320;
bs=16;
xl = wx/bs : yl = wy/bs;
dim a,wx/bs,wy/bs;
dim b,wx/bs,wy/bs;
kuruma = "1,0,1,0,1,1,1,1,1,1,0,1,0,1,0,1,1,1,1,1,1,0,0,0,1";
jyama = "1,1,1,1,1,1,0,0,0,1,1,0,1,0,1,1,0,0,0,1,1,1,1,1,1";
width wx,wy
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
repeat
gosub *kuria
repeat
stick sp,16;
if sp&16 : break;
pos 35,100
color 255,255,255
mes " ぷりーず\n プッシュ\nスペースキー"
mes "\n[→]で、右へ\n[←]で、左へ\n移動します\nスペースキーで\n加速します"
await 100
loop
v=1;
b_pos =0;
car_pos = 1;
u_c_pos = 0;
count = 5;
atari=0;
point=-2
repeat wx/bs
c1=cnt;
repeat wy/bs
c2=cnt;
a.c1.c2 = 0;
loop
loop
repeat wx/bs
c1=cnt;
repeat wy/bs
c2=cnt;
b.c1.c2 = 0;
loop
loop
repeat
redraw 0
gosub *key_get
gosub *car
gosub *kuria
gosub *jyama_o
gosub *hyouji
if (atari=1) : break;
redraw 1
await 60/v
loop
redraw 1
wait 50
gosub *kuria
pos 35,150
color 255,255,255
mes"くらっしゅ!"
wait 50
mes "Point:"+point;
pos 15,230
mes "\n[Enter]:もう一回"
repeat
await 10
stick sp,32;
if sp&32 : break;
loop
loop
stop
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*kuria
;画面の真っ黒け化
color 0,0,0
boxf 0,0,wx,wy
return
*box
color 255,255,255
boxf pox * bs+1,poy * bs+1,pox * bs + bs-1,poy * bs + bs-1;
color 0,0,0
boxf pox * bs +3,poy * bs + 3,pox * bs + bs - 3,poy * bs + bs - 3;
color 255,255,255
boxf pox * bs +6,poy * bs + 6,pox * bs + bs - 6,poy * bs + bs - 6;
return
*hyouji
;配列の画像としての表示
repeat wx/bs
c1=cnt;
repeat wy/bs
c2=cnt;
if (a.c1.c2 = 1)|(b.c1.c2 =1){
pox=c1:poy=c2;
gosub *box
if ((a.c1.c2 = 1)&(b.c1.c2 =1)) : atari=1;
}
loop
loop
return
*car
if (b_pos!car_pos){
repeat 5
c1=cnt;
repeat 5
c2=cnt;
str gstr;
getstr gstr,kuruma,(c1*5+c2)*2,','
int gstr
xtem=xl-5+c2-(car_pos*5):ytem=yl-5+c1;
a.xtem.ytem = gstr;
loop
loop
repeat 5
c1=cnt;
repeat 5
c2=cnt;
xtem=xl-5+c2-(u_c_pos*5):ytem=yl-5+c1;
a.xtem.ytem = 0;
loop
loop
}
b_pos = car_pos;
return
*key_get
stick keys,21;
if keys&1 {
car_pos = 1;
u_c_pos = 0;
}
if keys&4{
car_pos = 0;
u_c_pos = 1;
}
if keys&16{
v=2;
}else{
v=1;
}
return
*jyama_o
if (count = 0){
rnd j_pos,2;
count = 12;
point++;
}
repeat yl-1
c1=cnt;
repeat xl
c2=cnt;
xtem=xl-c2-1 : ytem=yl-c1-2;
xtem2=xl-c2-1 : ytem2=yl-c1-1;
b.xtem2.ytem2 = b.xtem.ytem;
loop
loop
if (count<=10)&(count>=6){
repeat 5
str gstr;
getstr gstr,jyama,((10-count)*5+cnt)*2,','
int gstr
xtem=xl-5+cnt-(j_pos*5):ytem=0;
b.xtem.ytem = gstr;
loop
}else{
repeat 5
xtem=xl-5+cnt-(j_pos*5):ytem=0;
b.xtem.ytem = 0;
loop
}
count -= 1;
return