home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-users-of-norman / CUON_121_(06-1985).d64 / chess (.txt) < prev    next >
Commodore BASIC  |  2019-04-13  |  13KB  |  728 lines

  1. 0 DIMB(10,10)
  2. 1 DIMMV(200)
  3. 2 DIMWW(200)
  4. 3 DIMMB(200)
  5. 4 DIMBB(200)
  6. 5 I=0
  7. 6 J=0
  8. 7 C=0
  9. 8 O=0
  10. 9 L=0
  11. 10 PP=0
  12. 11 MP=0
  13. 12 Q=0
  14. 13 K=0
  15. 14 E=0
  16. 15 TV=0
  17. 16 HV=0
  18. 17 PRINT"[147][144]";
  19. 18 POKE53281,2
  20. 19 POKE53280,6
  21. 20 PRINT"[158]                     [146]"
  22. 21 PRINT"             CHESS-64 VER 2.8C [146]"
  23. 22 PRINT"                               [146]"
  24. 23 PRINT"             BY JOSE R. PAZ    "
  25. 24 PRINT"             BLITZED BY C J    [146]"
  26. 25 PRINT"             64 BULLETS        [146]"
  27. 26 POKE56334,PEEK(56334)AND254
  28. 27 POKE1,PEEK(1)AND251
  29. 28 FORI=0TO64
  30. 29 FORJ=0TO7
  31. 30 POKE51200+I*8+J,PEEK(53248+I*8+J)
  32. 31 NEXT
  33. 32 NEXT
  34. 33 POKE1,PEEK(1)OR4
  35. 34 POKE56334,PEEK(56334)OR1
  36. 35 POKE53272,(PEEK(53272)AND240)+2
  37. 36 PRINT"[147]";
  38. 37 POKE53281,15
  39. 38 CH=27
  40. 39 GOSUB63
  41. 40 CH=29
  42. 41 GOSUB63
  43. 42 CH=46
  44. 43 GOSUB63
  45. 44 CH=35
  46. 45 GOSUB63
  47. 46 CH=36
  48. 47 GOSUB63
  49. 48 CH=37
  50. 49 GOSUB63
  51. 50 CH=39
  52. 51 GOSUB63
  53. 52 CH=38
  54. 53 GOSUB63
  55. 54 CH=33
  56. 55 GOSUB63
  57. 56 CH=41
  58. 57 GOSUB63
  59. 58 CH=40
  60. 59 GOSUB63
  61. 60 CH=60
  62. 61 GOSUB63
  63. 62 GOTO68
  64. 63 FORBY=0TO7
  65. 64 READNU
  66. 65 POKE51200+8*CH+BY,NU
  67. 66 NEXTBY
  68. 67 RETURN
  69. 68 POKE56578,PEEK(56578)OR3
  70. 69 POKE56576,PEEK(56576)AND252OR0
  71. 70 POKE648,196
  72. 71 PRINT"[147][144]";
  73. 72 PRINT
  74. 73 PRINT"INSTRUCTIONS:"
  75. 74 PRINT
  76. 75 PRINT"  1- ENTER MOVES IN ALGEBRAIC NOTATION       _ E2-E4"
  77. 76 PRINT
  78. 77 PRINT"  2- ADD /C/ TO MOVE FOR REPEATED MOVE       _ E2-E4C"
  79. 78 PRINT
  80. 79 PRINT"  3- USE /P/ TO RESUME PLAY AFTER /C/        _ E2-E4P"
  81. 80 PRINT
  82. 81 PRINT"  4- USE O-O FOR SHORT CASTLING"
  83. 82 PRINT
  84. 83 PRINT"  5- USE O-O-O FOR LONG CASTLING"
  85. 84 PRINT
  86. 85 PRINT
  87. 86 PRINT"       ****** GOOD LUCK ******"
  88. 87 PRINT
  89. 88 PRINT
  90. 89 PRINT
  91. 90 PRINT"       PRESS RETURN TO CONTINUE"
  92. 91 GETA$
  93. 92 IFA$=""GOTO91
  94. 93 C$="[155][150][144]"
  95. 94 O=1
  96. 95 L=8
  97. 96 PRINT"[144]";
  98. 97 PRINT"[147]";
  99. 98 FORI=LTOOSTEP-O
  100. 99 FORJ=OTO8
  101. 100 IFI>2ANDI<7THENB(J,I)=46:GOTO102
  102. 101 READB(J,I)
  103. 102 NEXT
  104. 103 NEXT
  105. 104 POKE53265,PEEK(53265)OR64
  106. 105 POKE53282,15
  107. 106 POKE53283,10
  108. 107 POKE53284,15
  109. 108 PRINT"WANT TO PLAY CHESS?"
  110. 109 PRINT"GIVE IT A TRY"
  111. 110 INPUT"ENTER TIME PER MOVE IN MIN:";TP
  112. 111 TP=TP*60
  113. 112 PRINT"TO PLAY WHITE ENTER _1 TO PLAY BLACK ENTER _2"
  114. 113 INPUTCC
  115. 114 PRINT"[147]";
  116. 115 IFCC=1THENCK=CK+1:C=1:GOTO119
  117. 116 IFCC=2THENT=1:GOTO119
  118. 117 PRINT"[145][145][145]";
  119. 118 GOTO112
  120. 119 IFCC=2THENC=1:GOSUB560
  121. 120 PRINT"";
  122. 121 PRINT"   ))(((((((((((((((((((((((("
  123. 122 FORI=LTOOSTEP-O
  124. 123 PRINT"[144]";
  125. 124 PRINTI;
  126. 125 PRINT"(";
  127. 126 FORJ=OTOL
  128. 127 IFC>2THENC=1
  129. 128 E=B(J,I)
  130. 129 M$=MID$(C$,C,1)
  131. 130 IFE=46THENPRINTM$;:PRINTCHR$(41);:PRINTCHR$();:PRINT"[157]";:PRINTCHR$(40);:PRINT"[145]";:PRINTCHR$(40);:C=C+1:GOTO145
  132. 131 D=3
  133. 132 IFE<46THEND=4
  134. 133 GOSUB462
  135. 134 PRINTM$;
  136. 135 PRINTCHR$(41);
  137. 136 GOSUB469
  138. 137 PRINT"";
  139. 138 PRINTM$;
  140. 139 PRINT"[157]";
  141. 140 E=60
  142. 141 GOSUB469
  143. 142 PRINT"[145]";
  144. 143 PRINTCHR$(40);
  145. 144 C=C+1
  146. 145 IFJ=LTHENPRINT"";:PRINT")";:IFI=LTHENPRINT"[144]";:PRINT"  CHESS 64";
  147. 146 IFI=5ANDJ=LTHENPRINT"[144]";:PRINT"  MOVE";:PRINTCK;
  148. 147 NEXT
  149. 148 PRINT
  150. 149 C=C-1
  151. 150 IFINT(I/2)=I/2THENPRINT"  ([150]  ))  ))  ))  ))";:PRINT")":GOTO157
  152. 151 PRINT"";
  153. 152 PRINT")";
  154. 153 PRINT"[150]";
  155. 154 PRINT"))  ))  ))  ))  ";
  156. 155 PRINT")"
  157. 156 GOTO157
  158. 157 NEXT
  159. 158 PRINT"   ))))))))))))))))))))))))))"
  160. 159 PRINT"[144]     A B C D E F G H"
  161. 160 IFCC=2THENGOSUB560
  162. 161 IFHV>500GOTO353
  163. 162 X1=0
  164. 163 X2=0
  165. 164 Y1=0
  166. 165 Y2=0
  167. 166 HV=-1000
  168. 167 IFT=1THENPOKE53280,6:GOTO200
  169. 168 T=T+1
  170. 169 POKE53280,5
  171. 170 GOSUB690
  172. 171 PRINT
  173. 172 PRINT"                                [157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";
  174. 173 INPUT"ENTER YOUR MOVE:";M1$
  175. 174 IFM1$="O-O"GOTO568
  176. 175 IFM1$="O-O-O"GOTO575
  177. 176 IFM1$=""ORLEN(M1$)>6ORLEN(M1$)<5THENPRINT"[145]";:GOTO173
  178. 177 D$=LEFT$(M1$,1)
  179. 178 GOSUB355
  180. 179 X1=D
  181. 180 Y1=VAL(MID$(M1$,2,1))
  182. 181 IFCC=2THENY1=9-Y1
  183. 182 D$=MID$(M1$,4,1)
  184. 183 GOSUB355
  185. 184 X2=D
  186. 185 Y2=VAL(MID$(M1$,5,1))
  187. 186 IFCC=2THENY2=9-Y2:IFT=0GOTO190
  188. 187 IFRIGHT$(M1$,1)="C"THENT=0:GOTO190
  189. 188 IFRIGHT$(M1$,1)="P"GOTO190
  190. 189 GOTO364
  191. 190 B(X2,Y2)=B(X1,Y1)
  192. 191 B(X1,Y1)=46
  193. 192 GZ=B(X2,Y2)
  194. 193 FORX=OTOL
  195. 194 IFB(X,8)=112THENB(X,8)=113
  196. 195 IFB(X,1)=35THENB(X,1)=37
  197. 196 NEXT
  198. 197 PRINT
  199. 198 CA=0
  200. 199 GOTO396
  201. 200 IFNF=0GOTO662
  202. 201 TI$="000000"
  203. 202 T=T+1
  204. 203 IFT>1THENT=0
  205. 204 F=1
  206. 205 MC=0
  207. 206 GOSUB336
  208. 207 FORI=LTOOSTEP-O
  209. 208 FORJ=OTOL
  210. 209 PP=J*10+I
  211. 210 E=B(J,I)
  212. 211 ONE-32GOSUB529,646,546,501,526,476,445
  213. 212 NEXT
  214. 213 NEXT
  215. 214 FV=-9999
  216. 215 LV=0
  217. 216 FORQ=1TO200
  218. 217 IFMV(Q)=0GOTO224
  219. 218 PP=WW(Q)
  220. 219 IFG=0THENLL=PP
  221. 220 X3=INT(MV(Q)/10)
  222. 221 Y3=MV(Q)-X3*10
  223. 222 GOTO231
  224. 223 IFCA=1THENRETURN
  225. 224 NEXT
  226. 225 FORQ=1TO200
  227. 226 MV(Q)=0
  228. 227 WW(Q)=0
  229. 228 NEXT
  230. 229 IFHV>0ANDHV<15THENGOSUB583
  231. 230 GOTO190
  232. 231 E=B(X3,Y3)
  233. 232 IFE=112THENTV=10:GOTO239
  234. 233 IFE=113THENTV=99:GOTO239
  235. 234 IFE=46THENTV=0:GOTO239
  236. 235 IFE=114THENTV=55:GOTO239
  237. 236 IFE=98THENTV=35:GOTO239
  238. 237 IFE=110THENTV=33:GOTO239
  239. 238 IFE=107THENTV=990
  240. 239 IFE<46ANDG=1GOTO649
  241. 240 IFE<46ANDG=0GOTO223
  242. 241 IFG=1GOTO658
  243. 242 X4=INT(PP/10)
  244. 243 Y4=PP-X4*10
  245. 244 H=B(X4,Y4)
  246. 245 IFH=GZTHENTV=TV-10
  247. 246 IFCK<15ANDH=33THENTV=TV-4
  248. 247 IFH=35ANDG=0ANDX3<>X4ANDE=46GOTO223
  249. 248 IFCK<12GOTO252
  250. 249 IFH=35THENTV=TV-2
  251. 250 IFY3=K2THENIFH=37ORH=36THENTV=TV+2
  252. 251 IFX3=K1THENIFH=37ORH=36THENTV=TV+2
  253. 252 TV=TV+INT(2*RND(5))
  254. 253 IFY3<Y4THENTV=TV+1
  255. 254 Y8=Y4
  256. 255 Y9=Y3
  257. 256 IFCC=2THENY8=9-Y4:Y9=9-Y3
  258. 257 D1$=CHR$(64+X4)
  259. 258 D2$=CHR$(64+X3)
  260. 259 PRINT"";
  261. 260 PRINT"                               ";
  262. 261 PRINT"[157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";
  263. 262 PRINT"ANALYSIS:";
  264. 263 PRINT"";
  265. 264 PRINTCHR$(H);
  266. 265 PRINT"[144]_";
  267. 266 PRINTD1$;
  268. 267 PRINTY8;
  269. 268 PRINT"- ";
  270. 269 PRINTD2$;
  271. 270 PRINTY9;
  272. 271 IFHV>=TVGOTO223
  273. 272 IFVAL(TI$)>TPANDHV>0ANDTV<10GOTO223
  274. 273 MM=PP
  275. 274 F=0
  276. 275 X6=X3
  277. 276 Y6=Y3
  278. 277 TT=B(X3,Y3)
  279. 278 B(X3,Y3)=B(X4,Y4)
  280. 279 B(X4,Y4)=46
  281. 280 MK=0
  282. 281 F=2
  283. 282 FORI=LTOOSTEP-O
  284. 283 FORJ=OTOL
  285. 284 PP=J*10+I
  286. 285 E=B(J,I)
  287. 286 IFE=110THENGOSUB445
  288. 287 IFE=98THENGOSUB476
  289. 288 IFE=114THENGOSUB501
  290. 289 IFE=113THENGOSUB526
  291. 290 IFE=107THENGOSUB529
  292. 291 IFE=112THENGOSUB553
  293. 292 NEXT
  294. 293 NEXT
  295. 294 F=1
  296. 295 FV=-9999
  297. 296 FORK=1TO200
  298. 297 IFMB(K)=0GOTO302
  299. 298 PP=BB(K)
  300. 299 X3=INT(MB(K)/10)
  301. 300 Y3=MB(K)-X3*10
  302. 301 GOTO306
  303. 302 NEXT
  304. 303 IFCA=1THENCV=0:EV=0:GOTO319
  305. 304 IFFV>89GOTO319
  306. 305 GOTO631
  307. 306 E=B(X3,Y3)
  308. 307 IFE=VVGOTO316
  309. 308 IFE=35THENLV=10
  310. 309 IFE=37THENLV=90
  311. 310 IFE=46THENLV=0
  312. 311 IFE=36THENLV=50
  313. 312 IFE=38THENLV=30
  314. 313 IFE=39THENLV=30
  315. 314 IFE=33THENLV=900
  316. 315 VV=E
  317. 316 IFE>46GOTO302
  318. 317 IFLV>FVTHENFV=LV:YY=PP:ZZ=MB(K)
  319. 318 GOTO302
  320. 319 PP=MM
  321. 320 F=1
  322. 321 X3=X6
  323. 322 Y3=Y6
  324. 323 YU=0
  325. 324 TC=0
  326. 325 CM=0
  327. 326 B(X4,Y4)=B(X3,Y3)
  328. 327 B(X3,Y3)=TT
  329. 328 YW=0
  330. 329 PRINT"";
  331. 330 PRINT"        "
  332. 331 TV=CV-FV+EV
  333. 332 IFTV>0THENTV=CV
  334. 333 IFCA=1ANDTV>HVTHENHV=TV:GOTO223
  335. 334 IFHV<TVTHENX2=X3:Y2=Y3:X1=INT(PP/10):Y1=PP-X1*10:HV=TV
  336. 335 GOTO223
  337. 336 KK=0
  338. 337 K3=0
  339. 338 FORI=LTOOSTEP-O
  340. 339 FORJ=OTOL
  341. 340 PP=J*10+I
  342. 341 R=B(J,I)
  343. 342 IFR=107THENK1=J:K2=I:K3=PP
  344. 343 IFR=33THENKK=PP
  345. 344 NEXT
  346. 345 NEXT
  347. 346 M1$=""
  348. 347 IFKK=0GOTO351
  349. 348 IFK3=0GOTO353
  350. 349 CK=CK+1
  351. 350 RETURN
  352. 351 PRINT"OK, I LOSE BUT I WILL GET YOU SOME DAY [150]!"
  353. 352 END
  354. 353 PRINT"WELL,I GOT LUCKY TODAY --[201] WON--  [150]!"
  355. 354 END
  356. 355 IFD$="A"THEND=1
  357. 356 IFD$="B"THEND=2
  358. 357 IFD$="C"THEND=3
  359. 358 IFD$="D"THEND=4
  360. 359 IFD$="E"THEND=5
  361. 360 IFD$="F"THEND=6
  362. 361 IFD$="G"THEND=7
  363. 362 IFD$="H"THEND=8
  364. 363 RETURN
  365. 364 F=1
  366. 365 MC=0
  367. 366 E=B(X1,Y1)
  368. 367 PP=X1*10+Y1
  369. 368 IFE=110THENGOSUB445:GOTO377
  370. 369 IFE=98THENGOSUB476:GOTO377
  371. 370 IFE=114THENGOSUB501:GOTO377
  372. 371 IFE=113THENGOSUB526:GOTO377
  373. 372 IFE=112THENJ=X1:I=Y1:GOSUB553:GOTO377
  374. 373 IFE=107THENGOSUB529:GOTO377
  375. 374 IFE=46GOTO383
  376. 375 IFE<46GOTO383
  377. 376 GOTO190
  378. 377 FORQ=1TO32
  379. 378 IFMV(Q)=0GOTO383
  380. 379 X3=INT(MV(Q)/10)
  381. 380 Y3=MV(Q)-X3*10
  382. 381 IFX2=X3ANDY2=Y3GOTO190
  383. 382 NEXT
  384. 383 FORX=1TO3
  385. 384 A$="[146]"
  386. 385 IFINT(X/2)=X/2THENA$=""
  387. 386 PRINT"";
  388. 387 PRINT"                               ";
  389. 388 PRINT"[157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";
  390. 389 PRINTA$;
  391. 390 PRINT"INVALID MOVE"
  392. 391 GOSUB690
  393. 392 NEXT
  394. 393 PRINT"[145][145][145]"
  395. 394 T=0
  396. 395 GOTO161
  397. 396 H$=""
  398. 397 V$=""
  399. 398 IFCC=2THENY1=9-Y1:GOSUB560
  400. 399 HM=2+X1*3
  401. 400 VM=5+(7-Y1)*2
  402. 401 E=B(X1,Y1)
  403. 402 D1=E
  404. 403 PRINT"";
  405. 404 PRINTLEFT$(H$,HM);
  406. 405 PRINTLEFT$(V$,VM);
  407. 406 D2=PEEK(5120+PEEK(210)*256+PEEK(209)+PEEK(211)+1)
  408. 407 D3=15
  409. 408 IFINT(D2/2)=D2/2THEND3=10
  410. 409 GOSUB462
  411. 410 D=D3
  412. 411 GOSUB473
  413. 412 PRINT"";
  414. 413 E=46
  415. 414 D=D3
  416. 415 GOSUB473
  417. 416 IFCC=2THENY2=9-Y2
  418. 417 HM=2+X2*3
  419. 418 VM=5+(7-Y2)*2
  420. 419 E=B(X2,Y2)
  421. 420 D=0
  422. 421 IFE>46THEND=1
  423. 422 IFCC=2THEND=D+1:IFD>1THEND=0
  424. 423 PRINT"";
  425. 424 PRINTLEFT$(H$,HM);
  426. 425 PRINTLEFT$(V$,VM);
  427. 426 D2=PEEK(5120+PEEK(210)*256+PEEK(209)+PEEK(211)+1)
  428. 427 D3=15
  429. 428 IFINT(D2/2)=D2/2THEND3=10
  430. 429 GOSUB462
  431. 430 E=E+64
  432. 431 IFD3=10THENE=E+64
  433. 432 GOSUB473
  434. 433 PRINT"";
  435. 434 E=60+64
  436. 435 IFD3=10THENE=E+64
  437. 436 GOSUB473
  438. 437 VM=5+2*2
  439. 438 HM=8*3+11
  440. 439 PRINT"";
  441. 440 PRINTLEFT$(H$,HM);
  442. 441 PRINTLEFT$(V$,VM);
  443. 442 PRINTCK;
  444. 443 PRINT"";
  445. 444 GOTO160
  446. 445 MP=PP-21
  447. 446 GOSUB616
  448. 447 MP=PP-19
  449. 448 GOSUB616
  450. 449 MP=PP-12
  451. 450 GOSUB616
  452. 451 MP=PP-8
  453. 452 GOSUB616
  454. 453 MP=PP+8
  455. 454 GOSUB616
  456. 455 MP=PP+21
  457. 456 GOSUB616
  458. 457 MP=PP+19
  459. 458 GOSUB616
  460. 459 MP=PP+12
  461. 460 GOSUB616
  462. 461 RETURN
  463. 462 IFE=112THENE=35:RETURN
  464. 463 IFE=113THENE=37:RETURN
  465. 464 IFE=114THENE=36:RETURN
  466. 465 IFE=110THENE=39:RETURN
  467. 466 IFE=107THENE=33:RETURN
  468. 467 IFE=98THENE=38
  469. 468 RETURN
  470. 469 IFD=4THEND=0:IFCC=2THEND=1:GOTO471
  471. 470 IFD=3THEND=1:IFCC=2THEND=0
  472. 471 IFC=1THENE=E+64:GOTO473
  473. 472 IFC=2THENE=E+128
  474. 473 POKEPEEK(210)*256+PEEK(209)+PEEK(211),E
  475. 474 POKE5120+PEEK(210)*256+PEEK(209)+PEEK(211),D
  476. 475 RETURN
  477. 476 MP=PP
  478. 477 FORC=OTOL
  479. 478 MP=MP+11
  480. 479 GOSUB616
  481. 480 GOSUB624
  482. 481 NEXT
  483. 482 MP=PP
  484. 483 FORC=OTOL
  485. 484 MP=MP-11
  486. 485 GOSUB616
  487. 486 GOSUB624
  488. 487 NEXT
  489. 488 MP=PP
  490. 489 FORC=OTOL
  491. 490 MP=MP-9
  492. 491 GOSUB616
  493. 492 GOSUB624
  494. 493 NEXT
  495. 494 MP=PP
  496. 495 FORC=OTOL
  497. 496 MP=MP+9
  498. 497 GOSUB616
  499. 498 GOSUB624
  500. 499 NEXT
  501. 500 RETURN
  502. 501 MP=PP
  503. 502 FORC=OTOL
  504. 503 MP=MP+1
  505. 504 GOSUB616
  506. 505 GOSUB624
  507. 506 NEXT
  508. 507 MP=PP
  509. 508 FORC=OTOL
  510. 509 MP=MP-1
  511. 510 GOSUB616
  512. 511 GOSUB624
  513. 512 NEXT
  514. 513 MP=PP
  515. 514 FORC=OTOL
  516. 515 MP=MP-10
  517. 516 GOSUB616
  518. 517 GOSUB624
  519. 518 NEXT
  520. 519 MP=PP
  521. 520 FORC=OTOL
  522. 521 MP=MP+10
  523. 522 GOSUB616
  524. 523 GOSUB624
  525. 524 NEXT
  526. 525 RETURN
  527. 526 GOSUB476
  528. 527 GOSUB501
  529. 528 RETURN
  530. 529 MP=PP+1
  531. 530 GOSUB616
  532. 531 MP=PP-1
  533. 532 GOSUB616
  534. 533 MP=PP+10
  535. 534 GOSUB616
  536. 535 MP=PP-10
  537. 536 GOSUB616
  538. 537 MP=PP+9
  539. 538 GOSUB616
  540. 539 MP=PP-9
  541. 540 GOSUB616
  542. 541 MP=PP-11
  543. 542 GOSUB616
  544. 543 MP=PP+11
  545. 544 GOSUB616
  546. 545 RETURN
  547. 546 IFB(J,I-1)=46THENMP=PP-1:GOSUB616
  548. 547 IFB(J,I-2)=46ANDB(J,I-1)=46ANDI=7THENMP=PP-2:GOSUB616
  549. 548 MP=PP+9
  550. 549 GOSUB616
  551. 550 MP=PP-11
  552. 551 GOSUB616
  553. 552 RETURN
  554. 553 IFB(J,I+1)=46THENMP=PP+1:GOSUB616
  555. 554 IFB(J,I+1)=46ANDB(J,I+2)=46ANDI=2THENMP=PP+2:GOSUB616
  556. 555 MP=PP-9
  557. 556 GOSUB616
  558. 557 MP=PP+11
  559. 558 GOSUB616
  560. 559 RETURN
  561. 560 FORJ=1TO8
  562. 561 FORI=1TO4
  563. 562 MM=B(J,I)
  564. 563 B(J,I)=B(J,9-I)
  565. 564 B(J,9-I)=MM
  566. 565 NEXT
  567. 566 NEXT
  568. 567 RETURN
  569. 568 B(5,1)=46
  570. 569 B(8,1)=46
  571. 570 B(6,1)=114
  572. 571 B(7,1)=107
  573. 572 PRINT
  574. 573 CA=0
  575. 574 GOTO119
  576. 575 B(5,1)=46
  577. 576 B(1,1)=46
  578. 577 B(4,1)=114
  579. 578 B(3,1)=107
  580. 579 B(2,1)=46
  581. 580 PRINT
  582. 581 CA=0
  583. 582 GOTO119
  584. 583 CA=1
  585. 584 IFB(6,8)=46ANDB(7,8)=46ANDB(5,8)=33ANDB(8,8)=36GOTO586
  586. 585 GOTO190
  587. 586 HV=-99
  588. 587 TV=0
  589. 588 X4=5
  590. 589 Y4=8
  591. 590 PP=58
  592. 591 X3=6
  593. 592 Y3=8
  594. 593 Q=1
  595. 594 MV(Q)=68
  596. 595 GOSUB220
  597. 596 IFHV<-20GOTO190
  598. 597 HV=-99
  599. 598 TV=0
  600. 599 X4=5
  601. 600 Y4=8
  602. 601 PP=58
  603. 602 X3=7
  604. 603 Y3=8
  605. 604 Q=1
  606. 605 MV(Q)=78
  607. 606 GOSUB220
  608. 607 IFHV<-20GOTO190
  609. 608 GOTO609
  610. 609 B(7,8)=33
  611. 610 B(6,8)=36
  612. 611 B(5,8)=46
  613. 612 B(8,8)=46
  614. 613 PRINT
  615. 614 CA=0
  616. 615 GOTO119
  617. 616 IFMP<11ORMP>88THENRETURN
  618. 617 X3=INT(MP/10)
  619. 618 Y3=MP-X3*10
  620. 619 E=B(X3,Y3)
  621. 620 IFX3<1ORY3<1ORX3>8ORY3>8THENRETURN
  622. 621 IFF<>1GOTO626
  623. 622 IFF=1THENMC=MC+1:MV(MC)=MP:WW(MC)=PP
  624. 623 RETURN
  625. 624 IFB(X3,Y3)<>46THENC=L
  626. 625 RETURN
  627. 626 IFF=0THENRETURN
  628. 627 MK=MK+1
  629. 628 MB(MK)=MP
  630. 629 BB(MK)=PP
  631. 630 RETURN
  632. 631 X=INT(YY/10)
  633. 632 Y=YY-X*10
  634. 633 P1=B(X,Y)
  635. 634 B(X,Y)=46
  636. 635 X=INT(ZZ/10)
  637. 636 Y=ZZ-X*10
  638. 637 P2=B(X,Y)
  639. 638 B(X,Y)=P1
  640. 639 G=1
  641. 640 CV=TV
  642. 641 EV=-9999
  643. 642 FORQ1=1TO200
  644. 643 IFMV(Q1)=0GOTO649
  645. 644 PP=WW(Q1)
  646. 645 IFPP=LLGOTO649
  647. 646 X3=INT(MV(Q1)/10)
  648. 647 Y3=MV(Q1)-X3*10
  649. 648 GOTO231
  650. 649 NEXT
  651. 650 X=INT(YY/10)
  652. 651 Y=YY-X*10
  653. 652 B(X,Y)=P1
  654. 653 X=INT(ZZ/10)
  655. 654 Y=ZZ-X*10
  656. 655 B(X,Y)=P2
  657. 656 G=0
  658. 657 GOTO319
  659. 658 IFTV>EVTHENEV=TV
  660. 659 PRINT"";
  661. 660 PRINT"THINKING"
  662. 661 GOTO649
  663. 662 RESTORE
  664. 663 IFCC=2ANDCK=0THENMO$="E2-E4":CM$=MO$:GOTO676
  665. 664 CM$=CM$+M1$
  666. 665 M1$=""
  667. 666 FORX=1TO200
  668. 667 READMO$
  669. 668 IFMO$="END"THENIFCC=1ANDCK=1THENMO$="E7-E6":CM$=MO$:GOTO676
  670. 669 IFMO$="END"THENNF=1:GOTO200
  671. 670 IFLEN(CM$)>=LEN(MO$)GOTO672
  672. 671 IFLEFT$(MO$,LEN(CM$))=CM$GOTO674
  673. 672 NEXT
  674. 673 END
  675. 674 MO$=MID$(MO$,LEN(CM$)+1,5)
  676. 675 GOTO676
  677. 676 CK=CK+1
  678. 677 D$=LEFT$(MO$,1)
  679. 678 GOSUB355
  680. 679 X1=D
  681. 680 Y1=VAL(MID$(MO$,2,1))
  682. 681 D$=MID$(MO$,4,1)
  683. 682 GOSUB355
  684. 683 X2=D
  685. 684 Y2=VAL(MID$(MO$,5,1))
  686. 685 IFCC=2THENY1=9-Y1:Y2=9-Y2
  687. 686 T=T+1
  688. 687 IFT>1THENT=0
  689. 688 IFCK>1THENCM$=CM$+MO$
  690. 689 GOTO190
  691. 690 POKE54296,15
  692. 691 POKE54277,190
  693. 692 POKE54278,248
  694. 693 POKE54273,48
  695. 694 POKE54272,37
  696. 695 POKE54276,17
  697. 696 FORS=1TO50
  698. 697 POKE54272,INT(200*RND(S))
  699. 698 NEXT
  700. 699 POKE54296,0
  701. 700 RETURN
  702. 701 END
  703. 702 DATA192,192,192,192,192,192,192,192,1,1,1,1,1,1,1,1,255,255,255,255
  704. 703 DATA255,255,255,255,0,0,0,0,0,24,60,24,0,0,0,219,219,126,60,60,0,0
  705. 704 DATA98,60,153,219,126,60,0,0,4,30,59,255,239,30,0,0,20,60,60,126
  706. 705 DATA126,60,0,24,60,24,90,255,255,126,255,255,255,255,255,255,255
  707. 706 DATA255,255,255,255,255,255,255,255,255,24,24,60,60,126,126,255,0
  708. 707 DATA36,39,38,37,33,38,39,36,35,35,35,35,35,35,35,35,112,112,112,112
  709. 708 DATA112,112,112,112,114,110,98,113,107,98,110,114
  710. 709 DATA"E2-E4E7-E5G1-F3B8-C6B1-C3G8-F6F1-B5C6-D4B5-A4F8-C5"
  711. 710 DATA"E2-E4E7-E6D2-D4D7-D5E4-D5E6-D5F1-D3B8-C6G1-E2F8-D6"
  712. 711 DATA"E2-E4E7-E5G1-F3B8-C6B1-C3G8-F6F1-B5F8-B4C3-D5F6-D5"
  713. 712 DATA"E2-E4E7-E5G1-F3D7-D6D2-D4G8-F6D4-E5F6-E4B1-D2E4-C5"
  714. 713 DATA"E2-E4E7-E5G1-F3D7-D6D2-D4G8-F6B1-C3B8-D7F1-C4F8-E7"
  715. 714 DATA"E2-E4E7-E5F2-F4F8-C5G1-F3D7-D6C2-C3G8-F6F4-E5D6-E5"
  716. 715 DATA"E2-E4E7-E5G1-F3B8-C6C2-C3G8-F6D2-D4F6-E4D4-D5C6-B8"
  717. 716 DATA"E2-E4E7-E5G1-F3B8-C6F1-C4F8-C5C2-C3G8-F6D2-D4E5-D4"
  718. 717 DATA"E2-E4E7-E5G1-F3B8-C6F1-B5A7-A6B5-C6D7-C6B1-C3F7-F6"
  719. 718 DATA"E2-E4E7-E5G1-F3B8-C6F1-B5A7-A6B5-A4F7-F5D2-D4E5-D4"
  720. 719 DATA"E2-E4G8-F6E4-E5F6-D5C2-C4D5-B6"
  721. 720 DATA"E2-E4E7-E6D2-D4D7-D5B1-C3G8-F6E4-E5F6-D7"
  722. 721 DATA"E2-E4C7-C5G1-F3D7-D6D2-D4C5-D4F3-D4G8-F6B1-C3G7-G6"
  723. 722 DATA"D2-D4D7-D5C2-C4E7-E6B1-C3G8-F6C1-G5F8-E7E2-E3H7-H6"
  724. 723 DATA"E2-E4G8-F6E4-E5F6-E4D2-D4B8-C6F2-F3"
  725. 724 DATA"E2-E4E7-E5G1-F3G8-F6F3-E5F6-E4D1-D2E4-F6E5-C6"
  726. 725 DATA"E2-E4B8-C6D2-D4D7-D5B1-C3D5-E4D4-D5C6-E5C1-F4E5-G6F4-G3"
  727. 726 DATA"E2-E4B8-C6D2-D4D7-D5B1-C3D5-E4D4-D5C6-B8F2-F3E4-F3D1-F3","END"
  728.