Home » Archimedes archive » Archimedes World » AW-1991-10.adf » October91 » !AWOct91/Goodies/PD/!Othello/OTHELLO
!AWOct91/Goodies/PD/!Othello/OTHELLO
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Archimedes World » AW-1991-10.adf » October91 |
Filename: | !AWOct91/Goodies/PD/!Othello/OTHELLO |
Read OK: | ✔ |
File size: | 1342 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10 REM>OTHELLO 20 REM Written by P.L.Smith March 1990. 25ON ERROR OSCLI("!DEFPAL"):QUIT 30 MODE12 40 OFF 50 *POINTER 60 PLAYER$="ME" 70 TURN$="ARC" 80 MOUSE TO 640,512 90 SYS"Hourglass_On" 100 *!PALETTE 110 GCOL13:FILL500,500 120 *SLOAD OTHSPRTS 130 *SCREENLOAD BOARD 140 PLAYER%=1:TURN%=2:think%=FALSE 150 MOUSE RECTANGLE 260,49,756,785 160 DIM BOARD%(8,8):DIM SKILL%(8,8):DIM counters%(2):DIM pass%(2):F%=0:G%=0 170 SYS"Hourglass_Smash" 180 squares%=60:counters%(2)=32:counters%(1)=32:PROCSETUP 190 pass%(1)=FALSE:pass%(2)=FALSE 200 PLAYER%=1:TURN%=2:moveok%=TRUE 210 REPEAT 220 pass%(PLAYER%)=FALSE 230 IF counters%(PLAYER%)=0 AND counters%(TURN%)=0 THEN 390 240 IF PLAYER$="ARC" THEN moveok%=TRUE:GOTO 350 250 IF counters%(PLAYER%)=0 THEN moveok%=TRUE:SWAP PLAYER%,TURN%:SWAP PLAYER$,TURN$:GOTO 350 260 REPEAT:MOUSE A%,B%,C% 270 X%=1+((A%-254)/97) 280 Y%=1+((B%-49)/98.25) 290 UNTILC%=4AND POINT(A%,B%)=13 AND BOARD%(X%,Y%)=0 OR C%=1 300 IF C%=1 THEN pass%(PLAYER%)=TRUE:SWAP PLAYER%,TURN%:SWAP PLAYER$,TURN$:moveok%=TRUE:REPEAT:MOUSE A%,B%,C%:UNTILC%=0:GOTO 350 310 IF think%=FALSE PROCFLIP:squares%-=1 320 moveok%=FALSE:PROCCHECK:IF moveok%=TRUE PROCREMOVE 330 IF moveok%=FALSE PROCBADMOVE ELSE IF think%=FALSE SWAP PLAYER%,TURN%:SWAP PLAYER$,TURN$ 340 REPEAT:MOUSE A%,B%,C%:UNTILC%=0 350 IF moveok%=TRUE AND PLAYER$="ARC" AND squares%>0 THEN 360 pass%(PLAYER%)=FALSE:PROCTHINK 370 SWAP PLAYER%,TURN%:SWAP PLAYER$,TURN$ 380 ENDIF 390 REM IF counters%(1)=0 OR counters%(2)=0 squares%=0 400 UNTIL pass%(PLAYER%)=TRUE AND pass%(TURN%)=TRUE OR squares%=0 410 PROCCLEAR 420 GOTO 180 430 END 440 DEFPROCFLIP 450 IF PLAYER%=1 THEN SP%=1:INCSP%=1 ELSE SP%=7:INCSP%=-1 460 FORQ%=1TO7 470 SYS"OS_CLI","SCHOOSE DISC"+CHR$(SP%+48) 480 PLOT&ED,264+((X%-1)*96.25),52+((Y%-1)*100.5) 490 FORE%=1TO1500:NEXT 500 SP%=SP%+INCSP% 510 NEXT 520 IF think%=FALSE THEN BOARD%(X%,Y%)=PLAYER% 530 ENDPROC 540 DEFPROCSETUP 550 PLAYER%=1:X%=4:Y%=4:PROCREMOVE:PROCFLIP 560 PLAYER%=1:X%=5:Y%=5:PROCREMOVE:PROCFLIP 570 PLAYER%=2:X%=5:Y%=4:PROCREMOVE:PROCFLIP 580 PLAYER%=2:X%=4:Y%=5:PROCREMOVE:PROCFLIP 590 RESTORE 1590:FORX%=1TO8:FORY%=1TO8:READ SKILL%(X%,Y%):NEXT:NEXT 600 ENDPROC 610 DEFPROCCHECK 620 630 REM............. CHECK TO THE LEFT............. 640 650 TTAL%=0 660 IF X%=1 THEN 730 670 H%=X%:V%=Y%:count%=0 680 REPEAT 690 H%-=1 700 PROCCHECKITEM 710 UNTIL H%=1 OR ownflag%=TRUE OR blankflag%=TRUE 720 IF count%>0 AND ownflag%=TRUE PROCDOFLIPS(-1,0) 730 740 REM............ CHECK TO THE RIGHT............. 750 760 IF X%=8 THEN 820 770 H%=X%:V%=Y%:count%=0:REPEAT:H%+=1:PROCCHECKITEM:UNTIL H%=8 ORownflag%=TRUE OR blankflag%=TRUE 780 IF count%>0 AND ownflag%=TRUE PROCDOFLIPS(1,0) 790 800 REM................ CHECK UP ................ 810 820 IF Y%=8 THEN 850 830 H%=X%:V%=Y%:count%=0:REPEAT:V%+=1:PROCCHECKITEM:UNTIL V%=8 ORownflag%=TRUE OR blankflag%=TRUE 840 IF count%>0 AND ownflag%=TRUE PROCDOFLIPS(0,1) 850 860 REM.............. CHECK DOWN .................. 870 880 IF Y%=1 THEN 940 890 H%=X%:V%=Y%:count%=0:REPEAT:V%-=1:PROCCHECKITEM:UNTIL V%=1 ORownflag%=TRUE OR blankflag%=TRUE 900 IF count%>0 AND ownflag%=TRUE PROCDOFLIPS(0,-1) 910 920 REM........... CHECK UP AND RIGHT DIAGONAL ....... 930 940 IF Y%=8 OR X%=8 THEN 1000 950 H%=X%:V%=Y%:count%=0:REPEAT:H%+=1:V%+=1:PROCCHECKITEM:UNTIL H%=8 OR V%=8 OR ownflag%=TRUE OR blankflag%=TRUE 960 IF count%>0 AND ownflag%=TRUE PROCDOFLIPS(1,1) 970 980 REM.......... CHECK DOWN AND RIGHT DIAGONAL .......... 990 1000 IF Y%=1 OR X%=8 THEN 1060 1010 H%=X%:V%=Y%:count%=0:REPEAT:H%+=1:V%-=1:PROCCHECKITEM:UNTIL H%=8 OR V%=1 OR ownflag%=TRUE OR blankflag%=TRUE 1020 IF count%>0 AND ownflag%=TRUE PROCDOFLIPS(1,-1) 1030 REM 1040 REM .......... CHECK DOWN AND LEFT DIAGONAL ............ 1050 REM 1060 IF Y%=1 OR X%=1 THEN 1120 1070 H%=X%:V%=Y%:count%=0:REPEAT:H%-=1:V%-=1:PROCCHECKITEM:UNTIL H%=1 OR V%=1 OR ownflag%=TRUE OR blankflag%=TRUE 1080 IF count%>0 AND ownflag%=TRUE PROCDOFLIPS(-1,-1) 1090 REM 1100 REM............ CHECK UP AND LEFT ............ 1110 REM 1120 IF Y%=8 OR X%=1 THEN 1150 1130 H%=X%:V%=Y%:count%=0:REPEAT:H%-=1:V%+=1:PROCCHECKITEM:UNTIL H%=1 OR V%=8 OR ownflag%=TRUE OR blankflag%=TRUE 1140 IF count%>0 AND ownflag%=TRUE PROCDOFLIPS(-1,1) 1150 ENDPROC 1160 DEFPROCCHECKITEM 1170 blankflag%=FALSE:ownflag%=FALSE 1180 IF BOARD%(H%,V%)=0 THEN blankflag%=TRUE 1190 IF BOARD%(H%,V%)=PLAYER% THEN ownflag%=TRUE 1200 IF blankflag%=FALSE AND ownflag%=FALSE THEN count%+=1 1210 ENDPROC 1220 DEFPROCDOFLIPS(XINC%,YINC%) 1230 TTAL%+=count% 1240 H%=X%:V%=Y%:FORD%=1TOcount% 1250 X%+=XINC%:Y%+=YINC% 1260 IF think%=FALSE PROCFLIP 1270 NEXT:X%=H%:Y%=V% 1280 moveok%=TRUE:ENDPROC 1290 DEFPROCBADMOVE:GCOL8,1:BOARD%(X%,Y%)=0:FORSP%=1TO7:SYS"OS_CLI","SCHOOSE WIPE"+CHR$(48+SP%):PLOT&ED,264+((X%-1)*96.25),52+((Y%-1)*100.5):FORD%=1TO2000:NEXT:NEXT:squares%+=1:ENDPROC 1300 DEFPROCTHINK 1310 moveok%=FALSE 1320 IF counters%(PLAYER%)=0 THEN VDU7:GOTO 1460 1330 think%=TRUE 1340 TTAL%=0 1350 BEST%=0 1360 FORX%=1TO8:FORY%=1TO8 1370 IF BOARD%(X%,Y%)=0 PROCCHECK 1380 IF (TTAL%*SKILL%(X%,Y%))=BEST% AND RND(2)=1 THEN F%=X%:G%=Y% 1390 IF (TTAL%*SKILL%(X%,Y%))>BEST% THEN BEST%=TTAL%*SKILL%(X%,Y%):F%=X%:G%=Y% 1400 TTAL%=0 1410 NEXT:NEXT 1420 think%=FALSE 1430 X%=F%:Y%=G% 1440 IF moveok%=FALSE VDU7:GOTO 1460 1450 squares%-=1:PROCFLIP:PROCREMOVE:PROCCHECK 1460 1470 IF moveok%=FALSE pass%(PLAYER%)=TRUE:ENDPROC 1480 ENDPROC 1490 DEFPROCCLEAR:FORX%=1TO8:FORY%=1TO8:PROCBADMOVE:NEXT:NEXT 1500 *SCHOOSE COUNTER 1510 FORX%=1TO32:PLOT&ED,128,20*X%+94:NEXT 1520 FORX%=1TO32:PLOT&ED,1066,20*X%+94:NEXT 1530 ENDPROC 1540 DEFPROCREMOVE 1550 counters%(PLAYER%)-=1 1560 IF PLAYER%=1 J%=126 ELSE J%=1064 1570 GCOL13:RECTANGLEFILL J%,20*counters%(PLAYER%)+118,82,12 1580 ENDPROC 1590DATA500,1,20,10,10,20,1,500 1600DATA1,1,20,5,5,20,1,1 1610DATA20,20,20,5,5,20,20,20 1620DATA10,5,5,1,1,5,5,10 1630DATA10,5,5,1,1,5,5,10 1640DATA20,20,20,5,5,20,20,20 1650DATA1,1,20,5,5,20,1,1 1660DATA500,1,20,10,10,20,1,500
�>OTHELLO ' � Written by P.L.Smith March 1990. � � �("!DEFPAL"):Ș �12 ( � 2 *POINTER < PLAYER$="ME" F TURN$="ARC" P ȗ � 640,512 Z ș"Hourglass_On" d *!PALETTE n �13:Ȑ500,500 x *SLOAD OTHSPRTS � *SCREENLOAD BOARD � PLAYER%=1:TURN%=2:think%=� � ȗ ȓ 260,49,756,785 �D � BOARD%(8,8):� SKILL%(8,8):� counters%(2):� pass%(2):F%=0:G%=0 � ș"Hourglass_Smash" �7 squares%=60:counters%(2)=32:counters%(1)=32:�SETUP � pass%(1)=�:pass%(2)=� � PLAYER%=1:TURN%=2:moveok%=� � � � pass%(PLAYER%)=� �7 � counters%(PLAYER%)=0 � counters%(TURN%)=0 � �tFA �' � PLAYER$="ARC" � moveok%=�:� �D^A �P � counters%(PLAYER%)=0 � moveok%=�:Ȕ PLAYER%,TURN%:Ȕ PLAYER$,TURN$:� �D^A �:ȗ A%,B%,C% X%=1+((A%-254)/97) Y%=1+((B%-49)/98.25) "/ �C%=4� �A%,B%)=13 � BOARD%(X%,Y%)=0 � C%=1 ,e � C%=1 � pass%(PLAYER%)=�:Ȕ PLAYER%,TURN%:Ȕ PLAYER$,TURN$:moveok%=�:�:ȗ A%,B%,C%:�C%=0:� �D^A 6! � think%=� �FLIP:squares%-=1 @) moveok%=�:�CHECK:� moveok%=� �REMOVE JI � moveok%=� �BADMOVE � � think%=� Ȕ PLAYER%,TURN%:Ȕ PLAYER$,TURN$ T �:ȗ A%,B%,C%:�C%=0 ^/ � moveok%=� � PLAYER$="ARC" � squares%>0 � h pass%(PLAYER%)=�:�THINK r' Ȕ PLAYER%,TURN%:Ȕ PLAYER$,TURN$ | � �5 � IF counters%(1)=0 OR counters%(2)=0 squares%=0 �5 � pass%(PLAYER%)=� � pass%(TURN%)=� � squares%=0 � �CLEAR � � �tt@ � � � ��FLIP �3 � PLAYER%=1 � SP%=1:INCSP%=1 � SP%=7:INCSP%=-1 � �Q%=1�7 �( ș"OS_CLI","SCHOOSE DISC"+�(SP%+48) �. �&ED,264+((X%-1)*96.25),52+((Y%-1)*100.5) � �E%=1�1500:� � SP%=SP%+INCSP% � � ' � think%=� � BOARD%(X%,Y%)=PLAYER% � ��SETUP && PLAYER%=1:X%=4:Y%=4:�REMOVE:�FLIP 0& PLAYER%=1:X%=5:Y%=5:�REMOVE:�FLIP :& PLAYER%=2:X%=5:Y%=4:�REMOVE:�FLIP D& PLAYER%=2:X%=4:Y%=5:�REMOVE:�FLIP N/ � �TvF:�X%=1�8:�Y%=1�8:� SKILL%(X%,Y%):�:� X � b ��CHECK l v2 �............. CHECK TO THE LEFT............. � � TTAL%=0 � � X%=1 � �dZB � H%=X%:V%=Y%:count%=0 � � � H%-=1 � �CHECKITEM �' � H%=1 � ownflag%=� � blankflag%=� �+ � count%>0 � ownflag%=� �DOFLIPS(-1,0) � �2 �............ CHECK TO THE RIGHT............. � � � X%=8 � �TtC N H%=X%:V%=Y%:count%=0:�:H%+=1:�CHECKITEM:� H%=8 �ownflag%=� � blankflag%=� * � count%>0 � ownflag%=� �DOFLIPS(1,0) 0 �................ CHECK UP ................ * 4 � Y%=8 � �DRC >N H%=X%:V%=Y%:count%=0:�:V%+=1:�CHECKITEM:� V%=8 �ownflag%=� � blankflag%=� H* � count%>0 � ownflag%=� �DOFLIPS(0,1) R \2 �.............. CHECK DOWN .................. f p � Y%=1 � �tlC zN H%=X%:V%=Y%:count%=0:�:V%-=1:�CHECKITEM:� V%=1 �ownflag%=� � blankflag%=� �+ � count%>0 � ownflag%=� �DOFLIPS(0,-1) � �5 �........... CHECK UP AND RIGHT DIAGONAL ....... � � � Y%=8 � X%=8 � �dhC �\ H%=X%:V%=Y%:count%=0:�:H%+=1:V%+=1:�CHECKITEM:� H%=8 � V%=8 � ownflag%=� � blankflag%=� �* � count%>0 � ownflag%=� �DOFLIPS(1,1) � �9 �.......... CHECK DOWN AND RIGHT DIAGONAL .......... � � � Y%=1 � X%=8 � �TdD �\ H%=X%:V%=Y%:count%=0:�:H%+=1:V%-=1:�CHECKITEM:� H%=8 � V%=1 � ownflag%=� � blankflag%=� �+ � count%>0 � ownflag%=� �DOFLIPS(1,-1) � ; � .......... CHECK DOWN AND LEFT DIAGONAL ............ � $ � Y%=1 � X%=1 � �D`D .\ H%=X%:V%=Y%:count%=0:�:H%-=1:V%-=1:�CHECKITEM:� H%=1 � V%=1 � ownflag%=� � blankflag%=� 8, � count%>0 � ownflag%=� �DOFLIPS(-1,-1) B � L1 �............ CHECK UP AND LEFT ............ V � ` � Y%=8 � X%=1 � �D~D j\ H%=X%:V%=Y%:count%=0:�:H%-=1:V%+=1:�CHECKITEM:� H%=1 � V%=8 � ownflag%=� � blankflag%=� t+ � count%>0 � ownflag%=� �DOFLIPS(-1,1) ~ � � ��CHECKITEM � blankflag%=�:ownflag%=� �% � BOARD%(H%,V%)=0 � blankflag%=� �) � BOARD%(H%,V%)=PLAYER% � ownflag%=� �, � blankflag%=� � ownflag%=� � count%+=1 � � � ��DOFLIPS(XINC%,YINC%) � TTAL%+=count% � H%=X%:V%=Y%:�D%=1�count% � X%+=XINC%:Y%+=YINC% � � think%=� �FLIP � �:X%=H%:Y%=V% moveok%=�:� � ��BADMOVE:�8,1:BOARD%(X%,Y%)=0:�SP%=1�7:ș"OS_CLI","SCHOOSE WIPE"+�(48+SP%):�&ED,264+((X%-1)*96.25),52+((Y%-1)*100.5):�D%=1�2000:�:�:squares%+=1:� ��THINK moveok%=� (' � counters%(PLAYER%)=0 � �7:� �ttE 2 think%=� < TTAL%=0 F BEST%=0 P �X%=1�8:�Y%=1�8 Z � BOARD%(X%,Y%)=0 �CHECK d9 � (TTAL%*SKILL%(X%,Y%))=BEST% � �(2)=1 � F%=X%:G%=Y% nJ � (TTAL%*SKILL%(X%,Y%))>BEST% � BEST%=TTAL%*SKILL%(X%,Y%):F%=X%:G%=Y% x TTAL%=0 � �:� � think%=� � X%=F%:Y%=G% � � moveok%=� �7:� �ttE �% squares%-=1:�FLIP:�REMOVE:�CHECK � �# � moveok%=� pass%(PLAYER%)=�:� � � �) ��CLEAR:�X%=1�8:�Y%=1�8:�BADMOVE:�:� � *SCHOOSE COUNTER �! �X%=1�32:�&ED,128,20*X%+94:� �" �X%=1�32:�&ED,1066,20*X%+94:� � � ��REMOVE counters%(PLAYER%)-=1 ! � PLAYER%=1 J%=126 � J%=1064 "0 �13:ȓȐ J%,20*counters%(PLAYER%)+118,82,12 , � 6�500,1,20,10,10,20,1,500 @�1,1,20,5,5,20,1,1 J�20,20,20,5,5,20,20,20 T�10,5,5,1,1,5,5,10 ^�10,5,5,1,1,5,5,10 h�20,20,20,5,5,20,20,20 r�1,1,20,5,5,20,1,1 |�500,1,20,10,10,20,1,500 �
00000000 0d 00 0a 0e 20 f4 3e 4f 54 48 45 4c 4c 4f 0d 00 |.... .>OTHELLO..| 00000010 14 27 20 f4 20 57 72 69 74 74 65 6e 20 62 79 20 |.' . Written by | 00000020 50 2e 4c 2e 53 6d 69 74 68 20 4d 61 72 63 68 20 |P.L.Smith March | 00000030 31 39 39 30 2e 0d 00 19 17 ee 20 85 20 ff 28 22 |1990...... . .("| 00000040 21 44 45 46 50 41 4c 22 29 3a c8 98 0d 00 1e 08 |!DEFPAL"):......| 00000050 20 eb 31 32 0d 00 28 06 20 87 0d 00 32 0d 20 2a | .12..(. ...2. *| 00000060 50 4f 49 4e 54 45 52 0d 00 3c 11 20 50 4c 41 59 |POINTER..<. PLAY| 00000070 45 52 24 3d 22 4d 45 22 0d 00 46 10 20 54 55 52 |ER$="ME"..F. TUR| 00000080 4e 24 3d 22 41 52 43 22 0d 00 50 11 20 c8 97 20 |N$="ARC"..P. .. | 00000090 b8 20 36 34 30 2c 35 31 32 0d 00 5a 15 20 c8 99 |. 640,512..Z. ..| 000000a0 22 48 6f 75 72 67 6c 61 73 73 5f 4f 6e 22 0d 00 |"Hourglass_On"..| 000000b0 64 0e 20 2a 21 50 41 4c 45 54 54 45 0d 00 6e 12 |d. *!PALETTE..n.| 000000c0 20 e6 31 33 3a c8 90 35 30 30 2c 35 30 30 0d 00 | .13:..500,500..| 000000d0 78 14 20 2a 53 4c 4f 41 44 20 4f 54 48 53 50 52 |x. *SLOAD OTHSPR| 000000e0 54 53 0d 00 82 16 20 2a 53 43 52 45 45 4e 4c 4f |TS.... *SCREENLO| 000000f0 41 44 20 42 4f 41 52 44 0d 00 8c 1f 20 50 4c 41 |AD BOARD.... PLA| 00000100 59 45 52 25 3d 31 3a 54 55 52 4e 25 3d 32 3a 74 |YER%=1:TURN%=2:t| 00000110 68 69 6e 6b 25 3d a3 0d 00 96 19 20 c8 97 20 c8 |hink%=..... .. .| 00000120 93 20 32 36 30 2c 34 39 2c 37 35 36 2c 37 38 35 |. 260,49,756,785| 00000130 0d 00 a0 44 20 de 20 42 4f 41 52 44 25 28 38 2c |...D . BOARD%(8,| 00000140 38 29 3a de 20 53 4b 49 4c 4c 25 28 38 2c 38 29 |8):. SKILL%(8,8)| 00000150 3a de 20 63 6f 75 6e 74 65 72 73 25 28 32 29 3a |:. counters%(2):| 00000160 de 20 70 61 73 73 25 28 32 29 3a 46 25 3d 30 3a |. pass%(2):F%=0:| 00000170 47 25 3d 30 0d 00 aa 18 20 c8 99 22 48 6f 75 72 |G%=0.... .."Hour| 00000180 67 6c 61 73 73 5f 53 6d 61 73 68 22 0d 00 b4 37 |glass_Smash"...7| 00000190 20 73 71 75 61 72 65 73 25 3d 36 30 3a 63 6f 75 | squares%=60:cou| 000001a0 6e 74 65 72 73 25 28 32 29 3d 33 32 3a 63 6f 75 |nters%(2)=32:cou| 000001b0 6e 74 65 72 73 25 28 31 29 3d 33 32 3a f2 53 45 |nters%(1)=32:.SE| 000001c0 54 55 50 0d 00 be 1a 20 70 61 73 73 25 28 31 29 |TUP.... pass%(1)| 000001d0 3d a3 3a 70 61 73 73 25 28 32 29 3d a3 0d 00 c8 |=.:pass%(2)=....| 000001e0 20 20 50 4c 41 59 45 52 25 3d 31 3a 54 55 52 4e | PLAYER%=1:TURN| 000001f0 25 3d 32 3a 6d 6f 76 65 6f 6b 25 3d b9 0d 00 d2 |%=2:moveok%=....| 00000200 06 20 f5 0d 00 dc 15 20 70 61 73 73 25 28 50 4c |. ..... pass%(PL| 00000210 41 59 45 52 25 29 3d a3 0d 00 e6 37 20 e7 20 63 |AYER%)=....7 . c| 00000220 6f 75 6e 74 65 72 73 25 28 50 4c 41 59 45 52 25 |ounters%(PLAYER%| 00000230 29 3d 30 20 80 20 63 6f 75 6e 74 65 72 73 25 28 |)=0 . counters%(| 00000240 54 55 52 4e 25 29 3d 30 20 8c 20 8d 74 46 41 0d |TURN%)=0 . .tFA.| 00000250 00 f0 27 20 e7 20 50 4c 41 59 45 52 24 3d 22 41 |..' . PLAYER$="A| 00000260 52 43 22 20 8c 20 6d 6f 76 65 6f 6b 25 3d b9 3a |RC" . moveok%=.:| 00000270 e5 20 8d 44 5e 41 0d 00 fa 50 20 e7 20 63 6f 75 |. .D^A...P . cou| 00000280 6e 74 65 72 73 25 28 50 4c 41 59 45 52 25 29 3d |nters%(PLAYER%)=| 00000290 30 20 8c 20 6d 6f 76 65 6f 6b 25 3d b9 3a c8 94 |0 . moveok%=.:..| 000002a0 20 50 4c 41 59 45 52 25 2c 54 55 52 4e 25 3a c8 | PLAYER%,TURN%:.| 000002b0 94 20 50 4c 41 59 45 52 24 2c 54 55 52 4e 24 3a |. PLAYER$,TURN$:| 000002c0 e5 20 8d 44 5e 41 0d 01 04 12 20 f5 3a c8 97 20 |. .D^A.... .:.. | 000002d0 41 25 2c 42 25 2c 43 25 0d 01 0e 17 20 58 25 3d |A%,B%,C%.... X%=| 000002e0 31 2b 28 28 41 25 2d 32 35 34 29 2f 39 37 29 0d |1+((A%-254)/97).| 000002f0 01 18 19 20 59 25 3d 31 2b 28 28 42 25 2d 34 39 |... Y%=1+((B%-49| 00000300 29 2f 39 38 2e 32 35 29 0d 01 22 2f 20 fd 43 25 |)/98.25).."/ .C%| 00000310 3d 34 80 20 b0 41 25 2c 42 25 29 3d 31 33 20 80 |=4. .A%,B%)=13 .| 00000320 20 42 4f 41 52 44 25 28 58 25 2c 59 25 29 3d 30 | BOARD%(X%,Y%)=0| 00000330 20 84 20 43 25 3d 31 0d 01 2c 65 20 e7 20 43 25 | . C%=1..,e . C%| 00000340 3d 31 20 8c 20 70 61 73 73 25 28 50 4c 41 59 45 |=1 . pass%(PLAYE| 00000350 52 25 29 3d b9 3a c8 94 20 50 4c 41 59 45 52 25 |R%)=.:.. PLAYER%| 00000360 2c 54 55 52 4e 25 3a c8 94 20 50 4c 41 59 45 52 |,TURN%:.. PLAYER| 00000370 24 2c 54 55 52 4e 24 3a 6d 6f 76 65 6f 6b 25 3d |$,TURN$:moveok%=| 00000380 b9 3a f5 3a c8 97 20 41 25 2c 42 25 2c 43 25 3a |.:.:.. A%,B%,C%:| 00000390 fd 43 25 3d 30 3a e5 20 8d 44 5e 41 0d 01 36 21 |.C%=0:. .D^A..6!| 000003a0 20 e7 20 74 68 69 6e 6b 25 3d a3 20 f2 46 4c 49 | . think%=. .FLI| 000003b0 50 3a 73 71 75 61 72 65 73 25 2d 3d 31 0d 01 40 |P:squares%-=1..@| 000003c0 29 20 6d 6f 76 65 6f 6b 25 3d a3 3a f2 43 48 45 |) moveok%=.:.CHE| 000003d0 43 4b 3a e7 20 6d 6f 76 65 6f 6b 25 3d b9 20 f2 |CK:. moveok%=. .| 000003e0 52 45 4d 4f 56 45 0d 01 4a 49 20 e7 20 6d 6f 76 |REMOVE..JI . mov| 000003f0 65 6f 6b 25 3d a3 20 f2 42 41 44 4d 4f 56 45 20 |eok%=. .BADMOVE | 00000400 8b 20 e7 20 74 68 69 6e 6b 25 3d a3 20 20 c8 94 |. . think%=. ..| 00000410 20 50 4c 41 59 45 52 25 2c 54 55 52 4e 25 3a c8 | PLAYER%,TURN%:.| 00000420 94 20 50 4c 41 59 45 52 24 2c 54 55 52 4e 24 0d |. PLAYER$,TURN$.| 00000430 01 54 18 20 f5 3a c8 97 20 41 25 2c 42 25 2c 43 |.T. .:.. A%,B%,C| 00000440 25 3a fd 43 25 3d 30 0d 01 5e 2f 20 e7 20 6d 6f |%:.C%=0..^/ . mo| 00000450 76 65 6f 6b 25 3d b9 20 80 20 50 4c 41 59 45 52 |veok%=. . PLAYER| 00000460 24 3d 22 41 52 43 22 20 80 20 73 71 75 61 72 65 |$="ARC" . square| 00000470 73 25 3e 30 20 8c 0d 01 68 1d 20 20 70 61 73 73 |s%>0 ...h. pass| 00000480 25 28 50 4c 41 59 45 52 25 29 3d a3 3a f2 54 48 |%(PLAYER%)=.:.TH| 00000490 49 4e 4b 0d 01 72 27 20 20 c8 94 20 50 4c 41 59 |INK..r' .. PLAY| 000004a0 45 52 25 2c 54 55 52 4e 25 3a c8 94 20 50 4c 41 |ER%,TURN%:.. PLA| 000004b0 59 45 52 24 2c 54 55 52 4e 24 0d 01 7c 06 20 cd |YER$,TURN$..|. .| 000004c0 0d 01 86 35 20 f4 20 49 46 20 63 6f 75 6e 74 65 |...5 . IF counte| 000004d0 72 73 25 28 31 29 3d 30 20 4f 52 20 63 6f 75 6e |rs%(1)=0 OR coun| 000004e0 74 65 72 73 25 28 32 29 3d 30 20 73 71 75 61 72 |ters%(2)=0 squar| 000004f0 65 73 25 3d 30 0d 01 90 35 20 fd 20 70 61 73 73 |es%=0...5 . pass| 00000500 25 28 50 4c 41 59 45 52 25 29 3d b9 20 80 20 70 |%(PLAYER%)=. . p| 00000510 61 73 73 25 28 54 55 52 4e 25 29 3d b9 20 84 20 |ass%(TURN%)=. . | 00000520 73 71 75 61 72 65 73 25 3d 30 0d 01 9a 0b 20 f2 |squares%=0.... .| 00000530 43 4c 45 41 52 0d 01 a4 0b 20 e5 20 8d 74 74 40 |CLEAR.... . .tt@| 00000540 0d 01 ae 06 20 e0 0d 01 b8 0b 20 dd f2 46 4c 49 |.... ..... ..FLI| 00000550 50 0d 01 c2 33 20 e7 20 50 4c 41 59 45 52 25 3d |P...3 . PLAYER%=| 00000560 31 20 8c 20 53 50 25 3d 31 3a 49 4e 43 53 50 25 |1 . SP%=1:INCSP%| 00000570 3d 31 20 8b 20 53 50 25 3d 37 3a 49 4e 43 53 50 |=1 . SP%=7:INCSP| 00000580 25 3d 2d 31 0d 01 cc 0c 20 e3 51 25 3d 31 b8 37 |%=-1.... .Q%=1.7| 00000590 0d 01 d6 28 20 c8 99 22 4f 53 5f 43 4c 49 22 2c |...( .."OS_CLI",| 000005a0 22 53 43 48 4f 4f 53 45 20 44 49 53 43 22 2b bd |"SCHOOSE DISC"+.| 000005b0 28 53 50 25 2b 34 38 29 0d 01 e0 2e 20 f0 26 45 |(SP%+48).... .&E| 000005c0 44 2c 32 36 34 2b 28 28 58 25 2d 31 29 2a 39 36 |D,264+((X%-1)*96| 000005d0 2e 32 35 29 2c 35 32 2b 28 28 59 25 2d 31 29 2a |.25),52+((Y%-1)*| 000005e0 31 30 30 2e 35 29 0d 01 ea 11 20 e3 45 25 3d 31 |100.5).... .E%=1| 000005f0 b8 31 35 30 30 3a ed 0d 01 f4 13 20 53 50 25 3d |.1500:..... SP%=| 00000600 53 50 25 2b 49 4e 43 53 50 25 0d 01 fe 06 20 ed |SP%+INCSP%.... .| 00000610 0d 02 08 27 20 e7 20 74 68 69 6e 6b 25 3d a3 20 |...' . think%=. | 00000620 8c 20 42 4f 41 52 44 25 28 58 25 2c 59 25 29 3d |. BOARD%(X%,Y%)=| 00000630 50 4c 41 59 45 52 25 0d 02 12 06 20 e1 0d 02 1c |PLAYER%.... ....| 00000640 0c 20 dd f2 53 45 54 55 50 0d 02 26 26 20 50 4c |. ..SETUP..&& PL| 00000650 41 59 45 52 25 3d 31 3a 58 25 3d 34 3a 59 25 3d |AYER%=1:X%=4:Y%=| 00000660 34 3a f2 52 45 4d 4f 56 45 3a f2 46 4c 49 50 0d |4:.REMOVE:.FLIP.| 00000670 02 30 26 20 50 4c 41 59 45 52 25 3d 31 3a 58 25 |.0& PLAYER%=1:X%| 00000680 3d 35 3a 59 25 3d 35 3a f2 52 45 4d 4f 56 45 3a |=5:Y%=5:.REMOVE:| 00000690 f2 46 4c 49 50 0d 02 3a 26 20 50 4c 41 59 45 52 |.FLIP..:& PLAYER| 000006a0 25 3d 32 3a 58 25 3d 35 3a 59 25 3d 34 3a f2 52 |%=2:X%=5:Y%=4:.R| 000006b0 45 4d 4f 56 45 3a f2 46 4c 49 50 0d 02 44 26 20 |EMOVE:.FLIP..D& | 000006c0 50 4c 41 59 45 52 25 3d 32 3a 58 25 3d 34 3a 59 |PLAYER%=2:X%=4:Y| 000006d0 25 3d 35 3a f2 52 45 4d 4f 56 45 3a f2 46 4c 49 |%=5:.REMOVE:.FLI| 000006e0 50 0d 02 4e 2f 20 f7 20 8d 54 76 46 3a e3 58 25 |P..N/ . .TvF:.X%| 000006f0 3d 31 b8 38 3a e3 59 25 3d 31 b8 38 3a f3 20 53 |=1.8:.Y%=1.8:. S| 00000700 4b 49 4c 4c 25 28 58 25 2c 59 25 29 3a ed 3a ed |KILL%(X%,Y%):.:.| 00000710 0d 02 58 06 20 e1 0d 02 62 0c 20 dd f2 43 48 45 |..X. ...b. ..CHE| 00000720 43 4b 0d 02 6c 05 20 0d 02 76 32 20 f4 2e 2e 2e |CK..l. ..v2 ....| 00000730 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 20 43 48 45 43 4b |.......... CHECK| 00000740 20 54 4f 20 54 48 45 20 4c 45 46 54 2e 2e 2e 2e | TO THE LEFT....| 00000750 2e 2e 2e 2e 2e 2e 2e 2e 2e 0d 02 80 05 20 0d 02 |............. ..| 00000760 8a 0c 20 54 54 41 4c 25 3d 30 0d 02 94 12 20 e7 |.. TTAL%=0.... .| 00000770 20 58 25 3d 31 20 8c 20 8d 64 5a 42 0d 02 9e 19 | X%=1 . .dZB....| 00000780 20 48 25 3d 58 25 3a 56 25 3d 59 25 3a 63 6f 75 | H%=X%:V%=Y%:cou| 00000790 6e 74 25 3d 30 0d 02 a8 06 20 f5 0d 02 b2 0a 20 |nt%=0.... ..... | 000007a0 48 25 2d 3d 31 0d 02 bc 0f 20 f2 43 48 45 43 4b |H%-=1.... .CHECK| 000007b0 49 54 45 4d 0d 02 c6 27 20 fd 20 48 25 3d 31 20 |ITEM...' . H%=1 | 000007c0 84 20 6f 77 6e 66 6c 61 67 25 3d b9 20 84 20 62 |. ownflag%=. . b| 000007d0 6c 61 6e 6b 66 6c 61 67 25 3d b9 0d 02 d0 2b 20 |lankflag%=....+ | 000007e0 e7 20 63 6f 75 6e 74 25 3e 30 20 80 20 6f 77 6e |. count%>0 . own| 000007f0 66 6c 61 67 25 3d b9 20 f2 44 4f 46 4c 49 50 53 |flag%=. .DOFLIPS| 00000800 28 2d 31 2c 30 29 0d 02 da 05 20 0d 02 e4 32 20 |(-1,0).... ...2 | 00000810 f4 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 20 43 48 |............. CH| 00000820 45 43 4b 20 54 4f 20 54 48 45 20 52 49 47 48 54 |ECK TO THE RIGHT| 00000830 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 0d 02 ee |................| 00000840 05 20 0d 02 f8 12 20 e7 20 58 25 3d 38 20 8c 20 |. .... . X%=8 . | 00000850 8d 54 74 43 0d 03 02 4e 20 48 25 3d 58 25 3a 56 |.TtC...N H%=X%:V| 00000860 25 3d 59 25 3a 63 6f 75 6e 74 25 3d 30 3a f5 3a |%=Y%:count%=0:.:| 00000870 48 25 2b 3d 31 3a f2 43 48 45 43 4b 49 54 45 4d |H%+=1:.CHECKITEM| 00000880 3a fd 20 48 25 3d 38 20 84 6f 77 6e 66 6c 61 67 |:. H%=8 .ownflag| 00000890 25 3d b9 20 84 20 62 6c 61 6e 6b 66 6c 61 67 25 |%=. . blankflag%| 000008a0 3d b9 0d 03 0c 2a 20 e7 20 63 6f 75 6e 74 25 3e |=....* . count%>| 000008b0 30 20 80 20 6f 77 6e 66 6c 61 67 25 3d b9 20 f2 |0 . ownflag%=. .| 000008c0 44 4f 46 4c 49 50 53 28 31 2c 30 29 0d 03 16 05 |DOFLIPS(1,0)....| 000008d0 20 0d 03 20 30 20 f4 2e 2e 2e 2e 2e 2e 2e 2e 2e | .. 0 ..........| 000008e0 2e 2e 2e 2e 2e 2e 2e 20 43 48 45 43 4b 20 55 50 |....... CHECK UP| 000008f0 20 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e | ...............| 00000900 2e 0d 03 2a 05 20 0d 03 34 12 20 e7 20 59 25 3d |...*. ..4. . Y%=| 00000910 38 20 8c 20 8d 44 52 43 0d 03 3e 4e 20 48 25 3d |8 . .DRC..>N H%=| 00000920 58 25 3a 56 25 3d 59 25 3a 63 6f 75 6e 74 25 3d |X%:V%=Y%:count%=| 00000930 30 3a f5 3a 56 25 2b 3d 31 3a f2 43 48 45 43 4b |0:.:V%+=1:.CHECK| 00000940 49 54 45 4d 3a fd 20 56 25 3d 38 20 84 6f 77 6e |ITEM:. V%=8 .own| 00000950 66 6c 61 67 25 3d b9 20 84 20 62 6c 61 6e 6b 66 |flag%=. . blankf| 00000960 6c 61 67 25 3d b9 0d 03 48 2a 20 e7 20 63 6f 75 |lag%=...H* . cou| 00000970 6e 74 25 3e 30 20 80 20 6f 77 6e 66 6c 61 67 25 |nt%>0 . ownflag%| 00000980 3d b9 20 f2 44 4f 46 4c 49 50 53 28 30 2c 31 29 |=. .DOFLIPS(0,1)| 00000990 0d 03 52 05 20 0d 03 5c 32 20 f4 2e 2e 2e 2e 2e |..R. ..\2 ......| 000009a0 2e 2e 2e 2e 2e 2e 2e 2e 2e 20 43 48 45 43 4b 20 |......... CHECK | 000009b0 44 4f 57 4e 20 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e |DOWN ...........| 000009c0 2e 2e 2e 2e 2e 2e 2e 0d 03 66 05 20 0d 03 70 12 |.........f. ..p.| 000009d0 20 e7 20 59 25 3d 31 20 8c 20 8d 74 6c 43 0d 03 | . Y%=1 . .tlC..| 000009e0 7a 4e 20 48 25 3d 58 25 3a 56 25 3d 59 25 3a 63 |zN H%=X%:V%=Y%:c| 000009f0 6f 75 6e 74 25 3d 30 3a f5 3a 56 25 2d 3d 31 3a |ount%=0:.:V%-=1:| 00000a00 f2 43 48 45 43 4b 49 54 45 4d 3a fd 20 56 25 3d |.CHECKITEM:. V%=| 00000a10 31 20 84 6f 77 6e 66 6c 61 67 25 3d b9 20 84 20 |1 .ownflag%=. . | 00000a20 62 6c 61 6e 6b 66 6c 61 67 25 3d b9 0d 03 84 2b |blankflag%=....+| 00000a30 20 e7 20 63 6f 75 6e 74 25 3e 30 20 80 20 6f 77 | . count%>0 . ow| 00000a40 6e 66 6c 61 67 25 3d b9 20 f2 44 4f 46 4c 49 50 |nflag%=. .DOFLIP| 00000a50 53 28 30 2c 2d 31 29 0d 03 8e 05 20 0d 03 98 35 |S(0,-1).... ...5| 00000a60 20 f4 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 20 43 48 | ............ CH| 00000a70 45 43 4b 20 55 50 20 41 4e 44 20 52 49 47 48 54 |ECK UP AND RIGHT| 00000a80 20 44 49 41 47 4f 4e 41 4c 20 2e 2e 2e 2e 2e 2e | DIAGONAL ......| 00000a90 2e 0d 03 a2 05 20 0d 03 ac 19 20 e7 20 59 25 3d |..... .... . Y%=| 00000aa0 38 20 84 20 58 25 3d 38 20 8c 20 8d 64 68 43 0d |8 . X%=8 . .dhC.| 00000ab0 03 b6 5c 20 48 25 3d 58 25 3a 56 25 3d 59 25 3a |..\ H%=X%:V%=Y%:| 00000ac0 63 6f 75 6e 74 25 3d 30 3a f5 3a 48 25 2b 3d 31 |count%=0:.:H%+=1| 00000ad0 3a 56 25 2b 3d 31 3a f2 43 48 45 43 4b 49 54 45 |:V%+=1:.CHECKITE| 00000ae0 4d 3a fd 20 48 25 3d 38 20 84 20 56 25 3d 38 20 |M:. H%=8 . V%=8 | 00000af0 84 20 6f 77 6e 66 6c 61 67 25 3d b9 20 84 20 62 |. ownflag%=. . b| 00000b00 6c 61 6e 6b 66 6c 61 67 25 3d b9 0d 03 c0 2a 20 |lankflag%=....* | 00000b10 e7 20 63 6f 75 6e 74 25 3e 30 20 80 20 6f 77 6e |. count%>0 . own| 00000b20 66 6c 61 67 25 3d b9 20 f2 44 4f 46 4c 49 50 53 |flag%=. .DOFLIPS| 00000b30 28 31 2c 31 29 0d 03 ca 05 20 0d 03 d4 39 20 f4 |(1,1).... ...9 .| 00000b40 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 20 43 48 45 43 4b |.......... CHECK| 00000b50 20 44 4f 57 4e 20 41 4e 44 20 52 49 47 48 54 20 | DOWN AND RIGHT | 00000b60 44 49 41 47 4f 4e 41 4c 20 2e 2e 2e 2e 2e 2e 2e |DIAGONAL .......| 00000b70 2e 2e 2e 0d 03 de 05 20 0d 03 e8 19 20 e7 20 59 |....... .... . Y| 00000b80 25 3d 31 20 84 20 58 25 3d 38 20 8c 20 8d 54 64 |%=1 . X%=8 . .Td| 00000b90 44 0d 03 f2 5c 20 48 25 3d 58 25 3a 56 25 3d 59 |D...\ H%=X%:V%=Y| 00000ba0 25 3a 63 6f 75 6e 74 25 3d 30 3a f5 3a 48 25 2b |%:count%=0:.:H%+| 00000bb0 3d 31 3a 56 25 2d 3d 31 3a f2 43 48 45 43 4b 49 |=1:V%-=1:.CHECKI| 00000bc0 54 45 4d 3a fd 20 48 25 3d 38 20 84 20 56 25 3d |TEM:. H%=8 . V%=| 00000bd0 31 20 84 20 6f 77 6e 66 6c 61 67 25 3d b9 20 84 |1 . ownflag%=. .| 00000be0 20 62 6c 61 6e 6b 66 6c 61 67 25 3d b9 0d 03 fc | blankflag%=....| 00000bf0 2b 20 e7 20 63 6f 75 6e 74 25 3e 30 20 80 20 6f |+ . count%>0 . o| 00000c00 77 6e 66 6c 61 67 25 3d b9 20 f2 44 4f 46 4c 49 |wnflag%=. .DOFLI| 00000c10 50 53 28 31 2c 2d 31 29 0d 04 06 06 20 f4 0d 04 |PS(1,-1).... ...| 00000c20 10 3b 20 f4 20 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 20 |.; . .......... | 00000c30 43 48 45 43 4b 20 44 4f 57 4e 20 41 4e 44 20 4c |CHECK DOWN AND L| 00000c40 45 46 54 20 44 49 41 47 4f 4e 41 4c 20 2e 2e 2e |EFT DIAGONAL ...| 00000c50 2e 2e 2e 2e 2e 2e 2e 2e 2e 0d 04 1a 06 20 f4 0d |............. ..| 00000c60 04 24 19 20 e7 20 59 25 3d 31 20 84 20 58 25 3d |.$. . Y%=1 . X%=| 00000c70 31 20 8c 20 8d 44 60 44 0d 04 2e 5c 20 48 25 3d |1 . .D`D...\ H%=| 00000c80 58 25 3a 56 25 3d 59 25 3a 63 6f 75 6e 74 25 3d |X%:V%=Y%:count%=| 00000c90 30 3a f5 3a 48 25 2d 3d 31 3a 56 25 2d 3d 31 3a |0:.:H%-=1:V%-=1:| 00000ca0 f2 43 48 45 43 4b 49 54 45 4d 3a fd 20 48 25 3d |.CHECKITEM:. H%=| 00000cb0 31 20 84 20 56 25 3d 31 20 84 20 6f 77 6e 66 6c |1 . V%=1 . ownfl| 00000cc0 61 67 25 3d b9 20 84 20 62 6c 61 6e 6b 66 6c 61 |ag%=. . blankfla| 00000cd0 67 25 3d b9 0d 04 38 2c 20 e7 20 63 6f 75 6e 74 |g%=...8, . count| 00000ce0 25 3e 30 20 80 20 6f 77 6e 66 6c 61 67 25 3d b9 |%>0 . ownflag%=.| 00000cf0 20 f2 44 4f 46 4c 49 50 53 28 2d 31 2c 2d 31 29 | .DOFLIPS(-1,-1)| 00000d00 0d 04 42 06 20 f4 0d 04 4c 31 20 f4 2e 2e 2e 2e |..B. ...L1 .....| 00000d10 2e 2e 2e 2e 2e 2e 2e 2e 20 43 48 45 43 4b 20 55 |........ CHECK U| 00000d20 50 20 41 4e 44 20 4c 45 46 54 20 2e 2e 2e 2e 2e |P AND LEFT .....| 00000d30 2e 2e 2e 2e 2e 2e 2e 0d 04 56 06 20 f4 0d 04 60 |.........V. ...`| 00000d40 19 20 e7 20 59 25 3d 38 20 84 20 58 25 3d 31 20 |. . Y%=8 . X%=1 | 00000d50 8c 20 8d 44 7e 44 0d 04 6a 5c 20 48 25 3d 58 25 |. .D~D..j\ H%=X%| 00000d60 3a 56 25 3d 59 25 3a 63 6f 75 6e 74 25 3d 30 3a |:V%=Y%:count%=0:| 00000d70 f5 3a 48 25 2d 3d 31 3a 56 25 2b 3d 31 3a f2 43 |.:H%-=1:V%+=1:.C| 00000d80 48 45 43 4b 49 54 45 4d 3a fd 20 48 25 3d 31 20 |HECKITEM:. H%=1 | 00000d90 84 20 56 25 3d 38 20 84 20 6f 77 6e 66 6c 61 67 |. V%=8 . ownflag| 00000da0 25 3d b9 20 84 20 62 6c 61 6e 6b 66 6c 61 67 25 |%=. . blankflag%| 00000db0 3d b9 0d 04 74 2b 20 e7 20 63 6f 75 6e 74 25 3e |=...t+ . count%>| 00000dc0 30 20 80 20 6f 77 6e 66 6c 61 67 25 3d b9 20 f2 |0 . ownflag%=. .| 00000dd0 44 4f 46 4c 49 50 53 28 2d 31 2c 31 29 0d 04 7e |DOFLIPS(-1,1)..~| 00000de0 06 20 e1 0d 04 88 10 20 dd f2 43 48 45 43 4b 49 |. ..... ..CHECKI| 00000df0 54 45 4d 0d 04 92 1c 20 62 6c 61 6e 6b 66 6c 61 |TEM.... blankfla| 00000e00 67 25 3d a3 3a 6f 77 6e 66 6c 61 67 25 3d a3 0d |g%=.:ownflag%=..| 00000e10 04 9c 25 20 e7 20 42 4f 41 52 44 25 28 48 25 2c |..% . BOARD%(H%,| 00000e20 56 25 29 3d 30 20 8c 20 62 6c 61 6e 6b 66 6c 61 |V%)=0 . blankfla| 00000e30 67 25 3d b9 0d 04 a6 29 20 e7 20 42 4f 41 52 44 |g%=....) . BOARD| 00000e40 25 28 48 25 2c 56 25 29 3d 50 4c 41 59 45 52 25 |%(H%,V%)=PLAYER%| 00000e50 20 8c 20 6f 77 6e 66 6c 61 67 25 3d b9 0d 04 b0 | . ownflag%=....| 00000e60 2c 20 e7 20 62 6c 61 6e 6b 66 6c 61 67 25 3d a3 |, . blankflag%=.| 00000e70 20 80 20 6f 77 6e 66 6c 61 67 25 3d a3 20 8c 20 | . ownflag%=. . | 00000e80 63 6f 75 6e 74 25 2b 3d 31 0d 04 ba 06 20 e1 0d |count%+=1.... ..| 00000e90 04 c4 1b 20 dd f2 44 4f 46 4c 49 50 53 28 58 49 |... ..DOFLIPS(XI| 00000ea0 4e 43 25 2c 59 49 4e 43 25 29 0d 04 ce 12 20 54 |NC%,YINC%).... T| 00000eb0 54 41 4c 25 2b 3d 63 6f 75 6e 74 25 0d 04 d8 1d |TAL%+=count%....| 00000ec0 20 48 25 3d 58 25 3a 56 25 3d 59 25 3a e3 44 25 | H%=X%:V%=Y%:.D%| 00000ed0 3d 31 b8 63 6f 75 6e 74 25 0d 04 e2 18 20 58 25 |=1.count%.... X%| 00000ee0 2b 3d 58 49 4e 43 25 3a 59 25 2b 3d 59 49 4e 43 |+=XINC%:Y%+=YINC| 00000ef0 25 0d 04 ec 15 20 e7 20 74 68 69 6e 6b 25 3d a3 |%.... . think%=.| 00000f00 20 f2 46 4c 49 50 0d 04 f6 12 20 ed 3a 58 25 3d | .FLIP.... .:X%=| 00000f10 48 25 3a 59 25 3d 56 25 0d 05 00 10 20 6d 6f 76 |H%:Y%=V%.... mov| 00000f20 65 6f 6b 25 3d b9 3a e1 0d 05 0a 97 20 dd f2 42 |eok%=.:..... ..B| 00000f30 41 44 4d 4f 56 45 3a e6 38 2c 31 3a 42 4f 41 52 |ADMOVE:.8,1:BOAR| 00000f40 44 25 28 58 25 2c 59 25 29 3d 30 3a e3 53 50 25 |D%(X%,Y%)=0:.SP%| 00000f50 3d 31 b8 37 3a c8 99 22 4f 53 5f 43 4c 49 22 2c |=1.7:.."OS_CLI",| 00000f60 22 53 43 48 4f 4f 53 45 20 57 49 50 45 22 2b bd |"SCHOOSE WIPE"+.| 00000f70 28 34 38 2b 53 50 25 29 3a f0 26 45 44 2c 32 36 |(48+SP%):.&ED,26| 00000f80 34 2b 28 28 58 25 2d 31 29 2a 39 36 2e 32 35 29 |4+((X%-1)*96.25)| 00000f90 2c 35 32 2b 28 28 59 25 2d 31 29 2a 31 30 30 2e |,52+((Y%-1)*100.| 00000fa0 35 29 3a e3 44 25 3d 31 b8 32 30 30 30 3a ed 3a |5):.D%=1.2000:.:| 00000fb0 ed 3a 73 71 75 61 72 65 73 25 2b 3d 31 3a e1 0d |.:squares%+=1:..| 00000fc0 05 14 0c 20 dd f2 54 48 49 4e 4b 0d 05 1e 0e 20 |... ..THINK.... | 00000fd0 6d 6f 76 65 6f 6b 25 3d a3 0d 05 28 27 20 e7 20 |moveok%=...(' . | 00000fe0 63 6f 75 6e 74 65 72 73 25 28 50 4c 41 59 45 52 |counters%(PLAYER| 00000ff0 25 29 3d 30 20 8c 20 ef 37 3a e5 20 8d 74 74 45 |%)=0 . .7:. .ttE| 00001000 0d 05 32 0d 20 74 68 69 6e 6b 25 3d b9 0d 05 3c |..2. think%=...<| 00001010 0c 20 54 54 41 4c 25 3d 30 0d 05 46 0c 20 42 45 |. TTAL%=0..F. BE| 00001020 53 54 25 3d 30 0d 05 50 14 20 e3 58 25 3d 31 b8 |ST%=0..P. .X%=1.| 00001030 38 3a e3 59 25 3d 31 b8 38 0d 05 5a 1d 20 e7 20 |8:.Y%=1.8..Z. . | 00001040 42 4f 41 52 44 25 28 58 25 2c 59 25 29 3d 30 20 |BOARD%(X%,Y%)=0 | 00001050 f2 43 48 45 43 4b 0d 05 64 39 20 e7 20 28 54 54 |.CHECK..d9 . (TT| 00001060 41 4c 25 2a 53 4b 49 4c 4c 25 28 58 25 2c 59 25 |AL%*SKILL%(X%,Y%| 00001070 29 29 3d 42 45 53 54 25 20 80 20 b3 28 32 29 3d |))=BEST% . .(2)=| 00001080 31 20 8c 20 46 25 3d 58 25 3a 47 25 3d 59 25 0d |1 . F%=X%:G%=Y%.| 00001090 05 6e 4a 20 e7 20 28 54 54 41 4c 25 2a 53 4b 49 |.nJ . (TTAL%*SKI| 000010a0 4c 4c 25 28 58 25 2c 59 25 29 29 3e 42 45 53 54 |LL%(X%,Y%))>BEST| 000010b0 25 20 8c 20 42 45 53 54 25 3d 54 54 41 4c 25 2a |% . BEST%=TTAL%*| 000010c0 53 4b 49 4c 4c 25 28 58 25 2c 59 25 29 3a 46 25 |SKILL%(X%,Y%):F%| 000010d0 3d 58 25 3a 47 25 3d 59 25 0d 05 78 0c 20 54 54 |=X%:G%=Y%..x. TT| 000010e0 41 4c 25 3d 30 0d 05 82 08 20 ed 3a ed 0d 05 8c |AL%=0.... .:....| 000010f0 0d 20 74 68 69 6e 6b 25 3d a3 0d 05 96 10 20 58 |. think%=..... X| 00001100 25 3d 46 25 3a 59 25 3d 47 25 0d 05 a0 1a 20 e7 |%=F%:Y%=G%.... .| 00001110 20 6d 6f 76 65 6f 6b 25 3d a3 20 ef 37 3a e5 20 | moveok%=. .7:. | 00001120 8d 74 74 45 0d 05 aa 25 20 73 71 75 61 72 65 73 |.ttE...% squares| 00001130 25 2d 3d 31 3a f2 46 4c 49 50 3a f2 52 45 4d 4f |%-=1:.FLIP:.REMO| 00001140 56 45 3a f2 43 48 45 43 4b 0d 05 b4 05 20 0d 05 |VE:.CHECK.... ..| 00001150 be 23 20 e7 20 6d 6f 76 65 6f 6b 25 3d a3 20 70 |.# . moveok%=. p| 00001160 61 73 73 25 28 50 4c 41 59 45 52 25 29 3d b9 3a |ass%(PLAYER%)=.:| 00001170 e1 0d 05 c8 06 20 e1 0d 05 d2 29 20 dd f2 43 4c |..... ....) ..CL| 00001180 45 41 52 3a e3 58 25 3d 31 b8 38 3a e3 59 25 3d |EAR:.X%=1.8:.Y%=| 00001190 31 b8 38 3a f2 42 41 44 4d 4f 56 45 3a ed 3a ed |1.8:.BADMOVE:.:.| 000011a0 0d 05 dc 15 20 2a 53 43 48 4f 4f 53 45 20 43 4f |.... *SCHOOSE CO| 000011b0 55 4e 54 45 52 0d 05 e6 21 20 e3 58 25 3d 31 b8 |UNTER...! .X%=1.| 000011c0 33 32 3a f0 26 45 44 2c 31 32 38 2c 32 30 2a 58 |32:.&ED,128,20*X| 000011d0 25 2b 39 34 3a ed 0d 05 f0 22 20 e3 58 25 3d 31 |%+94:...." .X%=1| 000011e0 b8 33 32 3a f0 26 45 44 2c 31 30 36 36 2c 32 30 |.32:.&ED,1066,20| 000011f0 2a 58 25 2b 39 34 3a ed 0d 05 fa 06 20 e1 0d 06 |*X%+94:..... ...| 00001200 04 0d 20 dd f2 52 45 4d 4f 56 45 0d 06 0e 1a 20 |.. ..REMOVE.... | 00001210 63 6f 75 6e 74 65 72 73 25 28 50 4c 41 59 45 52 |counters%(PLAYER| 00001220 25 29 2d 3d 31 0d 06 18 21 20 e7 20 50 4c 41 59 |%)-=1...! . PLAY| 00001230 45 52 25 3d 31 20 4a 25 3d 31 32 36 20 8b 20 4a |ER%=1 J%=126 . J| 00001240 25 3d 31 30 36 34 0d 06 22 30 20 e6 31 33 3a c8 |%=1064.."0 .13:.| 00001250 93 c8 90 20 4a 25 2c 32 30 2a 63 6f 75 6e 74 65 |... J%,20*counte| 00001260 72 73 25 28 50 4c 41 59 45 52 25 29 2b 31 31 38 |rs%(PLAYER%)+118| 00001270 2c 38 32 2c 31 32 0d 06 2c 06 20 e1 0d 06 36 1c |,82,12..,. ...6.| 00001280 dc 35 30 30 2c 31 2c 32 30 2c 31 30 2c 31 30 2c |.500,1,20,10,10,| 00001290 32 30 2c 31 2c 35 30 30 0d 06 40 16 dc 31 2c 31 |20,1,500..@..1,1| 000012a0 2c 32 30 2c 35 2c 35 2c 32 30 2c 31 2c 31 0d 06 |,20,5,5,20,1,1..| 000012b0 4a 1a dc 32 30 2c 32 30 2c 32 30 2c 35 2c 35 2c |J..20,20,20,5,5,| 000012c0 32 30 2c 32 30 2c 32 30 0d 06 54 16 dc 31 30 2c |20,20,20..T..10,| 000012d0 35 2c 35 2c 31 2c 31 2c 35 2c 35 2c 31 30 0d 06 |5,5,1,1,5,5,10..| 000012e0 5e 16 dc 31 30 2c 35 2c 35 2c 31 2c 31 2c 35 2c |^..10,5,5,1,1,5,| 000012f0 35 2c 31 30 0d 06 68 1a dc 32 30 2c 32 30 2c 32 |5,10..h..20,20,2| 00001300 30 2c 35 2c 35 2c 32 30 2c 32 30 2c 32 30 0d 06 |0,5,5,20,20,20..| 00001310 72 16 dc 31 2c 31 2c 32 30 2c 35 2c 35 2c 32 30 |r..1,1,20,5,5,20| 00001320 2c 31 2c 31 0d 06 7c 1c dc 35 30 30 2c 31 2c 32 |,1,1..|..500,1,2| 00001330 30 2c 31 30 2c 31 30 2c 32 30 2c 31 2c 35 30 30 |0,10,10,20,1,500| 00001340 0d ff |..| 00001342