74 lines
1.5 KiB
Plaintext
74 lines
1.5 KiB
Plaintext
PROGRAM:Arkanoid
|
|
01 L=3:V=1
|
|
02 CLS :A=15:X=A+1:Y=18:E=1:F=1
|
|
03 DA 0,2,-1,-1,1,3,136,15,137
|
|
04 DA 8,$F2,$F2,$F2
|
|
05 DA 21,2,-1,-1,1,1,17,$F4
|
|
06 COLOR 7,1:BOX 4,3,42,56
|
|
07 COLOR 7,0:CBOX 4,3,20,27
|
|
08 FOR I=2 TO 27
|
|
09 FOR H=3 TO 5 'Score 78
|
|
10 COL H:? @H,I;%180
|
|
11 NEXT
|
|
12 NEXT :IF RND(2)=1 THEN E=-1
|
|
13 DA 33,15,4,14,4,15,4,8,4
|
|
14
|
|
15
|
|
16 PLAY 33,4,3,128
|
|
17 IF S=0 THEN X=A+1
|
|
18 SPRITE 0,19,A
|
|
19 GCH Z,Y,X:IF Z=180:NO 80:C=C+1
|
|
20 IF Z=180:? @Y,X;%32:F=-F:Y=Y-F
|
|
21 SPR 21,Y,X
|
|
22 IF IN(3)=1 THEN S=1
|
|
23 A=A+KEY(6)
|
|
24 'IF IN(2)=1 THEN A=A+1
|
|
25 LIM A,2,25:LIM Y,3,20
|
|
26 IF S=1 THEN GOS 43
|
|
27 COL 4:? @1,2;%17
|
|
28 COL 7:? @1,3;":";L
|
|
29 ? @1,10;"Score:"C
|
|
30 ? @1,22;"Lev:";V:U=C/2
|
|
31 IF (C=78)&(V=1):S=0:V=2:GOS 58
|
|
32 IF (C=114)&(V=2):S=0:V=3:GOS 66
|
|
33 DA 33,U+15,4,127,4,U,4,10,4
|
|
34 IF (C=158)&(V=3):S=0:V=4:GOS 74
|
|
35 IF U>40 THEN U=15
|
|
36
|
|
37
|
|
38
|
|
39
|
|
40
|
|
41
|
|
42 SYNC 2:GOTO 17
|
|
43 P=(P+1)%2:IF P=0:X=X+E:Y=Y-F
|
|
44 IF (X=1)#(X=28):NO 20:E=-E:X=X+E
|
|
45 IF Y=2 THEN NO 20:F=-F:Y=Y-F
|
|
46 IF Y<19 GOTO 50
|
|
47 IF (X<A)#(X>(A+2)):NO 127:Q=1
|
|
48 IF Q=1:SYNC 4:S=0:Q=0:L=L-1
|
|
49 E=T:F=-F:Y=Y-F:NO 20
|
|
50 'IF Z=180:NOTE 120:C=C+1
|
|
51 'IF Z=180:? @Y,X;%32:F=-F:Y=Y-F
|
|
52 IF (Y=18)&(X=A):T=-1
|
|
53 IF (Y=18)&(X=A+1):T=0
|
|
54 IF (Y=18)&(X=A+2):T=1
|
|
55 RET
|
|
56
|
|
57
|
|
58 FOR I=6 TO 23
|
|
59 FOR H=3 TO 4
|
|
60 COL H/2:? @H*2,I;%180
|
|
61 NEXT
|
|
62 NEXT :IF RND(2)=1 THEN E=-1
|
|
63 A=15:X=A+1:Y=18:E=1:F=1
|
|
64 RET
|
|
65 'Level 3
|
|
66 FOR I=2 TO 12
|
|
67 FOR H=2 TO 5
|
|
68 COL H*2:? @H*2,I*2;%180
|
|
69 NEXT
|
|
70 NEXT :IF RND(2)=1 THEN E=-1
|
|
71 A=15:X=A+1:Y=18:E=1:F=1
|
|
72 RET
|
|
# |