NEW 10 'Safari_0 20 ' 30 VIDEO0:CLV 40 ?"PC RESET":?"PC SPRITE START 01 50 ?"PC SPRITE MOVE 00 24 20" 60 ?"PC SPRITE CREATE 00 11" 70 FORI=1TO8:?"PC SPRITE MOVE ";HEX$(I,2);" 50 10":NEXT 100 ?"PC MUSIC SCORE 00 00 12 >>CEG~" 110 ?"PC MUSIC SCORE 01 00 12 CDC~" 120 ?"PC MUSIC SCORE 02 00 82 $<E32E8<B>DD+" 130 ?"PC MUSIC SCORE 03 00 12 <GFEDC~~" 200 X=36:Y=32:S=1 210 LET[60],2,1,2,1,2,2,1,1 220 LET[70],#92,#93,#80,#86,#84,#FF 230 LET[78],#82,#8B,#84,#80,#91,#A4,#A4,#A4 240 LET[86],#86,#80,#8C,#84,#8E,#95,#84,#91 300 GSB1500 310 LRUN1 1500 ' 1510 FORI=1TO8:?"PC SPRITE MOVE ";HEX$(I,2);" ";HEX$(I*8,2);" 10":?"PC SPRITE CREATE ";HEX$(I,2);" ";HEX$([69+I],2):NEXT 1520 ' 1530 L=(L+1)%2:IF L=1 A=#A6+S/10%10:B=#A6+S%10%10 ELSE A=#9B:B=#9B 1540 ?"PC SPRITE CREATE 07 ";HEX$(A,2) 1550 ?"PC SPRITE CREATE 08 ";HEX$(B,2) 1560 S=S-(BTN(28)=1)+(BTN(29)=1):IF S=0 S=15 ELSE IF S=16 S=1 1570 WAIT10 1580 IF INKEY()=10 RTN ELSE GOTO1520 SAVE0 NEW 400 'Safari_1 410 ' 420 [76]=#A6+S/10%10:[77]=#A6+S%10%10 430 C=69:GSB1200 440 D=0:E=0:N=S:IF S>15 N=15 450 ?"PC MUSIC PLAY 01 02" 460 LRUN2 1000 ' 1010 ?"PC MUSIC PLAY 00 02" 1020 C=77:GSB1200 1030 S=S+1:GOTO400 1100 ' 1110 ?"PC MUSIC PLAY 00 02" 1120 C=85:GSB1200 1130 VIDEO1:CLS:?"STAGE ";S:?:?"GAME OVER":?:?"PUSH [Enter]" 1140 IF INKEY()=10 LRUN0 ELSE CONT 1200 ' 1210 FORI=1TO8:?"PC SPRITE CREATE ";HEX$(I,2);" ";HEX$([C+I],2):?"PC SPRITE FLIP ";HEX$(I,2);" 00":NEXT 1220 A=72 1230 A=A-4:FORI=1TO8:?"PC SPRITE MOVE ";HEX$(I,2);" ";HEX$(A+I*8,2);" 10":NEXT 1240 IF A=0 IF C=85 ?"PC MUSIC PLAY 01 03":RTN ELSE ?"PC MUSIC PLAY 01 00":WAIT50 1250 IF A>-72 GOTO1230 1260 RTN SAVE1 NEW 500 'Safari_2 510 ' 520 IF(E=D)&(H=1)&(J=0)X=X-2:IF X<-16 LRUN1,1100 530 IF(E=N)&(H=0)&(J=0) LRUN1,1000 540 L=(L+1)%8:V=L/4 600 ' 610 IF H=1 GOTO660 620 IF(BTN(28)=1)&(X>0) X=X-1:F=1 630 IF(BTN(29)=1)&(X<72) X=X+1:F=0 640 IF(K=1)&(BTN(32)=0) K=0 650 IF(J=0)&(K=0)&(BTN(32)=1) K=1:J=1:Q=-650:?"PC MUSIC PLAY 01 01" 660 ' 670 IF J=1 Y=Y+Q/100:Q=Q+100:V=0 680 IF(J=1)&(Y>=32) J=0:Q=0:Y=32 690 ?"PC SPRITE FLIP 00 ";HEX$(F,2) 700 ?"PC SPRITE MOVE 00 ";HEX$(X,2);" ";HEX$(Y-V,2) 710 LRUN3 SAVE2 NEW 800 'Safari_3 810 ' 820 IF(H=0)&(D<N)&(RND(2)=0) [D*4]=RND(72):[D*4+1]=-8:[D*4+2]=1:C=RND(8):[D*4+3]=[60+C]:?"PC SPRITE CREATE ";HEX$(D+1,2);" ";HEX$(#24+C,2):A=D:GSB1300:D=D+1 830 FORI=0TO14:W=L/4 840 IF[I*4+2]<2 W=0 850 IF[I*4+2]=0 GOTO930 860 IF[I*4+2]=4 ?"PC SPRITE MOVE ";HEX$(I+1,2);" ";HEX$(X+[I*4],2);" ";HEX$(Y+[I*4+1]-W,2):GOTO930 870 IF L%[I*4+3]>0 GOTO930 880 IF[I*4+2]=3 [I*4]=[I*4]-4:IF[I*4]<-7 [I*4+2]=0:E=E+1 890 IF[I*4+2]=2 [I*4]=[I*4]+4:IF[I*4]>79 [I*4+2]=0:E=E+1 900 IF[I*4+2]=1 [I*4+1]=[I*4+1]+4:IF[I*4+1]>=32 [I*4+1]=32:A=I:GSB1300:IF[I*4]<X [I*4+2]=2 ELSE [I*4+2]=3 910 ?"PC SPRITE MOVE ";HEX$(I+1,2);" ";HEX$([I*4],2);" ";HEX$([I*4+1]-W,2) 920 A=X-[I*4]:B=Y-[I*4+1]:IF(A*A+B*B<24) H=1:?"PC SPRITE ROTATE 00 ";HEX$((1-F)*2+1,2):?"PC MUSIC SCORE 00 01 12 GDC~":[I*4+2]=4:[I*4]=[I*4]-X:[I*4+1]=[I*4+1]-Y:E=E+1 930 ' 940 NEXT 950 LRUN2 1300 ' 1310 IF[A*4]>X B=1 ELSE B=0 1320 ?"PC SPRITE FLIP ";HEX$(A+1,2);" ";HEX$(B,2) 1330 RTN SAVE3
シンプルながら侮れない難易度が楽しいです。操作性も良いですね! 動物に当たってしまったときのバスの動きが予想外で、思わず笑ってしまいました。ゲームオーバーの演出がいいゲームは楽しい!