ZX Computings - OpenLibra
ZX Computings - OpenLibra
ZX Computings - OpenLibra
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
16K Programs.<br />
16 DIM A(195) 160 GOSUB452<br />
18 DIM V(3) 162 IF L OR M = 1 THEN GOTO 200<br />
20 LET C = 2 164 NEXT I<br />
22 LET F = -58 166 NEXT A<br />
24 LET G = 0 168 PRINT "X";<br />
26 LET 1 = 0 170 LET Q = 2<br />
28 PRINT " [ ] [ } [ ] [ ) [ ]"; 172 LET F=F+60<br />
30 FOR A = 38 TO 60 174 IF F= 195 THEN LET G = 1<br />
32 PRINT CHR$ A; 176 IF F> 195 THEN LETF = F- 193<br />
34 NEXT A 178 IF A(F)>0 THEN GOTO 170<br />
36 PRINT 180 LET I = F<br />
38 FOR A = 2 TO 18 STEP 2 182 GOSUB470<br />
40 IF A< 10 THEN PRINT" [ ]"; 184 IF G = 1 THEN GOTO 194<br />
42 186 GOSUB 430<br />
• • 188 GOSUB 440<br />
44 IF A= 18 THEN GOTO 52 190 IFJ + K + L + M>0 THEN GOTO 1 70<br />
46 IF A+1< 10 THEN PRINT" [ J"; 192 GOSUB430<br />
48 PRINT" [ ] [ ] [ ]";A + 1,, 194 PRINT '* [ 1"; CHR$ (X*2 + 37 + E);"-";Y<br />
50 NEXT A 196 GOTO 104<br />
52 PRINT AT 19,0;"PATTERN REQ. 1 -9: OR MYSTERY 198 REM SEARCH SUCCESS<br />
A-Z" 200 IF L = 0 THEN LET L= - 1<br />
54 GOSUB 400 202 IF A(l> = 0 THEN GOTO 212<br />
56 LET D = C0DEZ$ 204 LETl = l+ 1 1 *L<br />
58 IFZ$ ="0" THEN LET C = 1 206 IF AO) = 0 THEN GOTO 212<br />
60 IF Z$ > "0" AND Z$ < "A" THEN LET D = VAL Z$ * 4 + 38 208 LET 1 = 1+ 1 *L<br />
62 PRINT AT 21,0; "MY SCORE"; AT 21,1 5; "YOUR 210 GOTO 202<br />
SCORE 212 GOSUB 470<br />
64 GOSUB 420 214 GOTO 106<br />
66 IF C = 1 THEN PRINT "YOUR MOVE:"; 218 REM PATTERN CHOICE<br />
68 IF C = 2 THEN GOTO 220 220 IF 1 >0 THEN NEXT B<br />
70 IF C = 0 THEN PRINT "MY MOVE:"; 222 IF l>0 THEN LET C = 0<br />
72 IFC = 0 THEN GOTO 150 224 FOR B= 1 TO 60<br />
74 GOSUB 400 226 LET 1 = I + D<br />
76 IF Z$"W" THEN GOTO 74 228 IF I > 195 THEN LET I = I - 1 93<br />
78 PRINT " [ ]"; Z$;" - "; 230 GOSUB 470<br />
80 LET X - INT ((CODE Z$ - 37)/2l 232 GOTO 106<br />
82 LET Y = 0 398 REM INKEY$<br />
84 GOSUB 400 400 IF INKEY$ < >"" THEN GOTO 400<br />
86 IF Z$ < > " 1" THEN GOTO 94 402 IF INKEY$ = " " THEN GOTO 402<br />
88 LET Y = 10 404 LET Z$ = INKEY$<br />
90 PRINT "1"; 406 RETURN<br />
92 GOSUB 400 418 REM PRINT BLANKS<br />
94 IF Z$ < "0" OR Z$ > "9" THEN GOTO 64 420 PRINT AT 19,0;" I ] [ ] [ ] [ ] [ ] [ 1 - Line of 32<br />
96 LET Y = VALZ$+Y spaces — [ 1"<br />
98 PRINT Z$ 422 PRINT AT 19,0;" [ 1 [ ] [ ]";<br />
100 LET l = X + (Y-2)*12 - INT ((Y - 21/2) ' 424 RETURN<br />
102 GOSUB474 428 REM ZERO SEARCH VAR.<br />
104 IF Y< 2 ORY>18 OR E = 0 AND X = 0 THEN GOTO 64 430 LET J = 0<br />
106 IF A(l)>0 THEN GOTO 64 432 LET K = 0<br />
108 LET All) = 1 434 LET L = 0<br />
110 PRINT AT Y-1,X # 2 + 4 + E;"#" 436 LET M = 0<br />
112 LET Q = 4 438 RETURN<br />
114 GOSUB430 439 REM SEARCH AROUND 1<br />
116 GOSUB440 440 IF E = 0 THEN GOTO 452<br />
118 LET U = X*3 + 4 442 IF X> 10 THEN GOTO 448<br />
120 IF M = 1 THEN GOSUB 486 444 IF A(l) + AO + 1) + A(l + 1 2) + AO - 1 11 = Q THEN LET J - 1<br />
122 IF L = 1 THEN GOSUB 484 446 IF X< 1 THEN RETURN<br />
124 IF K = 1 THEN GOSUB 484 448 IF A(l) + AO - 1 > + AO - 12) + AO + 1 11 = Q THEN LET K = 1<br />
126 IF J = 1 THEN GOSUB 480 450 RETURN<br />
128 IF C 172 THEN GOTO 458<br />
130 LET V(C + 1 ) = V(C + D+J+K+L+M 454 IF A(l) + AO +11) + AO + 12) + A(I + 23) = Q THEN LET<br />
132 PRINT AT 21, 9; V(1)' 2; AT 21, 27; V(2) L= 1<br />
134 IF V(1) + V(2) + V(3) = 88 THEN GOTO 138 456 IF I