PROGRAM:Blocky JAMMA
01 DA 0,255,10,11,14,11,7,3,3
02 DA 8,5,4,1,1,1,5,3
03 DA 15,0,-1,-1,1,1,"*",$86
04 DA 24,2,1,1,2,2,2,2,1,1,2,2,2
05 DA 36,2,1,1,2,2,2,2,1,1,2,2,2
06 DA 48,0,1,1,2,2,2,2,0,2,1,1,2
07 DA 60,0,1,1,2,2,2,2,0,2,1,1,2
08 DA 72,2,1,0,2,1,2,1,0,2,1,2,2
09 DA 84,2,1,0,2,1,2,1,0,2,1,2,2
10 DA 96,0,1,2,1,1,2,2,0,2,1,2,2
11 DA 108,0,2,1,2,2,2,1,0,2,1,1,2
12 DA 120,0,1,2,1,0,2,0,0,1,0,1,2
13 DA 132,2,0,0,1,2,1,1,0,1,2,2,2
14 DA 144,0,1,2,1,2,2,1,0,0,2,1,2
15 DA 156,0,0,0,1,2,1,1,0,2,0,1,2
16 DA 168,0,1,2,1,3,1,1,0,1,2,1,3
17 DA 180,0,1,2,1,3,1,1,0,1,2,1,3
18 DA 192,66,76,79,67,75,89
19 DA 200,92,4,104,4,92,4,100,4
20 DA 208,92,4,101,4,92,4,100,4
21 DA 216,92,4,104,4,92,4,100,4
22 DA 224,92,4,101,4,92,4,100,4
23 DA 232,92,4,119,2,116,2,119,4
24 DA 240,118,4,115,4,116,4,114,2
25 DA 248,114,2,114,4,113,2,113,2
26 DA 256,113,4,112,2,112,2,112,4
27 DA 264,104,2,116,2,112,2,116,2
28 DA 272,104,2,102,2,100,2,99,2
29 DA 280,98,4,119,2,116,2,119,4
30 DA 288,118,4,124,4,123,4,119,2
31 DA 296,119,2,119,4,118,2,118,2
32 DA 304,118,4,116,2,116,2,116,4
33 DA 312,115,2,118,2,116,2,118,2
34 DA 320,115,2,97,2,95,2,94,2
35 DA 328,92,4,119,2,116,2,119,4
36 DA 336,118,4,115,4,116,4,114,2
37 DA 344,114,2,114,4,113,2,113,2
38 DA 352,113,4,112,2,112,2,112,4
39 DA 360,104,2,116,2,112,2,116,2
40 DA 368,107,2,106,1,104,2,102,3
41 DA 376,101,4,116,2,113,2,116,4
42 DA 384,115,4,92,4,114,2,111,2
43 DA 392,114,4,113,4,90,4,112,2
44 DA 400,109,2,112,4,107,4,99,4
45 DA 408,111,2,123,2,116,8:VOL 15
46 COL 7,0:CLS :? :FOR I=1TO 6
47 COL 15,I:? %AR(I+191);:NEXT :E=0
48 F=0:G=0:IF EPEEK(3)<128 GO 50
49 EPOKE 2,0:EPOKE 3,0
50 H=EPEEK(2)+256*EPEEK(3):COL 6,0
51 ? @5,0"High":? :? H:D=9:TSET 0
52 PLAY 200,107,6,128:S=1+RND(7)
53 LIM S,1,7:COL 2,0:BOX 1,19,44,40
54 Z=0:COL 7,0:? @5,23;"Next"
55 N=1+RND(7):LIM N,1,7
56 COL N,0:? @7,24;%AR(N);%AR(N+7)
57 R=0:X=13:Y=1:U=1
58 COL S,S+8:C=130:J=62
59 ? @Y+1,X+1;%C:FOR I=0TO 2
60 B=S*24+R*6+I*2:V=X+AR(B)
61 W=Y+AR(B+1):? @W,V;%C:NEXT :GO J
62 TGET J:IF J>D:Z=1:TSET 0
63 Q=R+IN(1)-IN(0):IF Q<0:Q=Q+4
64 IF Q>3:Q=Q-4
65 T=X+IN(3)-IN(2):LIM T,9,18
66 U=Y+Z:Z=0:IF IN(4)=0:U=Y+1
67 IF ABS(Q-R)+ABS(T-X)+U-Y=0:GO 62
68 SYNC 7:COL 7,0:C=0:J=69:GO 59
69 SPR 15,U+1,T+1:FOR I=0TO 2
70 B=S*24+Q*6+I*2:V=T+AR(B)
71 W=U+AR(B+1):SPR 15,W,V:NEXT
72 IF (AR(15)&1)=1:DA 15,0:GO 74
73 R=Q:X=T:Y=U:GO 58
74 IF ABS(Q-R)+ABS(T-X)<>0 GO 58
75 COL S,S+8:C=130:E=E+1:J=76:GO 59
76 NO 62:IF Y=1:PLAY 0,1,9,1:GO 94
77 K=21:L=0
78 O=0:FOR I=10TO 19
79 GCH M,K,I:IF M=130:O=O+1
80 NEXT :IF O<10 GO 87
81 P=(K-1)*30:K=K+1:L=L+1:LIM L,1,4
82 NO L*12:A=P+690:FOR I=10 TO 19
83 B=VPEEK(P+I):VP P+I+30,B
84 B=VPEEK(A+I):VP A+I+30,B
85 NEXT :P=P-30:IF P>29 GO 82
86 COL 7,0:? @1,10;"          "
87 K=K-1:IF K>0 GO 78
88 F=F+L:G=G+1+10*L*L:COL 5,0
89 ? @9,0;"Score":? :? G:?
90 ? "Shapes":? :? E:? :? "Layers"
91 ? :? F:IF D=4 GO 93
92 IF F>19:D=4:PLAY 232,91,3,128
93 S=N:GO 55:'@jbretro.com 2025
94 IF G>H:EP 2,LO(G):EP 3,HI(G)
95 REP : UNT IN(6)=1:RETURN
#
