■プログラムリスト(40字×60行)
1 DEFINTA-Z:COLOR15,0,0:SCREEN1,3,RND(-T
IME):KEYOFF:WIDTH32:DEFFNA(A)=RND(1)*A\1
:DEFFNB(A,B,C)=A-(A>C)*(C-A)+(A<B)*(A-B)
:DEFFNC=STRIG(0)+STRIG(1)+STRIG(2):FORI=
0TO13:READA$:FORJ=0TO31:VPOKE&H3800+I*32
+J,VAL("&H"+MID$(A$,1+J*2,2)):NEXT:NEXT
2 VPOKE&H2006,160:VPOKE&H2007,160:VPOKE&
H200C,96:VPOKE&H2010,144:FORI=0TO15:VPOK
E776+I,VAL("&H"+MID$("EE00BB00EE00BB00FE
FEFE00EFEFEF00",1+I*2,2)):NEXT
3 SC=0:L=3:F=180:P=0:M=0:X=27:Y=16:S=2:F
ORI=0TO2:G(I)=0:NEXT:FORI=0TO21:PRINT"b"
STRING$(30,97-(IMOD21=0))"b";:NEXT:VPOKE
&H1B02,8:PUTSPRITE1,,14,4:GOSUB17:TIME=0
4 I=STICK(0)ORSTICK(1)ORSTICK(2):IFIMOD2
THENS=I\2:VPOKE&H1B02,S*4:X=FNB(X+(S=3)-
(S=1),0,56):Y=FNB(Y+(S=0)-(S=2),0,34)
5 M=M+(M>0):PUTSPRITE0,(X*4,Y*4),15-(MMO
D2)*15:IFP=0ANDFNCTHENP=S+1:V=X:W=Y
6 I=X(G):J=Y(G):ONG(G)GOSUB14,14,15,16:I
FG(G)=0THENG(G)=FNA(FNB(2+SC\30,0,5)):X(
G)=FNA(2)*56:Y(G)=FNA(2)*34:PUTSPRITE2+G
,,1+FNA(15):GOTO4
7 I=FNB(I,0,56):J=FNB(J,0,34):PUTSPRITE2
+G,(I*4,J*4),,4+G(G)*2+A:IFP=0GOTO10
8 V=V+(P=4)-(P=2):W=W+(P=1)-(P=3):PUTSPR
ITE1,(V*4,W*4):IFV<0ORV>56ORW<0ORW>36THE
NP=0:VPOKE&H1B04,223:GOTO10
9 IFABS(V-I)+ABS(W-J)<4THENSC=SC+G(G):GO
SUB17:G(G)=0:P=0:H=16:PUTSPRITE5,(I*4,J*
4):VPOKE&H1B04,223
10 IFM=0ANDABS(X-I)*2+ABS(Y-J)<8THENL=L+
(L>0):GOSUB17:M=32
11 IFHTHENH=H-1:PUTSPRITE5,,FNA(16):IFH=
0THENVPOKE&H1B14,223
12 X(G)=I:Y(G)=J:G=(G+1)MOD3:A=(A-(G=0))
MOD2:IFTIME>44THENF=F-1:GOSUB17:TIME=0
13 IFL*FGOTO4ELSEFORI=0TO31:VPOKE&H1B00+
I*4,223:NEXT:LOCATE11,10:PRINT"GAMEbOVER
!":FORI=0TO1:I=-FNC:NEXT:CLS:GOTO3
14 I=I+SGN(X-I)+FNA(1+G(G)*2)-G(G):J=J+S
GN(Y-J)+FNA(1+G(G)*2)-G(G):RETURN
15 J=J+SGN(Y-J):I=I-(X-I)*(J=Y)\4:RETURN
16 I=I+SGN(X-I):J=J-(Y-J)*(I=X)\4:RETURN
17 LOCATE3,24:PRINTUSING"SCORE##### LIFE
& & FUEL###";SC*100;MID$("♥♥♥ ",4-L,3);
F;:RETURN
18 DATA060E0E070F0F0F0609150E071A1B1800C
0E0E0C0E0E0E0C02050E0C0B0B030,0E0F09070F
0F0F0710170F000F150F00E02020C0606060C004
DCE000E050E0,060A0A070B0B0B0708170C041B1
B1800C0A0A0C0A0A0A0C020D06040B0B030
19 DATA0704040306060603203B0700070A07007
0F090E0F0F0F0E008E8F000F0A8F0,0000000000
0307070703000000000000000000000080C0C040
80,0101230FF7DBD8774D6D67182701010000008
89066666664ACBC2CD088
20 DATA020202020607070C0B0B0B04030000000
00000808080C040A0A0A04080,04000404010307
040B0B0B04030
|