Home » Archimedes archive » Archimedes World » AW-1994-04-Disc1.adf » Disk1Apr94 » !AWApr94/Goodies/Hex/!Hex/Library/Lib11_13
!AWApr94/Goodies/Hex/!Hex/Library/Lib11_13
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-1994-04-Disc1.adf » Disk1Apr94 |
Filename: | !AWApr94/Goodies/Hex/!Hex/Library/Lib11_13 |
Read OK: | ✔ |
File size: | 41BF bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM HEX library: Lib11_13: Section 11 and 13. 40DEFPROCdummy:ENDPROC 190DEFPROCwin_check 220IF move% > 20 THEN 240IF player% = 1 THEN 250PROCtranslate_red_moves 260ELSE 270PROCtranslate_blue_moves 280ENDIF 300full_check% = FALSE 310PROCquick_check 330IF full_check% THEN 340PROCinitial_array_data 350PROCchain_hexes 360ENDIF 380ENDIF 400ENDPROC 470DEFPROCquick_check 520LOCAL col%, row%, count% 540col% = 0 550row% = 0 560count% = 0 580REPEAT 600IF check_win%(col%,row%,1) THEN 610col% += 1 620row% = 0 630count% += 1 640ELSE 650row% += 1 660ENDIF 680UNTIL count% = 11 OR row% = 11 700IF count% = 11 THENfull_check% = TRUE 720ENDPROC 790DEFPROCinitial_array_data 810LOCAL X%, Y% 830FOR X% = 0 TO 10 840FOR Y% = 0 TO 10 860check_win%(X%,Y%,0) = 63 880IF X% = 0 THENcheck_win%(X%,Y%,0) = 39 900IF X% = 10 THENcheck_win%(X%,Y%,0) = 60 920IF Y% = 0 THEN 930check_win%(X%,Y%,0) = 57 940IF X% = 0 THENcheck_win%(X%,Y%,0) = 33 950IF X% = 10 THENcheck_win%(X%,Y%,0) = 56 960ENDIF 980IF Y% = 10 THEN 990check_win%(X%,Y%,0) = 15 1000IF X% = 0 THENcheck_win%(X%,Y%,0) = 7 1010IF X% = 10 THENcheck_win%(X%,Y%,0) = 12 1020ENDIF 1040NEXT Y% 1050NEXT X% 1070ENDPROC 1140DEFPROCtranslate_red_moves 1160LOCAL X%,Y% 1180FOR X% = 0 TO 10 1190FOR Y% = 0 TO 10 1210IF board_status%(X%,Y%) = 1 THEN 1220check_win%(X%,Y%,1) = TRUE 1230ELSE 1240check_win%(X%,Y%,1) = FALSE 1250ENDIF 1270NEXT Y% 1280NEXT X% 1300ENDPROC 1370DEFPROCtranslate_blue_moves 1390LOCAL X%,Y% 1410FOR X% = 0 TO 10 1420FOR Y% = 0 TO 10 1440IF board_status%(X%,Y%) = 2 THEN 1450check_win%(Y%,X%,1) = TRUE 1460ELSE 1470check_win%(Y%,X%,1) = FALSE 1480ENDIF 1500NEXT Y% 1510NEXT X% 1530ENDPROC 1600DEFPROCchain_hexes 1620col% = 0 1630entry% = 4 1640count% = 0 1670winning_moves%() = -1 1690row% = -1 1700REPEAT row% += 1 1710REPEAT 1730IF check_win%(col%, row%, 1) THEN 1740PROCstore_winning_move 1750look% = (entry% MOD 6) + 1 1770REPEAT 1780PROCcase 1790look% = (look% MOD 6) + 1 1800IF col% = 10 THENwin% = TRUE :winner% = player% :VDU 7 1810UNTIL win% OR check_win%(col%,row%,0) = 0 1830ENDIF 1840UNTIL win% OR check_win%(col%,row%,0)= 0 OR check_win%(col%,row%,1) = 0 1850UNTIL win% OR row% = 10 1870ENDPROC 1940DEFPROCcase 1960CASE look% OF 1980WHEN 1 1990IF(check_win%(col%,row%,0)AND1)THEN 2000check_win%(col%,row%,0)=check_win%(col%,row%,0)EOR1 2010IF(check_win%((col%+1),row%,1)) THEN 2020col%+=1:entry%=4:look%=4 2030PROCstore_winning_move 2040ENDIF 2050ENDIF 2070WHEN 2 2080IF(check_win%(col%,row%,0)AND2)THEN 2090check_win%(col%,row%,0)=check_win%(col%,row%,0)EOR2 2100IF(check_win%((col%+1),(row%-1),1))THEN 2110col%+=1:row%-=1:entry%=5:look%=5 2120PROCstore_winning_move 2130ENDIF 2140ENDIF 2160WHEN 3 2170IF(check_win%(col%,row%,0)AND4)THEN 2180check_win%(col%,row%,0)=check_win%(col%,row%,0)EOR4 2190IF(check_win%(col%,(row%-1),1))THEN 2200row%-=1:entry%=6:look%=6 2210PROCstore_winning_move 2220ENDIF 2230ENDIF 2250WHEN 4 2260IF(check_win%(col%, row%,0)AND8)THEN 2270check_win%(col%,row%,0)=check_win%(col%,row%,0)EOR8 2280IF(check_win%((col%-1),row%,1))THEN 2290col%-=1:entry%=1:look%=1 2300PROCstore_winning_move 2310ENDIF 2320ENDIF 2340WHEN 5 2350IF(check_win%(col%,row%,0)AND16)THEN 2360check_win%(col%,row%,0)=check_win%(col%,row%,0)EOR16 2370IF(check_win%((col%-1),(row%+1),1))THEN 2380col%-=1:row%+=1:entry%=2:look%=2 2390PROCstore_winning_move 2400ENDIF 2410ENDIF 2430WHEN 6 2440IF(check_win%(col%,row%,0)AND32)THEN 2450check_win%(col%,row%,0)=check_win%(col%,row%,0)EOR32 2460IF(check_win%(col%,(row%+1),1))THEN 2470row%+=1:entry%=3:look%=3 2480PROCstore_winning_move 2490ENDIF 2500ENDIF 2520ENDCASE 2530ENDPROC 2600DEFPROCstore_winning_move 2620count% = count% + 1 2630winning_moves%(count%,0) = col% 2640winning_moves%(count%,1) = row% 2660ENDPROC 2740DEFPROCannounce_winner 2760IF NOT resign% THENPROCshow_winning_moves 2790PROCshow_winner_on_board 2810IF winner% = 1 THEN 2820red_wins% += 1 2830ELSE 2840blue_wins% += 1 2850ENDIF 2870PROCupdate_scores 2890win% = FALSE 2900during_game% = FALSE 2920ENDPROC 2990DEFPROCshow_winning_moves 3010PROCfind_start_end 3030y% = start% 3050PROCdisplay_win_move_on_board(start%) 3070REPEAT 3090start% = end% 3100PROCdisplay_win_move_on_board(start%) 3110start% = y% 3130WHILE NOT FNadjacent(start%, end%) 3140start% += 1 3150ENDWHILE 3170end% = start% 3180UNTIL y% = start% 3200ENDPROC 3270DEFPROCfind_start_end 3300count% = 121 3310REPEAT 3330count% = count% - 1 3350IF winning_moves%(count%,0) = 10 THENend% = count% 3360IF winning_moves%(count%,0) = 0 THENstart% = count% 3380UNTIL winning_moves%(count%,0) = 0 OR count% = 0 3400ENDPROC 3470DEFPROCdisplay_win_move_on_board(start%) 3490IF winner% = 1 THEN 3500col% = winning_moves%(start%,0) 3510row% = winning_moves%(start%,1) 3520ELSE 3530col% = winning_moves%(start%,1) 3540row% = winning_moves%(start%,0) 3550ENDIF 3570window_y% = -((10-row%)*52)-105 3580window_x% = (col%*72)+(row%*36)+10 3600PROCdelete_icon(hex_window%,hex%(col%,row%)) 3620IF winner% = 1 THEN 3630hex%(col%,row%)=FNadd_icon("sprite","win_red",hex_window%,window_x%,window_y%,0,sprites%,0) 3640ELSE 3650hex%(col%,row%)=FNadd_icon("sprite","win_blue",hex_window%,window_x%,window_y%,0,sprites%,0) 3660ENDIF 3680ENDPROC 3750DEFFNadjacent(start%, end%) 3770LOCAL col_start%, row_start%, col_end%, row_end% 3790col_start% = winning_moves%(start%,0) 3800row_start% = winning_moves%(start%,1) 3810col_end% = winning_moves%(end%,0) 3820row_end% = winning_moves%(end%,1) 3840IF col_start%-1 = col_end% AND row_start%+1 = row_end% THEN= TRUE 3850IF col_start% = col_end% AND row_start%+1 = row_end% THEN= TRUE 3860IF col_start%+1 = col_end% AND row_start% = row_end% THEN= TRUE 3870IF col_start%+1 = col_end% AND row_start%-1 = row_end% THEN= TRUE 3880IF col_start% = col_end% AND row_start%-1 = row_end% THEN= TRUE 3890IF col_start%-1 = col_end% AND row_start% = row_end% THEN= TRUE 3910= FALSE 3980DEFPROCshow_winner_on_board 4010IF winner% = 1 THEN 4020PROCput_icon_text(hex_window%,report_red%, " WINNER ") 4030IF resign% THEN 4040PROCput_icon_text(hex_window%,report_blue%,"Resigns") 4050ELSE 4060PROCput_icon_text(hex_window%,report_blue%,"") 4070ENDIF 4100PROCicon_bg_colour(hex_window%,report_red%,red%) 4110PROCicon_bg_colour(hex_window%,report_blue%,white%) 4130ELSE 4140PROCput_icon_text(hex_window%,report_blue%," WINNER ") 4160IF resign% THEN 4170PROCput_icon_text(hex_window%,report_red%, "Resigns") 4180ELSE 4190PROCput_icon_text(hex_window%,report_red%, "") 4200ENDIF 4230PROCicon_bg_colour(hex_window%,report_red%,white%) 4240PROCicon_bg_colour(hex_window%,report_blue%,blue%) 4260ENDIF 4280ENDPROC 4430DEFPROCcomputer_move 4450IF comp_count% = 0 OR level% = 1 THENPROCcopy_array 4470IF level% = 1 THENcalcs_done% = TRUE 4490IF NOT calcs_done% THEN 4510PROCscore_possible_moves 4530ELSE 4550PROCbest_move 4570PROCmark_move_on_board 4600player% = player% EOR 3 4620PROCset_hex_window_icons 4630PROCset_menu_shades 4650calcs_done% = FALSE 4660comp_count% = 0 4680ENDIF 4700ENDPROC 4770DEFPROCcopy_array 4860LOCAL X%,Y% 4880computer%() = 0 4910IF player% = 1 THEN 4930FOR X% = 0 TO 10 4940FOR Y% = 0 TO 10 4950computer%(X%,Y%,1) = board_status%(X%,Y%) 4960NEXT Y% 4970NEXT X% 4990ELSE 5010FOR X% = 0 TO 10 5020FOR Y% = 0 TO 10 5050IF board_status%(X%,Y%) THENcomputer%(Y%,X%,1) = board_status%(X%,Y%) EOR 3 5060NEXT Y% 5070NEXT X% 5090ENDIF 5110ENDPROC 5180DEFPROCbest_move 5240LOCAL highest%, count%, X%, Y%, use_this_highest%, temp% 5260highest% = -1 5270count% = 0 5280col% = 0 5290row% = 0 5310FOR Y% = 0 TO 10 5320FOR X% = 0 TO 10 5330IF computer%(X%,Y%,1) = 0 THEN 5340IF computer%(X%,Y%,0) >= highest% THEN 5350count% += 1 5360IF computer%(X%,Y%,0) > highest% THEN 5370highest% = computer%(X%,Y%,0) 5380col% = X% 5390row% = Y% 5400count% = 1 5410ENDIF 5420ENDIF 5430ENDIF 5440NEXT X% 5450NEXT Y% 5480IF count% > 1 THEN 5490use_this_highest% = RND(count%) 5500count% = 0 5510Y% = -1 5520REPEAT Y% += 1 5530X% = -1 5540REPEAT X% += 1 5550IF computer%(X%,Y%,1) = 0 AND computer%(X%,Y%,0) = highest% THEN 5560count% += 1 5570ENDIF 5580UNTIL X% = 10 OR count% = use_this_highest% 5590UNTIL count% = use_this_highest% 5600col% = X% 5610row% = Y% 5620ENDIF 5640IF player% = 2 THEN 5650temp% = col% 5660col% = row% 5670row% = temp% 5680ENDIF 5700ENDPROC 5770DEFFNa(player%):IF computer%(col%-2,row%+2,1) = player% = TRUE 5780= FALSE 5810DEFFNb(player%):IF computer%(col%-1,row%+2,1) = player% = TRUE 5820= FALSE 5850DEFFNc(player%):IF computer%(col%,row%+2,1) = player% = TRUE 5860= FALSE 5890DEFFNd(player%):IF computer%(col%+1,row%+2,1) = player% = TRUE 5900= FALSE 5930DEFFNe(player%):IF computer%(col%+2,row%+2,1) = player% = TRUE 5940= FALSE 5970DEFFNf(player%):IF computer%(col%-2,row%+1,1) = player% = TRUE 5980= FALSE 6010DEFFNg(player%):IF computer%(col%-1,row%+1,1) = player% = TRUE 6020= FALSE 6050DEFFNh(player%):IF computer%(col%,row%+1,1) = player% = TRUE 6060= FALSE 6090DEFFNi(player%):IF computer%(col%+1,row%+1,1) = player% = TRUE 6100= FALSE 6130DEFFNj(player%):IF computer%(col%+2,row%+1,1) = player% = TRUE 6140= FALSE 6170DEFFNk(player%):IF computer%(col%-2,row%,1) = player% = TRUE 6180= FALSE 6210DEFFNl(player%):IF computer%(col%-1,row%,1) = player% = TRUE 6220= FALSE 6250DEFFNm(player%):IF computer%(col%+1,row%,1) = player% = TRUE 6260= FALSE 6290DEFFNn(player%):IF computer%(col%+2,row%,1) = player% = TRUE 6300= FALSE 6330DEFFNo(player%):IF computer%(col%-2,row%-1,1) = player% = TRUE 6340= FALSE 6370DEFFNp(player%):IF computer%(col%-1,row%-1,1) = player% = TRUE 6380= FALSE 6410DEFFNq(player%):IF computer%(col%,row%-1,1) = player% = TRUE 6420= FALSE 6450DEFFNr(player%):IF computer%(col%+1,row%-1,1) = player% = TRUE 6460= FALSE 6490DEFFNs(player%):IF computer%(col%+2,row%-1,1) = player% = TRUE 6500= FALSE 6530DEFFNt(player%):IF computer%(col%-2,row%-2,1) = player% = TRUE 6540= FALSE 6570DEFFNu(player%):IF computer%(col%-1,row%-2,1) = player% = TRUE 6580= FALSE 6610DEFFNv(player%):IF computer%(col%,row%-2,1) = player% = TRUE 6620= FALSE 6650DEFFNw(player%):IF computer%(col%+1,row%-2,1) = player% = TRUE 6660= FALSE 6690DEFFNx(player%):IF computer%(col%+2,row%-2,1) = player% = TRUE 6700= FALSE 6730DEFFNaa(player%):IF computer%(col%-4,row%+2,1) = player% = TRUE 6740= FALSE 6770DEFFNab(player%):IF computer%(col%-3,row%+2,1) = player% = TRUE 6780= FALSE 6810DEFFNac(player%):IF computer%(col%-3,row%+1,1) = player% = TRUE 6820= FALSE 6850DEFFNba(player%):IF computer%(col%+4,row%-2,1) = player% = TRUE 6860= FALSE 6890DEFFNbb(player%):IF computer%(col%+3,row%-1,1) = player% = TRUE 6900= FALSE 6930DEFFNbc(player%):IF computer%(col%+3,row%-2,1) = player% = TRUE 6940= FALSE 6970DEFFNca(player%):IF computer%(col%-2,row%+4,1) = player% = TRUE 6980= FALSE 7010DEFFNcb(player%):IF computer%(col%-2,row%+3,1) = player% = TRUE 7020= FALSE 7050DEFFNcc(player%):IF computer%(col%-1,row%+3,1) = player% = TRUE 7060= FALSE 7090DEFFNda(player%):IF computer%(col%+2,row%-4,1) = player% = TRUE 7100= FALSE 7130DEFFNdb(player%):IF computer%(col%+1,row%-3,1) = player% = TRUE 7140= FALSE 7170DEFFNdc(player%):IF computer%(col%+2,row%-3,1) = player% = TRUE 7180= FALSE 7210DEFFNea(player%):IF computer%(col%-3,row%,1) = player% = TRUE 7220= FALSE 7250DEFFNeb(player%):IF computer%(col%-3,row%+3,1) = player% = TRUE 7260= FALSE 7290DEFFNec(player%):IF computer%(col%+2,row%-2,1) = player% = TRUE 7300= FALSE 7330DEFFNed(player%):IF computer%(col%+3,row%,1) = player% = TRUE 7340= FALSE 7370DEFFNef(player%):IF computer%(col%+3,row%-3,1) = player% = TRUE 7380= FALSE 7410DEFFNeg(player%):IF computer%(col%,row%-3,1) = player% = TRUE 7420= FALSE 7500DEFPROCscore_possible_moves 7520IF move% = 1 THEN 7530CASE level% OF 7540WHEN 3 :PROCl_3_initial 7550WHEN 4,5 :PROCl_4_5_initial 7560ENDCASE 7570ENDIF 7590comp_count% += 1 7610CASE comp_count% OF 7630WHEN 1 :PROC_0a 7640WHEN 2 :PROC_0b 7650WHEN 3 :PROC_0c 7660WHEN 4 :PROC_0d 7680WHEN 5 :PROC_1a 7690WHEN 6 :PROC_1b 7700WHEN 7 :PROC_1c 7710WHEN 8 :PROC_1d 7720WHEN 9 :PROC_1e 7730WHEN 10 :PROC_1f :IF level% = 2 THENcalcs_done% = TRUE 7750WHEN 11 :PROC_2a 7760WHEN 12 :PROC_2b 7770WHEN 13 :PROC_2c 7780WHEN 14 :PROC_2d 7790WHEN 15 :PROC_2e 7800WHEN 16 :PROC_2f :IF level% = 3 THENcalcs_done% = TRUE 7820WHEN 17 :PROC_3a 7830WHEN 18 :PROC_3b :IF level% = 4 THENcalcs_done% = TRUE 7850WHEN 19 :PROC_4a 7860WHEN 20 :PROC_4b 7880WHEN 21 :PROC_5a 7890WHEN 22 :PROC_5b :calcs_done% = TRUE 7910ENDCASE 7930ENDPROC 8000DEFPROCl_3_initial 8040computer%(5,5,0) = 1 8050computer%(4,5,0) = 1 8060computer%(4,6,0) = 1 8070computer%(5,6,0) = 1 8080computer%(6,5,0) = 1 8090computer%(6,4,0) = 1 8100computer%(5,4,0) = 1 8120ENDPROC 8190DEFPROCl_4_5_initial 8220computer%(5,5,0) = 1 8240ENDPROC 8310DEFPROC_0a 8330LOCAL col%, row% 8350FOR col% = 0 TO 10 8360FOR row% = 0 TO 9 8390IF computer%(col%,row%, 1) = 0 THEN 8420IF FNh(2) THEN 8450IF col% + row% > 9 THEN 8460computer%(col%,row%, 0) += 10 8480ELSE 8490computer%(col%,row%, 0) += 5 8500ENDIF 8520IF level% = 5 AND col% > 0 AND col% < 10 AND row% < 9 THEN 8530IF FNb(2) computer%(col%,row%, 0) += 1 8540IF FNc(2) computer%(col%,row%, 0) += 1 8550IF FNg(1) AND FNb(1) AND FNc(1) AND FNi(1) THENcomputer%(col%,row%, 0) = 0 8560ENDIF 8580ENDIF 8590ENDIF 8610NEXT row% 8620NEXT col% 8640ENDPROC 8710DEFPROC_0b 8730LOCAL col%, row% 8750FOR col% = 0 TO 10 8760FOR row% = 1 TO 10 8780IF computer%(col%,row%, 1) = 0 THEN 8810IF FNq(2) THEN 8840IF col% + row% < 11 THEN 8850computer%(col%,row%, 0) += 10 8870ELSE 8880computer%(col%,row%, 0) += 5 8890ENDIF 8910IF level% = 5 AND col% > 0 AND col% < 10 AND row% > 1 THEN 8920IF FNv(2) computer%(col%,row%, 0) += 1 8930IF FNw(2) computer%(col%,row%, 0) += 1 8940IF FNp(1) AND FNv(1) AND FNw(1) AND FNr(1) THENcomputer%(col%,row%, 0) = 0 8950ENDIF 8970ENDIF 8980ENDIF 9000NEXT row% 9010NEXT col% 9030ENDPROC 9100DEFPROC_0c 9120LOCAL col%, row% 9140FOR col% = 0 TO 9 9150FOR row% = 1 TO 10 9170IF computer%(col%,row%, 1) = 0 THEN 9200IF FNr(2) THEN 9210computer%(col%,row%, 0) += 2 9250IF col% + row% >9 AND FNm(1) THEN 9260computer%(col%,row%, 0) += 10 9270ENDIF 9290IF level% = 5 AND col% < 9 AND row% > 1 THEN 9300IF FNw(2) computer%(col%,row%, 0) += 1 9310IF FNx(2) computer%(col%,row%, 0) += 1 9320IF FNq(1) AND FNw(1) AND FNx(1) AND FNs(1) THENcomputer%(col%,row%, 0) = 0 9330ENDIF 9350ENDIF 9360ENDIF 9380NEXT row% 9390NEXT col% 9410ENDPROC 9480DEFPROC_0d 9500LOCAL col%, row% 9520FOR col% = 1 TO 10 9530FOR row% = 0 TO 9 9550IF computer%(col%,row%, 1) = 0 THEN 9580IF FNg(2) THEN 9590computer%(col%,row%, 0) += 2 9630IF col% + row% <11 AND FNl(1) THEN 9640computer%(col%,row%, 0) += 10 9650ENDIF 9670IF level% = 5 AND col% > 1 AND row% < 9 THEN 9680IF FNa(2) computer%(col%,row%, 0) += 1 9690IF FNb(2) computer%(col%,row%, 0) += 1 9700IF FNf(1) AND FNa(1) AND FNb(1) AND FNh(1) THENcomputer%(col%,row%, 0) = 0 9710ENDIF 9730ENDIF 9740ENDIF 9760NEXT row% 9770NEXT col% 9790ENDPROC 9860DEFPROC_1a 9880LOCAL col%, row% 9900FOR col% = 1 TO 10 9910FOR row% = 1 TO 9 9930IF computer%(col%,row%, 1) = 0 THEN 9950IF FNg(2) AND FNq(2) THEN 9960IF FNl(1) THENcomputer%(col%,row%, 0) += 10 9970IF FNl(2) THENcomputer%(col%,row%, 0) = 0 9980ENDIF 10000ENDIF 10020NEXT row% 10030NEXT col% 10050ENDPROC 10120DEFPROC_1b 10140LOCAL col%, row% 10160FOR col% = 0 TO 9 10170FOR row% = 1 TO 9 10190IF computer%(col%,row%, 1) = 0 THEN 10210IF FNh(2) AND FNr(2) THEN 10220IF FNm(1) THENcomputer%(col%,row%, 0) += 10 10230IF FNm(2) THENcomputer%(col%,row%, 0) = 0 10240ENDIF 10260ENDIF 10280NEXT row% 10290NEXT col% 10310ENDPROC 10380DEFPROC_1c 10400LOCAL col%, row% 10420FOR col% = 1 TO 10 10430FOR row% = 0 TO 9 10450IF computer%(col%,row%, 1) = 0 THEN 10470IF FNh(2) AND FNl(2) THEN 10480IF FNg(1) THENcomputer%(col%,row%, 0) += 10 10490IF FNg(2) THENcomputer%(col%,row%, 0) = 0 10500ENDIF 10520ENDIF 10540NEXT row% 10550NEXT col% 10570ENDPROC 10640DEFPROC_1d 10660LOCAL col%, row% 10680FOR col% = 0 TO 9 10690FOR row% = 1 TO 10 10710IF computer%(col%,row%, 1) = 0 THEN 10730IF FNm(2) AND FNq(2) THEN 10740IF FNr(1) THENcomputer%(col%,row%, 0) += 10 10750IF FNr(2) THENcomputer%(col%,row%, 0) = 0 10760ENDIF 10780ENDIF 10800NEXT row% 10810NEXT col% 10830ENDPROC 10900DEFPROC_1e 10920LOCAL col%, row% 10940FOR col% = 1 TO 9 10950FOR row% = 0 TO 9 10970IF computer%(col%,row%, 1) = 0 THEN 10990IF FNg(2) AND FNm(2) THEN 11000IF FNh(1) THENcomputer%(col%,row%, 0) += 10 11010IF FNh(2) THENcomputer%(col%,row%, 0) = 0 11020ENDIF 11040ENDIF 11060NEXT row% 11070NEXT col% 11090ENDPROC 11160DEFPROC_1f 11180LOCAL col%, row% 11200FOR col% = 1 TO 9 11210FOR row% = 1 TO 10 11230IF computer%(col%,row%, 1) = 0 THEN 11250IF FNl(2) AND FNr(2) THEN 11260IF FNq(1) THENcomputer%(col%,row%, 0) += 10 11270IF FNq(2) THENcomputer%(col%,row%, 0) = 0 11280ENDIF 11300ENDIF 11320NEXT row% 11330NEXT col% 11350ENDPROC 11420DEFPROC_2a 11440LOCAL col%, row% 11460FOR col% = 1 TO 10 11470FOR row% = 0 TO 9 11490IF computer%(col%,row%, 1) = 0 THEN 11510IF FNg(2) AND FNl(2) THENcomputer%(col%,row%, 0) = 0 11530ENDIF 11550NEXT row% 11560NEXT col% 11580ENDPROC 11650DEFPROC_2b 11670LOCAL col%, row% 11690FOR col% = 1 TO 10 11700FOR row% = 1 TO 10 11720IF computer%(col%,row%, 1) = 0 THEN 11740IF FNl(2) AND FNq(2) THENcomputer%(col%,row%, 0) = 0 11760ENDIF 11780NEXT row% 11790NEXT col% 11810ENDPROC 11880DEFPROC_2c 11900LOCAL col%, row% 11920FOR col% = 0 TO 9 11930FOR row% = 0 TO 9 11950IF computer%(col%,row%, 1) = 0 THEN 11970IF FNh(2) AND FNm(2) THENcomputer%(col%,row%, 0) = 0 11990ENDIF 12010NEXT row% 12020NEXT col% 12040ENDPROC 12110DEFPROC_2d 12130LOCAL col%, row% 12150FOR col% = 0 TO 9 12160FOR row% = 1 TO 10 12180IF computer%(col%,row%, 1) = 0 THEN 12200IF FNm(2) AND FNr(2) THENcomputer%(col%,row%, 0) = 0 12220ENDIF 12240NEXT row% 12250NEXT col% 12270ENDPROC 12350DEFPROC_2e 12370LOCAL col%, row% 12390FOR col% = 1 TO 10 12400FOR row% = 0 TO 9 12420IF computer%(col%,row%, 1) = 0 THEN 12440IF FNg(2) AND FNh(2) THENcomputer%(col%,row%, 0) = 0 12460ENDIF 12480NEXT row% 12490NEXT col% 12510ENDPROC 12570DEFPROC_2f 12590LOCAL col%, row% 12610FOR col% = 0 TO 9 12620FOR row% = 1 TO 10 12640IF computer%(col%,row%, 1) = 0 THEN 12660IF FNq(2) AND FNr(2) THENcomputer%(col%,row%, 0) = 0 12680ENDIF 12700NEXT row% 12710NEXT col% 12730ENDPROC 12800DEFPROC_3a 12820LOCAL col%, row% 12840FOR col% = 1 TO 9 12850FOR row% = 1 TO 9 12870IF computer%(col%,row%, 1) = 0 THEN 12900IF FNl(1) AND FNm(1) THEN 12930IF (FNq(2) OR FNr(2)) AND (NOT FNg(1) OR NOT FNh(1)) THEN 12940computer%(col%,row%, 0) += 5 12950ENDIF 12960ENDIF 12970ENDIF 12990NEXT row% 13000NEXT col% 13020ENDPROC 13100DEFPROC_3b 13120LOCAL col%, row% 13140FOR col% = 1 TO 9 13150FOR row% = 1 TO 9 13170IF computer%(col%,row%, 1) = 0 THEN 13200IF FNl(1) AND FNm(1) THEN 13230IF (FNg(2) OR FNh(2)) AND (NOT FNq(1) OR NOT FNr(1)) THEN 13240computer%(col%,row%, 0) += 5 13250ENDIF 13260ENDIF 13270ENDIF 13290NEXT row% 13300NEXT col% 13320ENDPROC 13390DEFPROC_4a 13410LOCAL col%, row% 13430FOR col% = 2 TO 10 13440FOR row% = 0 TO 8 13460IF computer%(col%,row%, 1) = 0 THEN 13490IF col% + row% <10 THEN 13510IF FNa(1) AND FNb(2) AND FNg(0) AND FNh(0) THEN 13520computer%(col%,row%, 0) += 20 13540IF level% = 5 AND row% < 8 THEN 13550IF FNa(1) AND FNcb(1) AND FNcc(1) AND FNc(1) THENcomputer%(col%,row%, 0) = 0 13560IF FNcb(2) THENcomputer%(col%,row%, 0) += 1 13570IF FNcc(2) THENcomputer%(col%,row%, 0) += 1 13590ENDIF 13600ENDIF 13610ENDIF 13620ENDIF 13640NEXT row% 13650NEXT col% 13670ENDPROC 13740DEFPROC_4b 13760LOCAL col%, row% 13780FOR col% = 0 TO 8 13790FOR row% = 2 TO 10 13810IF computer%(col%,row%, 1) = 0 THEN 13840IF col% + row% >10 THEN 13860IF FNx(1) AND FNw(2) AND FNq(0) AND FNr(0) THEN 13870computer%(col%,row%, 0) += 20 13890IF level% = 5 AND row% > 2 THEN 13900IF FNv(1) AND FNdb(1) AND FNdc(1) AND FNx(1) THENcomputer%(col%,row%, 0) = 0 13910IF FNdb(2) THENcomputer%(col%,row%, 0) += 1 13920IF FNdc(2) THENcomputer%(col%,row%, 0) += 1 13940ENDIF 13950ENDIF 13960ENDIF 13970ENDIF 13990NEXT row% 14000NEXT col% 14020ENDPROC 14090DEFPROC_5a 14110LOCAL col%, row% 14130FOR col% = 0 TO 8 14140FOR row% = 4 TO 10 14160IF computer%(col%,row%, 1) = 0 THEN 14180IF FNw(2) AND ((FNq(0) AND FNr(0))OR(FNq(2) OR FNr(2))) THEN 14190computer%(col%,row%, 0) += 3 14200IF FNda(2) AND ((FNdb(0) AND FNdc(0))OR(FNdb(2) OR FNdc(2))) THEN 14210computer%(col%,row%, 0) += 17 14220ENDIF 14230ENDIF 14240ENDIF 14260NEXT row% 14270NEXT col% 14290ENDPROC 14360DEFPROC_5b 14380LOCAL col%, row% 14400FOR col% = 2 TO 10 14410FOR row% = 0 TO 6 14430IF computer%(col%,row%, 1) = 0 THEN 14450IF FNb(2) AND ((FNg(0) AND FNh(0))OR(FNg(2) OR FNh(2))) THEN 14460computer%(col%,row%, 0) += 3 14470IF FNca(2) AND ((FNcb(0) AND FNcc(0))OR(FNcb(2) OR FNcc(2))) THEN 14480computer%(col%,row%, 0) += 17 14490ENDIF 14500ENDIF 14510ENDIF 14530NEXT row% 14540NEXT col% 14560ENDPROC
/� HEX library: Lib11_13: Section 11 and 13. ( ��dummy:� ���win_check �� move% > 20 � �� player% = 1 � ��translate_red_moves � �translate_blue_moves � ,full_check% = � 6�quick_check J� full_check% � T�initial_array_data ^�chain_hexes h� |� �� ���quick_check � col%, row%, count% col% = 0 &row% = 0 0count% = 0 D� X� check_win%(col%,row%,1) � b col% += 1 lrow% = 0 vcount% += 1 �� � row% += 1 �� �� count% = 11 � row% = 11 �"� count% = 11 �full_check% = � �� ��initial_array_data *� X%, Y% >� X% = 0 � 10 H� Y% = 0 � 10 \check_win%(X%,Y%,0) = 63 p'� X% = 0 �check_win%(X%,Y%,0) = 39 �'� X% = 10 �check_win%(X%,Y%,0) = 60 �� Y% = 0 � �check_win%(X%,Y%,0) = 57 �'� X% = 0 �check_win%(X%,Y%,0) = 33 �'� X% = 10 �check_win%(X%,Y%,0) = 56 �� �� Y% = 10 � �check_win%(X%,Y%,0) = 15 �'� X% = 0 �check_win%(X%,Y%,0) = 7 �'� X% = 10 �check_win%(X%,Y%,0) = 12 �� � Y% � X% .� t��translate_red_moves �� X%,Y% �� X% = 0 � 10 �� Y% = 0 � 10 � � board_status%(X%,Y%) = 1 � �check_win%(X%,Y%,1) = � �� �check_win%(X%,Y%,1) = � �� �� Y% � X% � Z��translate_blue_moves n� X%,Y% �� X% = 0 � 10 �� Y% = 0 � 10 � � board_status%(X%,Y%) = 2 � �check_win%(Y%,X%,1) = � �� �check_win%(Y%,X%,1) = � �� �� Y% �� X% �� @��chain_hexes Tcol% = 0 ^entry% = 4 hcount% = 0 �winning_moves%() = -1 � row% = -1 �� row% += 1 �� �!� check_win%(col%, row%, 1) � ��store_winning_move �look% = (entry% � 6) + 1 �� � �case �look% = (look% � 6) + 1 1� col% = 10 �win% = � :winner% = player% :� 7 (� win% � check_win%(col%,row%,0) = 0 &� 0E� win% � check_win%(col%,row%,0)= 0 � check_win%(col%,row%,1) = 0 :� win% � row% = 10 N� � ��case �Ȏ look% � �� 1 �!�(check_win%(col%,row%,0)�1)� �5check_win%(col%,row%,0)=check_win%(col%,row%,0)�1 �$�(check_win%((col%+1),row%,1)) � �col%+=1:entry%=4:look%=4 ��store_winning_move �� � � 2 !�(check_win%(col%,row%,0)�2)� *5check_win%(col%,row%,0)=check_win%(col%,row%,0)�2 4'�(check_win%((col%+1),(row%-1),1))� >$col%+=1:row%-=1:entry%=5:look%=5 H�store_winning_move R� \� p� 3 z!�(check_win%(col%,row%,0)�4)� �5check_win%(col%,row%,0)=check_win%(col%,row%,0)�4 �#�(check_win%(col%,(row%-1),1))� �row%-=1:entry%=6:look%=6 ��store_winning_move �� �� �� 4 �"�(check_win%(col%, row%,0)�8)� �5check_win%(col%,row%,0)=check_win%(col%,row%,0)�8 �#�(check_win%((col%-1),row%,1))� �col%-=1:entry%=1:look%=1 ��store_winning_move � � $� 5 ."�(check_win%(col%,row%,0)�16)� 86check_win%(col%,row%,0)=check_win%(col%,row%,0)�16 B'�(check_win%((col%-1),(row%+1),1))� L$col%-=1:row%+=1:entry%=2:look%=2 V�store_winning_move `� j� ~� 6 �"�(check_win%(col%,row%,0)�32)� �6check_win%(col%,row%,0)=check_win%(col%,row%,0)�32 �#�(check_win%(col%,(row%+1),1))� �row%+=1:entry%=3:look%=3 ��store_winning_move �� �� �� �� (��store_winning_move <count% = count% + 1 F#winning_moves%(count%,0) = col% P#winning_moves%(count%,1) = row% d� ���announce_winner �$� � resign% ��show_winning_moves ��show_winner_on_board �� winner% = 1 � red_wins% += 1 � blue_wins% += 1 "� 6�update_scores Jwin% = � Tduring_game% = � h� ���show_winning_moves ��find_start_end �y% = start% �'�display_win_move_on_board(start%) �� start% = end% '�display_win_move_on_board(start%) &start% = y% :!ȕ � �adjacent(start%, end%) Dstart% += 1 N� bend% = start% l� y% = start% �� ���find_start_end �count% = 121 �� count% = count% - 1 4� winning_moves%(count%,0) = 10 �end% = count% 4� winning_moves%(count%,0) = 0 �start% = count% 40� winning_moves%(count%,0) = 0 � count% = 0 H� �'��display_win_move_on_board(start%) �� winner% = 1 � �#col% = winning_moves%(start%,0) �#row% = winning_moves%(start%,1) �� �#col% = winning_moves%(start%,1) �#row% = winning_moves%(start%,0) �� �#window_y% = -((10-row%)*52)-105 �&window_x% = (col%*72)+(row%*36)+10 -�delete_icon(hex_window%,hex%(col%,row%)) $� winner% = 1 � .^hex%(col%,row%)=�add_icon("sprite","win_red",hex_window%,window_x%,window_y%,0,sprites%,0) 8� B_hex%(col%,row%)=�add_icon("sprite","win_blue",hex_window%,window_x%,window_y%,0,sprites%,0) L� `� �ݤadjacent(start%, end%) �0� col_start%, row_start%, col_end%, row_end% �)col_start% = winning_moves%(start%,0) �)row_start% = winning_moves%(start%,1) �'col_end% = winning_moves%(end%,0) �'row_end% = winning_moves%(end%,1) <� col_start%-1 = col_end% � row_start%+1 = row_end% �= � <� col_start% = col_end% � row_start%+1 = row_end% �= � <� col_start%+1 = col_end% � row_start% = row_end% �= � <� col_start%+1 = col_end% � row_start%-1 = row_end% �= � (<� col_start% = col_end% � row_start%-1 = row_end% �= � 2<� col_start%-1 = col_end% � row_start% = row_end% �= � F= � ���show_winner_on_board �� winner% = 1 � �7�put_icon_text(hex_window%,report_red%, " WINNER ") �� resign% � �6�put_icon_text(hex_window%,report_blue%,"Resigns") �� �/�put_icon_text(hex_window%,report_blue%,"") �� 1�icon_bg_colour(hex_window%,report_red%,red%) 4�icon_bg_colour(hex_window%,report_blue%,white%) "� ,7�put_icon_text(hex_window%,report_blue%," WINNER ") @� resign% � J6�put_icon_text(hex_window%,report_red%, "Resigns") T� ^/�put_icon_text(hex_window%,report_red%, "") h� �3�icon_bg_colour(hex_window%,report_red%,white%) �3�icon_bg_colour(hex_window%,report_blue%,blue%) �� �� N��computer_move b0� comp_count% = 0 � level% = 1 ��copy_array v!� level% = 1 �calcs_done% = � �� � calcs_done% � �(�score_possible_moves �� �(�best_move �(�mark_move_on_board �player% = player% � 3 (�set_hex_window_icons (�set_menu_shades *calcs_done% = � 4comp_count% = 0 H� \� ���copy_array �� X%,Y% computer%() = 0 .� player% = 1 � B� X% = 0 � 10 L� Y% = 0 � 10 V.computer%(X%,Y%,1) = board_status%(X%,Y%) `� Y% j� X% ~� �� X% = 0 � 10 �� Y% = 0 � 10 �I� board_status%(X%,Y%) �computer%(Y%,X%,1) = board_status%(X%,Y%) � 3 �� Y% �� X% �� �� <��best_move x8� highest%, count%, X%, Y%, use_this_highest%, temp% �highest% = -1 �count% = 0 �col% = 0 �row% = 0 �� Y% = 0 � 10 �� X% = 0 � 10 �� computer%(X%,Y%,1) = 0 � �&� computer%(X%,Y%,0) >= highest% � �count% += 1 �%� computer%(X%,Y%,0) > highest% � �"highest% = computer%(X%,Y%,0) col% = X% row% = Y% count% = 1 "� ,� 6� @� X% J� Y% h� count% > 1 � r!use_this_highest% = �(count%) |count% = 0 �Y% = -1 � � Y% += 1 �X% = -1 � � X% += 1 �>� computer%(X%,Y%,1) = 0 � computer%(X%,Y%,0) = highest% � �count% += 1 �� �*� X% = 10 � count% = use_this_highest% � � count% = use_this_highest% �col% = X% �row% = Y% �� � player% = 2 � temp% = col% col% = row% &row% = temp% 0� D� �;ݤa(player%):� computer%(col%-2,row%+2,1) = player% = � �= � �;ݤb(player%):� computer%(col%-1,row%+2,1) = player% = � �= � �9ݤc(player%):� computer%(col%,row%+2,1) = player% = � �= � ;ݤd(player%):� computer%(col%+1,row%+2,1) = player% = � = � *;ݤe(player%):� computer%(col%+2,row%+2,1) = player% = � 4= � R;ݤf(player%):� computer%(col%-2,row%+1,1) = player% = � \= � z;ݤg(player%):� computer%(col%-1,row%+1,1) = player% = � �= � �9ݤh(player%):� computer%(col%,row%+1,1) = player% = � �= � �;ݤi(player%):� computer%(col%+1,row%+1,1) = player% = � �= � �;ݤj(player%):� computer%(col%+2,row%+1,1) = player% = � �= � 9ݤk(player%):� computer%(col%-2,row%,1) = player% = � $= � B9ݤl(player%):� computer%(col%-1,row%,1) = player% = � L= � j9ݤm(player%):� computer%(col%+1,row%,1) = player% = � t= � �9ݤn(player%):� computer%(col%+2,row%,1) = player% = � �= � �;ݤo(player%):� computer%(col%-2,row%-1,1) = player% = � �= � �;ݤp(player%):� computer%(col%-1,row%-1,1) = player% = � �= � 9ݤq(player%):� computer%(col%,row%-1,1) = player% = � = � 2;ݤr(player%):� computer%(col%+1,row%-1,1) = player% = � <= � Z;ݤs(player%):� computer%(col%+2,row%-1,1) = player% = � d= � �;ݤt(player%):� computer%(col%-2,row%-2,1) = player% = � �= � �;ݤu(player%):� computer%(col%-1,row%-2,1) = player% = � �= � �9ݤv(player%):� computer%(col%,row%-2,1) = player% = � �= � �;ݤw(player%):� computer%(col%+1,row%-2,1) = player% = � = � ";ݤx(player%):� computer%(col%+2,row%-2,1) = player% = � ,= � J<ݤaa(player%):� computer%(col%-4,row%+2,1) = player% = � T= � r<ݤab(player%):� computer%(col%-3,row%+2,1) = player% = � |= � �<ݤac(player%):� computer%(col%-3,row%+1,1) = player% = � �= � �<ݤba(player%):� computer%(col%+4,row%-2,1) = player% = � �= � �<ݤbb(player%):� computer%(col%+3,row%-1,1) = player% = � �= � <ݤbc(player%):� computer%(col%+3,row%-2,1) = player% = � = � :<ݤca(player%):� computer%(col%-2,row%+4,1) = player% = � D= � b<ݤcb(player%):� computer%(col%-2,row%+3,1) = player% = � l= � �<ݤcc(player%):� computer%(col%-1,row%+3,1) = player% = � �= � �<ݤda(player%):� computer%(col%+2,row%-4,1) = player% = � �= � �<ݤdb(player%):� computer%(col%+1,row%-3,1) = player% = � �= � <ݤdc(player%):� computer%(col%+2,row%-3,1) = player% = � = � *:ݤea(player%):� computer%(col%-3,row%,1) = player% = � 4= � R<ݤeb(player%):� computer%(col%-3,row%+3,1) = player% = � \= � z<ݤec(player%):� computer%(col%+2,row%-2,1) = player% = � �= � �:ݤed(player%):� computer%(col%+3,row%,1) = player% = � �= � �<ݤef(player%):� computer%(col%+3,row%-3,1) = player% = � �= � �:ݤeg(player%):� computer%(col%,row%-3,1) = player% = � �= � L��score_possible_moves `� move% = 1 � jȎ level% � t� 3 :�l_3_initial ~� 4,5 :�l_4_5_initial �� �� �comp_count% += 1 �Ȏ comp_count% � �� 1 :�_0a �� 2 :�_0b �� 3 :�_0c �� 4 :�_0d � 5 :�_1a � 6 :�_1b � 7 :�_1c � 8 :�_1d (� 9 :�_1e 2-� 10 :�_1f :� level% = 2 �calcs_done% = � F� 11 :�_2a P� 12 :�_2b Z� 13 :�_2c d� 14 :�_2d n� 15 :�_2e x-� 16 :�_2f :� level% = 3 �calcs_done% = � �� 17 :�_3a �-� 18 :�_3b :� level% = 4 �calcs_done% = � �� 19 :�_4a �� 20 :�_4b �� 21 :�_5a �� 22 :�_5b :calcs_done% = � �� �� @��l_3_initial hcomputer%(5,5,0) = 1 rcomputer%(4,5,0) = 1 |computer%(4,6,0) = 1 �computer%(5,6,0) = 1 �computer%(6,5,0) = 1 �computer%(6,4,0) = 1 �computer%(5,4,0) = 1 �� ���l_4_5_initial computer%(5,5,0) = 1 0� v ��_0a �� col%, row% �� col% = 0 � 10 �� row% = 0 � 9 �#� computer%(col%,row%, 1) = 0 � � � �h(2) � !� col% + row% > 9 � !!computer%(col%,row%, 0) += 10 ! � !* computer%(col%,row%, 0) += 5 !4� !H4� level% = 5 � col% > 0 � col% < 10 � row% < 9 � !R(� �b(2) computer%(col%,row%, 0) += 1 !\(� �c(2) computer%(col%,row%, 0) += 1 !f@� �g(1) � �b(1) � �c(1) � �i(1) �computer%(col%,row%, 0) = 0 !p� !�� !�� !� � row% !� � col% !�� " ��_0b "� col%, row% ".� col% = 0 � 10 "8� row% = 1 � 10 "L#� computer%(col%,row%, 1) = 0 � "j � �q(2) � "�� col% + row% < 11 � "�!computer%(col%,row%, 0) += 10 "�� "� computer%(col%,row%, 0) += 5 "�� "�4� level% = 5 � col% > 0 � col% < 10 � row% > 1 � "�(� �v(2) computer%(col%,row%, 0) += 1 "�(� �w(2) computer%(col%,row%, 0) += 1 "�@� �p(1) � �v(1) � �w(1) � �r(1) �computer%(col%,row%, 0) = 0 "�� # � #� #( � row% #2 � col% #F� #� ��_0c #�� col%, row% #�� col% = 0 � 9 #�� row% = 1 � 10 #�#� computer%(col%,row%, 1) = 0 � #� � �r(2) � #� computer%(col%,row%, 0) += 2 $"� col% + row% >9 � �m(1) � $,!computer%(col%,row%, 0) += 10 $6� $J(� level% = 5 � col% < 9 � row% > 1 � $T(� �w(2) computer%(col%,row%, 0) += 1 $^(� �x(2) computer%(col%,row%, 0) += 1 $h@� �q(1) � �w(1) � �x(1) � �s(1) �computer%(col%,row%, 0) = 0 $r� $�� $�� $� � row% $� � col% $�� % ��_0d %� col%, row% %0� col% = 1 � 10 %:� row% = 0 � 9 %N#� computer%(col%,row%, 1) = 0 � %l � �g(2) � %v computer%(col%,row%, 0) += 2 %�� col% + row% <11 � �l(1) � %�!computer%(col%,row%, 0) += 10 %�� %�(� level% = 5 � col% > 1 � row% < 9 � %�(� �a(2) computer%(col%,row%, 0) += 1 %�(� �b(2) computer%(col%,row%, 0) += 1 %�@� �f(1) � �a(1) � �b(1) � �h(1) �computer%(col%,row%, 0) = 0 %�� &� &� & � row% &* � col% &>� &� ��_1a &�� col%, row% &�� col% = 1 � 10 &�� row% = 1 � 9 &�#� computer%(col%,row%, 1) = 0 � &�� �g(2) � �q(2) � &�*� �l(1) �computer%(col%,row%, 0) += 10 &�(� �l(2) �computer%(col%,row%, 0) = 0 &�� '� '$ � row% '. � col% 'B� '� ��_1b '�� col%, row% '�� col% = 0 � 9 '�� row% = 1 � 9 '�#� computer%(col%,row%, 1) = 0 � '�� �h(2) � �r(2) � '�*� �m(1) �computer%(col%,row%, 0) += 10 '�(� �m(2) �computer%(col%,row%, 0) = 0 ( � (� (( � row% (2 � col% (F� (� ��_1c (�� col%, row% (�� col% = 1 � 10 (�� row% = 0 � 9 (�#� computer%(col%,row%, 1) = 0 � (�� �h(2) � �l(2) � (�*� �g(1) �computer%(col%,row%, 0) += 10 (�(� �g(2) �computer%(col%,row%, 0) = 0 )� )� ), � row% )6 � col% )J� )� ��_1d )�� col%, row% )�� col% = 0 � 9 )�� row% = 1 � 10 )�#� computer%(col%,row%, 1) = 0 � )�� �m(2) � �q(2) � )�*� �r(1) �computer%(col%,row%, 0) += 10 )�(� �r(2) �computer%(col%,row%, 0) = 0 *� *� *0 � row% *: � col% *N� *� ��_1e *�� col%, row% *�� col% = 1 � 9 *�� row% = 0 � 9 *�#� computer%(col%,row%, 1) = 0 � *�� �g(2) � �m(2) � *�*� �h(1) �computer%(col%,row%, 0) += 10 +(� �h(2) �computer%(col%,row%, 0) = 0 +� + � +4 � row% +> � col% +R� +� ��_1f +�� col%, row% +�� col% = 1 � 9 +�� row% = 1 � 10 +�#� computer%(col%,row%, 1) = 0 � +�� �l(2) � �r(2) � +�*� �q(1) �computer%(col%,row%, 0) += 10 ,(� �q(2) �computer%(col%,row%, 0) = 0 ,� ,$� ,8 � row% ,B � col% ,V� ,� ��_2a ,�� col%, row% ,�� col% = 1 � 10 ,�� row% = 0 � 9 ,�#� computer%(col%,row%, 1) = 0 � ,�0� �g(2) � �l(2) �computer%(col%,row%, 0) = 0 - � - � row% -( � col% -<� -� ��_2b -�� col%, row% -�� col% = 1 � 10 -�� row% = 1 � 10 -�#� computer%(col%,row%, 1) = 0 � -�0� �l(2) � �q(2) �computer%(col%,row%, 0) = 0 -�� . � row% . � col% ."� .h ��_2c .|� col%, row% .�� col% = 0 � 9 .�� row% = 0 � 9 .�#� computer%(col%,row%, 1) = 0 � .�0� �h(2) � �m(2) �computer%(col%,row%, 0) = 0 .�� .� � row% .� � col% /� /N ��_2d /b� col%, row% /v� col% = 0 � 9 /�� row% = 1 � 10 /�#� computer%(col%,row%, 1) = 0 � /�0� �m(2) � �r(2) �computer%(col%,row%, 0) = 0 /�� /� � row% /� � col% /�� 0> ��_2e 0R� col%, row% 0f� col% = 1 � 10 0p� row% = 0 � 9 0�#� computer%(col%,row%, 1) = 0 � 0�0� �g(2) � �h(2) �computer%(col%,row%, 0) = 0 0�� 0� � row% 0� � col% 0�� 1 ��_2f 1.� col%, row% 1B� col% = 0 � 9 1L� row% = 1 � 10 1`#� computer%(col%,row%, 1) = 0 � 1t0� �q(2) � �r(2) �computer%(col%,row%, 0) = 0 1�� 1� � row% 1� � col% 1�� 2 ��_3a 2� col%, row% 2(� col% = 1 � 9 22� row% = 1 � 9 2F#� computer%(col%,row%, 1) = 0 � 2d� �l(1) � �m(1) � 2�-� (�q(2) � �r(2)) � (� �g(1) � � �h(1)) � 2� computer%(col%,row%, 0) += 5 2�� 2�� 2�� 2� � row% 2� � col% 2�� 3, ��_3b 3@� col%, row% 3T� col% = 1 � 9 3^� row% = 1 � 9 3r#� computer%(col%,row%, 1) = 0 � 3�� �l(1) � �m(1) � 3�-� (�g(2) � �h(2)) � (� �q(1) � � �r(1)) � 3� computer%(col%,row%, 0) += 5 3�� 3�� 3�� 3� � row% 3� � col% 4� 4N ��_4a 4b� col%, row% 4v� col% = 2 � 10 4�� row% = 0 � 8 4�#� computer%(col%,row%, 1) = 0 � 4�� col% + row% <10 � 4�%� �a(1) � �b(2) � �g(0) � �h(0) � 4�!computer%(col%,row%, 0) += 20 4�� level% = 5 � row% < 8 � 4�B� �a(1) � �cb(1) � �cc(1) � �c(1) �computer%(col%,row%, 0) = 0 4�*� �cb(2) �computer%(col%,row%, 0) += 1 5*� �cc(2) �computer%(col%,row%, 0) += 1 5� 5 � 5*� 54� 5H � row% 5R � col% 5f� 5� ��_4b 5�� col%, row% 5�� col% = 0 � 8 5�� row% = 2 � 10 5�#� computer%(col%,row%, 1) = 0 � 6� col% + row% >10 � 6$%� �x(1) � �w(2) � �q(0) � �r(0) � 6.!computer%(col%,row%, 0) += 20 6B� level% = 5 � row% > 2 � 6LB� �v(1) � �db(1) � �dc(1) � �x(1) �computer%(col%,row%, 0) = 0 6V*� �db(2) �computer%(col%,row%, 0) += 1 6`*� �dc(2) �computer%(col%,row%, 0) += 1 6t� 6~� 6�� 6�� 6� � row% 6� � col% 6�� 7 ��_5a 7� col%, row% 72� col% = 0 � 8 7<� row% = 4 � 10 7P#� computer%(col%,row%, 1) = 0 � 7d1� �w(2) � ((�q(0) � �r(0))�(�q(2) � �r(2))) � 7n computer%(col%,row%, 0) += 3 7x6� �da(2) � ((�db(0) � �dc(0))�(�db(2) � �dc(2))) � 7�!computer%(col%,row%, 0) += 17 7�� 7�� 7�� 7� � row% 7� � col% 7�� 8 ��_5b 8,� col%, row% 8@� col% = 2 � 10 8J� row% = 0 � 6 8^#� computer%(col%,row%, 1) = 0 � 8r1� �b(2) � ((�g(0) � �h(0))�(�g(2) � �h(2))) � 8| computer%(col%,row%, 0) += 3 8�6� �ca(2) � ((�cb(0) � �cc(0))�(�cb(2) � �cc(2))) � 8�!computer%(col%,row%, 0) += 17 8�� 8�� 8�� 8� � row% 8� � col% 8�� �
00000000 0d 00 0a 2f f4 20 48 45 58 20 6c 69 62 72 61 72 |.../. HEX librar| 00000010 79 3a 20 4c 69 62 31 31 5f 31 33 3a 20 53 65 63 |y: Lib11_13: Sec| 00000020 74 69 6f 6e 20 31 31 20 61 6e 64 20 31 33 2e 0d |tion 11 and 13..| 00000030 00 28 0d dd f2 64 75 6d 6d 79 3a e1 0d 00 be 0f |.(...dummy:.....| 00000040 dd f2 77 69 6e 5f 63 68 65 63 6b 0d 00 dc 12 e7 |..win_check.....| 00000050 20 6d 6f 76 65 25 20 3e 20 32 30 20 8c 0d 00 f0 | move% > 20 ....| 00000060 13 e7 20 70 6c 61 79 65 72 25 20 3d 20 31 20 8c |.. player% = 1 .| 00000070 0d 00 fa 1b f2 74 72 61 6e 73 6c 61 74 65 5f 72 |.....translate_r| 00000080 65 64 5f 6d 6f 76 65 73 20 20 20 0d 01 04 05 cc |ed_moves .....| 00000090 0d 01 0e 1b f2 74 72 61 6e 73 6c 61 74 65 5f 62 |.....translate_b| 000000a0 6c 75 65 5f 6d 6f 76 65 73 20 20 0d 01 18 05 cd |lue_moves .....| 000000b0 0d 01 2c 13 66 75 6c 6c 5f 63 68 65 63 6b 25 20 |..,.full_check% | 000000c0 3d 20 a3 0d 01 36 1d f2 71 75 69 63 6b 5f 63 68 |= ...6..quick_ch| 000000d0 65 63 6b 20 20 20 20 20 20 20 20 20 20 20 20 20 |eck | 000000e0 0d 01 4a 13 e7 20 66 75 6c 6c 5f 63 68 65 63 6b |..J.. full_check| 000000f0 25 20 8c 0d 01 54 1b f2 69 6e 69 74 69 61 6c 5f |% ...T..initial_| 00000100 61 72 72 61 79 5f 64 61 74 61 20 20 20 20 0d 01 |array_data ..| 00000110 5e 1b f2 63 68 61 69 6e 5f 68 65 78 65 73 20 20 |^..chain_hexes | 00000120 20 20 20 20 20 20 20 20 20 0d 01 68 05 cd 0d 01 | ..h....| 00000130 7c 05 cd 0d 01 90 05 e1 0d 01 d6 11 dd f2 71 75 ||.............qu| 00000140 69 63 6b 5f 63 68 65 63 6b 0d 02 08 18 ea 20 63 |ick_check..... c| 00000150 6f 6c 25 2c 20 72 6f 77 25 2c 20 63 6f 75 6e 74 |ol%, row%, count| 00000160 25 0d 02 1c 0e 63 6f 6c 25 20 20 20 3d 20 30 0d |%....col% = 0.| 00000170 02 26 0e 72 6f 77 25 20 20 20 3d 20 30 0d 02 30 |.&.row% = 0..0| 00000180 0e 63 6f 75 6e 74 25 20 3d 20 30 0d 02 44 05 f5 |.count% = 0..D..| 00000190 0d 02 58 1f e7 20 63 68 65 63 6b 5f 77 69 6e 25 |..X.. check_win%| 000001a0 28 63 6f 6c 25 2c 72 6f 77 25 2c 31 29 20 8c 0d |(col%,row%,1) ..| 000001b0 02 62 0d 63 6f 6c 25 20 2b 3d 20 31 0d 02 6c 0c |.b.col% += 1..l.| 000001c0 72 6f 77 25 20 3d 20 30 0d 02 76 0f 63 6f 75 6e |row% = 0..v.coun| 000001d0 74 25 20 2b 3d 20 31 0d 02 80 05 cc 0d 02 8a 0d |t% += 1.........| 000001e0 72 6f 77 25 20 2b 3d 20 31 0d 02 94 05 cd 0d 02 |row% += 1.......| 000001f0 a8 1d fd 20 63 6f 75 6e 74 25 20 3d 20 31 31 20 |... count% = 11 | 00000200 84 20 72 6f 77 25 20 3d 20 31 31 0d 02 bc 22 e7 |. row% = 11...".| 00000210 20 63 6f 75 6e 74 25 20 3d 20 31 31 20 8c 66 75 | count% = 11 .fu| 00000220 6c 6c 5f 63 68 65 63 6b 25 20 3d 20 b9 0d 02 d0 |ll_check% = ....| 00000230 05 e1 0d 03 16 18 dd f2 69 6e 69 74 69 61 6c 5f |........initial_| 00000240 61 72 72 61 79 5f 64 61 74 61 0d 03 2a 0c ea 20 |array_data..*.. | 00000250 58 25 2c 20 59 25 0d 03 3e 11 e3 20 58 25 20 3d |X%, Y%..>.. X% =| 00000260 20 30 20 b8 20 31 30 0d 03 48 11 e3 20 59 25 20 | 0 . 10..H.. Y% | 00000270 3d 20 30 20 b8 20 31 30 0d 03 5c 1c 63 68 65 63 |= 0 . 10..\.chec| 00000280 6b 5f 77 69 6e 25 28 58 25 2c 59 25 2c 30 29 20 |k_win%(X%,Y%,0) | 00000290 3d 20 36 33 0d 03 70 27 e7 20 58 25 20 3d 20 20 |= 63..p'. X% = | 000002a0 30 20 8c 63 68 65 63 6b 5f 77 69 6e 25 28 58 25 |0 .check_win%(X%| 000002b0 2c 59 25 2c 30 29 20 3d 20 33 39 0d 03 84 27 e7 |,Y%,0) = 39...'.| 000002c0 20 58 25 20 3d 20 31 30 20 8c 63 68 65 63 6b 5f | X% = 10 .check_| 000002d0 77 69 6e 25 28 58 25 2c 59 25 2c 30 29 20 3d 20 |win%(X%,Y%,0) = | 000002e0 36 30 0d 03 98 0e e7 20 59 25 20 3d 20 30 20 8c |60..... Y% = 0 .| 000002f0 0d 03 a2 1c 63 68 65 63 6b 5f 77 69 6e 25 28 58 |....check_win%(X| 00000300 25 2c 59 25 2c 30 29 20 3d 20 35 37 0d 03 ac 27 |%,Y%,0) = 57...'| 00000310 e7 20 58 25 20 3d 20 20 30 20 8c 63 68 65 63 6b |. X% = 0 .check| 00000320 5f 77 69 6e 25 28 58 25 2c 59 25 2c 30 29 20 3d |_win%(X%,Y%,0) =| 00000330 20 33 33 0d 03 b6 27 e7 20 58 25 20 3d 20 31 30 | 33...'. X% = 10| 00000340 20 8c 63 68 65 63 6b 5f 77 69 6e 25 28 58 25 2c | .check_win%(X%,| 00000350 59 25 2c 30 29 20 3d 20 35 36 0d 03 c0 05 cd 0d |Y%,0) = 56......| 00000360 03 d4 0f e7 20 59 25 20 3d 20 31 30 20 8c 0d 03 |.... Y% = 10 ...| 00000370 de 1c 63 68 65 63 6b 5f 77 69 6e 25 28 58 25 2c |..check_win%(X%,| 00000380 59 25 2c 30 29 20 3d 20 31 35 0d 03 e8 27 e7 20 |Y%,0) = 15...'. | 00000390 58 25 20 3d 20 20 30 20 8c 63 68 65 63 6b 5f 77 |X% = 0 .check_w| 000003a0 69 6e 25 28 58 25 2c 59 25 2c 30 29 20 3d 20 20 |in%(X%,Y%,0) = | 000003b0 37 0d 03 f2 27 e7 20 58 25 20 3d 20 31 30 20 8c |7...'. X% = 10 .| 000003c0 63 68 65 63 6b 5f 77 69 6e 25 28 58 25 2c 59 25 |check_win%(X%,Y%| 000003d0 2c 30 29 20 3d 20 31 32 0d 03 fc 05 cd 0d 04 10 |,0) = 12........| 000003e0 08 ed 20 59 25 0d 04 1a 08 ed 20 58 25 0d 04 2e |.. Y%..... X%...| 000003f0 05 e1 0d 04 74 1a dd f2 74 72 61 6e 73 6c 61 74 |....t...translat| 00000400 65 5f 72 65 64 5f 6d 6f 76 65 73 20 0d 04 88 0b |e_red_moves ....| 00000410 ea 20 58 25 2c 59 25 0d 04 9c 11 e3 20 58 25 20 |. X%,Y%..... X% | 00000420 3d 20 30 20 b8 20 31 30 0d 04 a6 11 e3 20 59 25 |= 0 . 10..... Y%| 00000430 20 3d 20 30 20 b8 20 31 30 0d 04 ba 20 e7 20 62 | = 0 . 10... . b| 00000440 6f 61 72 64 5f 73 74 61 74 75 73 25 28 58 25 2c |oard_status%(X%,| 00000450 59 25 29 20 3d 20 31 20 8c 0d 04 c4 1b 63 68 65 |Y%) = 1 .....che| 00000460 63 6b 5f 77 69 6e 25 28 58 25 2c 59 25 2c 31 29 |ck_win%(X%,Y%,1)| 00000470 20 3d 20 b9 0d 04 ce 05 cc 0d 04 d8 1b 63 68 65 | = ..........che| 00000480 63 6b 5f 77 69 6e 25 28 58 25 2c 59 25 2c 31 29 |ck_win%(X%,Y%,1)| 00000490 20 3d 20 a3 0d 04 e2 05 cd 0d 04 f6 08 ed 20 59 | = ........... Y| 000004a0 25 0d 05 00 08 ed 20 58 25 0d 05 14 05 e1 0d 05 |%..... X%.......| 000004b0 5a 1b dd f2 74 72 61 6e 73 6c 61 74 65 5f 62 6c |Z...translate_bl| 000004c0 75 65 5f 6d 6f 76 65 73 20 0d 05 6e 0b ea 20 58 |ue_moves ..n.. X| 000004d0 25 2c 59 25 0d 05 82 11 e3 20 58 25 20 3d 20 30 |%,Y%..... X% = 0| 000004e0 20 b8 20 31 30 0d 05 8c 11 e3 20 59 25 20 3d 20 | . 10..... Y% = | 000004f0 30 20 b8 20 31 30 0d 05 a0 20 e7 20 62 6f 61 72 |0 . 10... . boar| 00000500 64 5f 73 74 61 74 75 73 25 28 58 25 2c 59 25 29 |d_status%(X%,Y%)| 00000510 20 3d 20 32 20 8c 0d 05 aa 1b 63 68 65 63 6b 5f | = 2 .....check_| 00000520 77 69 6e 25 28 59 25 2c 58 25 2c 31 29 20 3d 20 |win%(Y%,X%,1) = | 00000530 b9 0d 05 b4 05 cc 0d 05 be 1b 63 68 65 63 6b 5f |..........check_| 00000540 77 69 6e 25 28 59 25 2c 58 25 2c 31 29 20 3d 20 |win%(Y%,X%,1) = | 00000550 a3 0d 05 c8 05 cd 0d 05 dc 08 ed 20 59 25 0d 05 |........... Y%..| 00000560 e6 08 ed 20 58 25 0d 05 fa 05 e1 0d 06 40 11 dd |... X%.......@..| 00000570 f2 63 68 61 69 6e 5f 68 65 78 65 73 0d 06 54 12 |.chain_hexes..T.| 00000580 63 6f 6c 25 20 20 20 20 20 20 20 3d 20 30 0d 06 |col% = 0..| 00000590 5e 12 65 6e 74 72 79 25 20 20 20 20 20 3d 20 34 |^.entry% = 4| 000005a0 0d 06 68 13 63 6f 75 6e 74 25 20 20 20 20 20 3d |..h.count% =| 000005b0 20 30 20 0d 06 86 19 77 69 6e 6e 69 6e 67 5f 6d | 0 ....winning_m| 000005c0 6f 76 65 73 25 28 29 20 3d 20 2d 31 0d 06 9a 0d |oves%() = -1....| 000005d0 72 6f 77 25 20 3d 20 2d 31 0d 06 a4 0f f5 20 72 |row% = -1..... r| 000005e0 6f 77 25 20 2b 3d 20 31 0d 06 ae 05 f5 0d 06 c2 |ow% += 1........| 000005f0 21 e7 20 63 68 65 63 6b 5f 77 69 6e 25 28 63 6f |!. check_win%(co| 00000600 6c 25 2c 20 72 6f 77 25 2c 20 31 29 20 8c 0d 06 |l%, row%, 1) ...| 00000610 cc 17 f2 73 74 6f 72 65 5f 77 69 6e 6e 69 6e 67 |...store_winning| 00000620 5f 6d 6f 76 65 0d 06 d6 1d 6c 6f 6f 6b 25 20 20 |_move....look% | 00000630 3d 20 28 65 6e 74 72 79 25 20 83 20 36 29 20 2b |= (entry% . 6) +| 00000640 20 31 0d 06 ea 05 f5 0d 06 f4 0a f2 63 61 73 65 | 1..........case| 00000650 20 0d 06 fe 1c 6c 6f 6f 6b 25 20 20 3d 20 28 6c | ....look% = (l| 00000660 6f 6f 6b 25 20 83 20 36 29 20 2b 20 31 0d 07 08 |ook% . 6) + 1...| 00000670 31 e7 20 63 6f 6c 25 20 3d 20 31 30 20 8c 77 69 |1. col% = 10 .wi| 00000680 6e 25 20 3d 20 b9 20 3a 77 69 6e 6e 65 72 25 20 |n% = . :winner% | 00000690 3d 20 70 6c 61 79 65 72 25 20 3a ef 20 37 0d 07 |= player% :. 7..| 000006a0 12 28 fd 20 77 69 6e 25 20 84 20 63 68 65 63 6b |.(. win% . check| 000006b0 5f 77 69 6e 25 28 63 6f 6c 25 2c 72 6f 77 25 2c |_win%(col%,row%,| 000006c0 30 29 20 3d 20 30 0d 07 26 05 cd 0d 07 30 45 fd |0) = 0..&....0E.| 000006d0 20 77 69 6e 25 20 84 20 63 68 65 63 6b 5f 77 69 | win% . check_wi| 000006e0 6e 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 30 29 3d |n%(col%,row%,0)=| 000006f0 20 30 20 84 20 63 68 65 63 6b 5f 77 69 6e 25 28 | 0 . check_win%(| 00000700 63 6f 6c 25 2c 72 6f 77 25 2c 31 29 20 3d 20 30 |col%,row%,1) = 0| 00000710 0d 07 3a 16 fd 20 77 69 6e 25 20 84 20 72 6f 77 |..:.. win% . row| 00000720 25 20 3d 20 31 30 0d 07 4e 05 e1 0d 07 94 0a dd |% = 10..N.......| 00000730 f2 63 61 73 65 0d 07 a8 0e c8 8e 20 6c 6f 6f 6b |.case...... look| 00000740 25 20 ca 0d 07 bc 08 c9 20 31 20 0d 07 c6 21 e7 |% ...... 1 ...!.| 00000750 28 63 68 65 63 6b 5f 77 69 6e 25 28 63 6f 6c 25 |(check_win%(col%| 00000760 2c 72 6f 77 25 2c 30 29 80 31 29 8c 0d 07 d0 35 |,row%,0).1)....5| 00000770 63 68 65 63 6b 5f 77 69 6e 25 28 63 6f 6c 25 2c |check_win%(col%,| 00000780 72 6f 77 25 2c 30 29 3d 63 68 65 63 6b 5f 77 69 |row%,0)=check_wi| 00000790 6e 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 30 29 82 |n%(col%,row%,0).| 000007a0 31 0d 07 da 24 e7 28 63 68 65 63 6b 5f 77 69 6e |1...$.(check_win| 000007b0 25 28 28 63 6f 6c 25 2b 31 29 2c 72 6f 77 25 2c |%((col%+1),row%,| 000007c0 31 29 29 20 8c 0d 07 e4 1c 63 6f 6c 25 2b 3d 31 |1)) .....col%+=1| 000007d0 3a 65 6e 74 72 79 25 3d 34 3a 6c 6f 6f 6b 25 3d |:entry%=4:look%=| 000007e0 34 0d 07 ee 18 f2 73 74 6f 72 65 5f 77 69 6e 6e |4.....store_winn| 000007f0 69 6e 67 5f 6d 6f 76 65 20 0d 07 f8 05 cd 0d 08 |ing_move .......| 00000800 02 05 cd 0d 08 16 08 c9 20 32 20 0d 08 20 21 e7 |........ 2 .. !.| 00000810 28 63 68 65 63 6b 5f 77 69 6e 25 28 63 6f 6c 25 |(check_win%(col%| 00000820 2c 72 6f 77 25 2c 30 29 80 32 29 8c 0d 08 2a 35 |,row%,0).2)...*5| 00000830 63 68 65 63 6b 5f 77 69 6e 25 28 63 6f 6c 25 2c |check_win%(col%,| 00000840 72 6f 77 25 2c 30 29 3d 63 68 65 63 6b 5f 77 69 |row%,0)=check_wi| 00000850 6e 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 30 29 82 |n%(col%,row%,0).| 00000860 32 0d 08 34 27 e7 28 63 68 65 63 6b 5f 77 69 6e |2..4'.(check_win| 00000870 25 28 28 63 6f 6c 25 2b 31 29 2c 28 72 6f 77 25 |%((col%+1),(row%| 00000880 2d 31 29 2c 31 29 29 8c 0d 08 3e 24 63 6f 6c 25 |-1),1))...>$col%| 00000890 2b 3d 31 3a 72 6f 77 25 2d 3d 31 3a 65 6e 74 72 |+=1:row%-=1:entr| 000008a0 79 25 3d 35 3a 6c 6f 6f 6b 25 3d 35 0d 08 48 18 |y%=5:look%=5..H.| 000008b0 f2 73 74 6f 72 65 5f 77 69 6e 6e 69 6e 67 5f 6d |.store_winning_m| 000008c0 6f 76 65 20 0d 08 52 05 cd 0d 08 5c 05 cd 0d 08 |ove ..R....\....| 000008d0 70 08 c9 20 33 20 0d 08 7a 21 e7 28 63 68 65 63 |p.. 3 ..z!.(chec| 000008e0 6b 5f 77 69 6e 25 28 63 6f 6c 25 2c 72 6f 77 25 |k_win%(col%,row%| 000008f0 2c 30 29 80 34 29 8c 0d 08 84 35 63 68 65 63 6b |,0).4)....5check| 00000900 5f 77 69 6e 25 28 63 6f 6c 25 2c 72 6f 77 25 2c |_win%(col%,row%,| 00000910 30 29 3d 63 68 65 63 6b 5f 77 69 6e 25 28 63 6f |0)=check_win%(co| 00000920 6c 25 2c 72 6f 77 25 2c 30 29 82 34 0d 08 8e 23 |l%,row%,0).4...#| 00000930 e7 28 63 68 65 63 6b 5f 77 69 6e 25 28 63 6f 6c |.(check_win%(col| 00000940 25 2c 28 72 6f 77 25 2d 31 29 2c 31 29 29 8c 0d |%,(row%-1),1))..| 00000950 08 98 1c 72 6f 77 25 2d 3d 31 3a 65 6e 74 72 79 |...row%-=1:entry| 00000960 25 3d 36 3a 6c 6f 6f 6b 25 3d 36 0d 08 a2 18 f2 |%=6:look%=6.....| 00000970 73 74 6f 72 65 5f 77 69 6e 6e 69 6e 67 5f 6d 6f |store_winning_mo| 00000980 76 65 20 0d 08 ac 05 cd 0d 08 b6 05 cd 0d 08 ca |ve .............| 00000990 08 c9 20 34 20 0d 08 d4 22 e7 28 63 68 65 63 6b |.. 4 ...".(check| 000009a0 5f 77 69 6e 25 28 63 6f 6c 25 2c 20 72 6f 77 25 |_win%(col%, row%| 000009b0 2c 30 29 80 38 29 8c 0d 08 de 35 63 68 65 63 6b |,0).8)....5check| 000009c0 5f 77 69 6e 25 28 63 6f 6c 25 2c 72 6f 77 25 2c |_win%(col%,row%,| 000009d0 30 29 3d 63 68 65 63 6b 5f 77 69 6e 25 28 63 6f |0)=check_win%(co| 000009e0 6c 25 2c 72 6f 77 25 2c 30 29 82 38 0d 08 e8 23 |l%,row%,0).8...#| 000009f0 e7 28 63 68 65 63 6b 5f 77 69 6e 25 28 28 63 6f |.(check_win%((co| 00000a00 6c 25 2d 31 29 2c 72 6f 77 25 2c 31 29 29 8c 0d |l%-1),row%,1))..| 00000a10 08 f2 1c 63 6f 6c 25 2d 3d 31 3a 65 6e 74 72 79 |...col%-=1:entry| 00000a20 25 3d 31 3a 6c 6f 6f 6b 25 3d 31 0d 08 fc 18 f2 |%=1:look%=1.....| 00000a30 73 74 6f 72 65 5f 77 69 6e 6e 69 6e 67 5f 6d 6f |store_winning_mo| 00000a40 76 65 20 0d 09 06 05 cd 0d 09 10 05 cd 0d 09 24 |ve ............$| 00000a50 08 c9 20 35 20 0d 09 2e 22 e7 28 63 68 65 63 6b |.. 5 ...".(check| 00000a60 5f 77 69 6e 25 28 63 6f 6c 25 2c 72 6f 77 25 2c |_win%(col%,row%,| 00000a70 30 29 80 31 36 29 8c 0d 09 38 36 63 68 65 63 6b |0).16)...86check| 00000a80 5f 77 69 6e 25 28 63 6f 6c 25 2c 72 6f 77 25 2c |_win%(col%,row%,| 00000a90 30 29 3d 63 68 65 63 6b 5f 77 69 6e 25 28 63 6f |0)=check_win%(co| 00000aa0 6c 25 2c 72 6f 77 25 2c 30 29 82 31 36 0d 09 42 |l%,row%,0).16..B| 00000ab0 27 e7 28 63 68 65 63 6b 5f 77 69 6e 25 28 28 63 |'.(check_win%((c| 00000ac0 6f 6c 25 2d 31 29 2c 28 72 6f 77 25 2b 31 29 2c |ol%-1),(row%+1),| 00000ad0 31 29 29 8c 0d 09 4c 24 63 6f 6c 25 2d 3d 31 3a |1))...L$col%-=1:| 00000ae0 72 6f 77 25 2b 3d 31 3a 65 6e 74 72 79 25 3d 32 |row%+=1:entry%=2| 00000af0 3a 6c 6f 6f 6b 25 3d 32 0d 09 56 18 f2 73 74 6f |:look%=2..V..sto| 00000b00 72 65 5f 77 69 6e 6e 69 6e 67 5f 6d 6f 76 65 20 |re_winning_move | 00000b10 0d 09 60 05 cd 0d 09 6a 05 cd 0d 09 7e 08 c9 20 |..`....j....~.. | 00000b20 36 20 0d 09 88 22 e7 28 63 68 65 63 6b 5f 77 69 |6 ...".(check_wi| 00000b30 6e 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 30 29 80 |n%(col%,row%,0).| 00000b40 33 32 29 8c 0d 09 92 36 63 68 65 63 6b 5f 77 69 |32)....6check_wi| 00000b50 6e 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 30 29 3d |n%(col%,row%,0)=| 00000b60 63 68 65 63 6b 5f 77 69 6e 25 28 63 6f 6c 25 2c |check_win%(col%,| 00000b70 72 6f 77 25 2c 30 29 82 33 32 0d 09 9c 23 e7 28 |row%,0).32...#.(| 00000b80 63 68 65 63 6b 5f 77 69 6e 25 28 63 6f 6c 25 2c |check_win%(col%,| 00000b90 28 72 6f 77 25 2b 31 29 2c 31 29 29 8c 0d 09 a6 |(row%+1),1))....| 00000ba0 1c 72 6f 77 25 2b 3d 31 3a 65 6e 74 72 79 25 3d |.row%+=1:entry%=| 00000bb0 33 3a 6c 6f 6f 6b 25 3d 33 0d 09 b0 18 f2 73 74 |3:look%=3.....st| 00000bc0 6f 72 65 5f 77 69 6e 6e 69 6e 67 5f 6d 6f 76 65 |ore_winning_move| 00000bd0 20 0d 09 ba 05 cd 0d 09 c4 05 cd 0d 09 d8 05 cb | ...............| 00000be0 0d 09 e2 05 e1 0d 0a 28 18 dd f2 73 74 6f 72 65 |.......(...store| 00000bf0 5f 77 69 6e 6e 69 6e 67 5f 6d 6f 76 65 0d 0a 3c |_winning_move..<| 00000c00 17 63 6f 75 6e 74 25 20 3d 20 63 6f 75 6e 74 25 |.count% = count%| 00000c10 20 2b 20 31 0d 0a 46 23 77 69 6e 6e 69 6e 67 5f | + 1..F#winning_| 00000c20 6d 6f 76 65 73 25 28 63 6f 75 6e 74 25 2c 30 29 |moves%(count%,0)| 00000c30 20 3d 20 63 6f 6c 25 0d 0a 50 23 77 69 6e 6e 69 | = col%..P#winni| 00000c40 6e 67 5f 6d 6f 76 65 73 25 28 63 6f 75 6e 74 25 |ng_moves%(count%| 00000c50 2c 31 29 20 3d 20 72 6f 77 25 0d 0a 64 05 e1 0d |,1) = row%..d...| 00000c60 0a b4 15 dd f2 61 6e 6e 6f 75 6e 63 65 5f 77 69 |.....announce_wi| 00000c70 6e 6e 65 72 0d 0a c8 24 e7 20 ac 20 72 65 73 69 |nner...$. . resi| 00000c80 67 6e 25 20 8c f2 73 68 6f 77 5f 77 69 6e 6e 69 |gn% ..show_winni| 00000c90 6e 67 5f 6d 6f 76 65 73 0d 0a e6 19 f2 73 68 6f |ng_moves.....sho| 00000ca0 77 5f 77 69 6e 6e 65 72 5f 6f 6e 5f 62 6f 61 72 |w_winner_on_boar| 00000cb0 64 0d 0a fa 13 e7 20 77 69 6e 6e 65 72 25 20 3d |d..... winner% =| 00000cc0 20 31 20 8c 0d 0b 04 12 72 65 64 5f 77 69 6e 73 | 1 .....red_wins| 00000cd0 25 20 2b 3d 20 31 0d 0b 0e 05 cc 0d 0b 18 13 62 |% += 1.........b| 00000ce0 6c 75 65 5f 77 69 6e 73 25 20 2b 3d 20 31 0d 0b |lue_wins% += 1..| 00000cf0 22 05 cd 0d 0b 36 13 f2 75 70 64 61 74 65 5f 73 |"....6..update_s| 00000d00 63 6f 72 65 73 20 0d 0b 4a 14 77 69 6e 25 20 20 |cores ..J.win% | 00000d10 20 20 20 20 20 20 20 3d 20 a3 0d 0b 54 14 64 75 | = ...T.du| 00000d20 72 69 6e 67 5f 67 61 6d 65 25 20 3d 20 a3 0d 0b |ring_game% = ...| 00000d30 68 05 e1 0d 0b ae 18 dd f2 73 68 6f 77 5f 77 69 |h........show_wi| 00000d40 6e 6e 69 6e 67 5f 6d 6f 76 65 73 0d 0b c2 14 f2 |nning_moves.....| 00000d50 66 69 6e 64 5f 73 74 61 72 74 5f 65 6e 64 20 0d |find_start_end .| 00000d60 0b d6 0f 79 25 20 3d 20 73 74 61 72 74 25 0d 0b |...y% = start%..| 00000d70 ea 27 f2 64 69 73 70 6c 61 79 5f 77 69 6e 5f 6d |.'.display_win_m| 00000d80 6f 76 65 5f 6f 6e 5f 62 6f 61 72 64 28 73 74 61 |ove_on_board(sta| 00000d90 72 74 25 29 20 0d 0b fe 05 f5 0d 0c 12 11 73 74 |rt%) .........st| 00000da0 61 72 74 25 20 3d 20 65 6e 64 25 0d 0c 1c 27 f2 |art% = end%...'.| 00000db0 64 69 73 70 6c 61 79 5f 77 69 6e 5f 6d 6f 76 65 |display_win_move| 00000dc0 5f 6f 6e 5f 62 6f 61 72 64 28 73 74 61 72 74 25 |_on_board(start%| 00000dd0 29 20 0d 0c 26 0f 73 74 61 72 74 25 20 3d 20 79 |) ..&.start% = y| 00000de0 25 0d 0c 3a 21 c8 95 20 ac 20 a4 61 64 6a 61 63 |%..:!.. . .adjac| 00000df0 65 6e 74 28 73 74 61 72 74 25 2c 20 65 6e 64 25 |ent(start%, end%| 00000e00 29 20 0d 0c 44 0f 73 74 61 72 74 25 20 2b 3d 20 |) ..D.start% += | 00000e10 31 0d 0c 4e 05 ce 0d 0c 62 11 65 6e 64 25 20 3d |1..N....b.end% =| 00000e20 20 73 74 61 72 74 25 0d 0c 6c 11 fd 20 79 25 20 | start%..l.. y% | 00000e30 3d 20 73 74 61 72 74 25 0d 0c 80 05 e1 0d 0c c6 |= start%........| 00000e40 14 dd f2 66 69 6e 64 5f 73 74 61 72 74 5f 65 6e |...find_start_en| 00000e50 64 0d 0c e4 10 63 6f 75 6e 74 25 20 3d 20 31 32 |d....count% = 12| 00000e60 31 0d 0c ee 05 f5 0d 0d 02 17 63 6f 75 6e 74 25 |1.........count%| 00000e70 20 3d 20 63 6f 75 6e 74 25 20 2d 20 31 0d 0d 16 | = count% - 1...| 00000e80 34 e7 20 77 69 6e 6e 69 6e 67 5f 6d 6f 76 65 73 |4. winning_moves| 00000e90 25 28 63 6f 75 6e 74 25 2c 30 29 20 3d 20 31 30 |%(count%,0) = 10| 00000ea0 20 8c 65 6e 64 25 20 20 20 3d 20 63 6f 75 6e 74 | .end% = count| 00000eb0 25 0d 0d 20 34 e7 20 77 69 6e 6e 69 6e 67 5f 6d |%.. 4. winning_m| 00000ec0 6f 76 65 73 25 28 63 6f 75 6e 74 25 2c 30 29 20 |oves%(count%,0) | 00000ed0 3d 20 20 30 20 8c 73 74 61 72 74 25 20 3d 20 63 |= 0 .start% = c| 00000ee0 6f 75 6e 74 25 0d 0d 34 30 fd 20 77 69 6e 6e 69 |ount%..40. winni| 00000ef0 6e 67 5f 6d 6f 76 65 73 25 28 63 6f 75 6e 74 25 |ng_moves%(count%| 00000f00 2c 30 29 20 3d 20 20 30 20 84 20 63 6f 75 6e 74 |,0) = 0 . count| 00000f10 25 20 3d 20 30 0d 0d 48 05 e1 0d 0d 8e 27 dd f2 |% = 0..H.....'..| 00000f20 64 69 73 70 6c 61 79 5f 77 69 6e 5f 6d 6f 76 65 |display_win_move| 00000f30 5f 6f 6e 5f 62 6f 61 72 64 28 73 74 61 72 74 25 |_on_board(start%| 00000f40 29 0d 0d a2 13 e7 20 77 69 6e 6e 65 72 25 20 3d |)..... winner% =| 00000f50 20 31 20 8c 0d 0d ac 23 63 6f 6c 25 20 3d 20 77 | 1 ....#col% = w| 00000f60 69 6e 6e 69 6e 67 5f 6d 6f 76 65 73 25 28 73 74 |inning_moves%(st| 00000f70 61 72 74 25 2c 30 29 0d 0d b6 23 72 6f 77 25 20 |art%,0)...#row% | 00000f80 3d 20 77 69 6e 6e 69 6e 67 5f 6d 6f 76 65 73 25 |= winning_moves%| 00000f90 28 73 74 61 72 74 25 2c 31 29 0d 0d c0 05 cc 0d |(start%,1)......| 00000fa0 0d ca 23 63 6f 6c 25 20 3d 20 77 69 6e 6e 69 6e |..#col% = winnin| 00000fb0 67 5f 6d 6f 76 65 73 25 28 73 74 61 72 74 25 2c |g_moves%(start%,| 00000fc0 31 29 0d 0d d4 23 72 6f 77 25 20 3d 20 77 69 6e |1)...#row% = win| 00000fd0 6e 69 6e 67 5f 6d 6f 76 65 73 25 28 73 74 61 72 |ning_moves%(star| 00000fe0 74 25 2c 30 29 0d 0d de 05 cd 0d 0d f2 23 77 69 |t%,0)........#wi| 00000ff0 6e 64 6f 77 5f 79 25 20 3d 20 2d 28 28 31 30 2d |ndow_y% = -((10-| 00001000 72 6f 77 25 29 2a 35 32 29 2d 31 30 35 0d 0d fc |row%)*52)-105...| 00001010 26 77 69 6e 64 6f 77 5f 78 25 20 3d 20 28 63 6f |&window_x% = (co| 00001020 6c 25 2a 37 32 29 2b 28 72 6f 77 25 2a 33 36 29 |l%*72)+(row%*36)| 00001030 2b 31 30 0d 0e 10 2d f2 64 65 6c 65 74 65 5f 69 |+10...-.delete_i| 00001040 63 6f 6e 28 68 65 78 5f 77 69 6e 64 6f 77 25 2c |con(hex_window%,| 00001050 68 65 78 25 28 63 6f 6c 25 2c 72 6f 77 25 29 29 |hex%(col%,row%))| 00001060 0d 0e 24 13 e7 20 77 69 6e 6e 65 72 25 20 3d 20 |..$.. winner% = | 00001070 31 20 8c 0d 0e 2e 5e 68 65 78 25 28 63 6f 6c 25 |1 ....^hex%(col%| 00001080 2c 72 6f 77 25 29 3d a4 61 64 64 5f 69 63 6f 6e |,row%)=.add_icon| 00001090 28 22 73 70 72 69 74 65 22 2c 22 77 69 6e 5f 72 |("sprite","win_r| 000010a0 65 64 22 2c 68 65 78 5f 77 69 6e 64 6f 77 25 2c |ed",hex_window%,| 000010b0 77 69 6e 64 6f 77 5f 78 25 2c 77 69 6e 64 6f 77 |window_x%,window| 000010c0 5f 79 25 2c 30 2c 73 70 72 69 74 65 73 25 2c 30 |_y%,0,sprites%,0| 000010d0 29 0d 0e 38 05 cc 0d 0e 42 5f 68 65 78 25 28 63 |)..8....B_hex%(c| 000010e0 6f 6c 25 2c 72 6f 77 25 29 3d a4 61 64 64 5f 69 |ol%,row%)=.add_i| 000010f0 63 6f 6e 28 22 73 70 72 69 74 65 22 2c 22 77 69 |con("sprite","wi| 00001100 6e 5f 62 6c 75 65 22 2c 68 65 78 5f 77 69 6e 64 |n_blue",hex_wind| 00001110 6f 77 25 2c 77 69 6e 64 6f 77 5f 78 25 2c 77 69 |ow%,window_x%,wi| 00001120 6e 64 6f 77 5f 79 25 2c 30 2c 73 70 72 69 74 65 |ndow_y%,0,sprite| 00001130 73 25 2c 30 29 0d 0e 4c 05 cd 0d 0e 60 05 e1 0d |s%,0)..L....`...| 00001140 0e a6 1c dd a4 61 64 6a 61 63 65 6e 74 28 73 74 |.....adjacent(st| 00001150 61 72 74 25 2c 20 65 6e 64 25 29 0d 0e ba 30 ea |art%, end%)...0.| 00001160 20 63 6f 6c 5f 73 74 61 72 74 25 2c 20 72 6f 77 | col_start%, row| 00001170 5f 73 74 61 72 74 25 2c 20 63 6f 6c 5f 65 6e 64 |_start%, col_end| 00001180 25 2c 20 72 6f 77 5f 65 6e 64 25 0d 0e ce 29 63 |%, row_end%...)c| 00001190 6f 6c 5f 73 74 61 72 74 25 20 3d 20 77 69 6e 6e |ol_start% = winn| 000011a0 69 6e 67 5f 6d 6f 76 65 73 25 28 73 74 61 72 74 |ing_moves%(start| 000011b0 25 2c 30 29 0d 0e d8 29 72 6f 77 5f 73 74 61 72 |%,0)...)row_star| 000011c0 74 25 20 3d 20 77 69 6e 6e 69 6e 67 5f 6d 6f 76 |t% = winning_mov| 000011d0 65 73 25 28 73 74 61 72 74 25 2c 31 29 0d 0e e2 |es%(start%,1)...| 000011e0 27 63 6f 6c 5f 65 6e 64 25 20 20 20 3d 20 77 69 |'col_end% = wi| 000011f0 6e 6e 69 6e 67 5f 6d 6f 76 65 73 25 28 65 6e 64 |nning_moves%(end| 00001200 25 2c 30 29 0d 0e ec 27 72 6f 77 5f 65 6e 64 25 |%,0)...'row_end%| 00001210 20 20 20 3d 20 77 69 6e 6e 69 6e 67 5f 6d 6f 76 | = winning_mov| 00001220 65 73 25 28 65 6e 64 25 2c 31 29 0d 0f 00 3c e7 |es%(end%,1)...<.| 00001230 20 63 6f 6c 5f 73 74 61 72 74 25 2d 31 20 3d 20 | col_start%-1 = | 00001240 63 6f 6c 5f 65 6e 64 25 20 80 20 72 6f 77 5f 73 |col_end% . row_s| 00001250 74 61 72 74 25 2b 31 20 3d 20 72 6f 77 5f 65 6e |tart%+1 = row_en| 00001260 64 25 20 8c 3d 20 b9 0d 0f 0a 3c e7 20 63 6f 6c |d% .= ....<. col| 00001270 5f 73 74 61 72 74 25 20 20 20 3d 20 63 6f 6c 5f |_start% = col_| 00001280 65 6e 64 25 20 80 20 72 6f 77 5f 73 74 61 72 74 |end% . row_start| 00001290 25 2b 31 20 3d 20 72 6f 77 5f 65 6e 64 25 20 8c |%+1 = row_end% .| 000012a0 3d 20 b9 0d 0f 14 3c e7 20 63 6f 6c 5f 73 74 61 |= ....<. col_sta| 000012b0 72 74 25 2b 31 20 3d 20 63 6f 6c 5f 65 6e 64 25 |rt%+1 = col_end%| 000012c0 20 80 20 72 6f 77 5f 73 74 61 72 74 25 20 20 20 | . row_start% | 000012d0 3d 20 72 6f 77 5f 65 6e 64 25 20 8c 3d 20 b9 0d |= row_end% .= ..| 000012e0 0f 1e 3c e7 20 63 6f 6c 5f 73 74 61 72 74 25 2b |..<. col_start%+| 000012f0 31 20 3d 20 63 6f 6c 5f 65 6e 64 25 20 80 20 72 |1 = col_end% . r| 00001300 6f 77 5f 73 74 61 72 74 25 2d 31 20 3d 20 72 6f |ow_start%-1 = ro| 00001310 77 5f 65 6e 64 25 20 8c 3d 20 b9 0d 0f 28 3c e7 |w_end% .= ...(<.| 00001320 20 63 6f 6c 5f 73 74 61 72 74 25 20 20 20 3d 20 | col_start% = | 00001330 63 6f 6c 5f 65 6e 64 25 20 80 20 72 6f 77 5f 73 |col_end% . row_s| 00001340 74 61 72 74 25 2d 31 20 3d 20 72 6f 77 5f 65 6e |tart%-1 = row_en| 00001350 64 25 20 8c 3d 20 b9 0d 0f 32 3c e7 20 63 6f 6c |d% .= ...2<. col| 00001360 5f 73 74 61 72 74 25 2d 31 20 3d 20 63 6f 6c 5f |_start%-1 = col_| 00001370 65 6e 64 25 20 80 20 72 6f 77 5f 73 74 61 72 74 |end% . row_start| 00001380 25 20 20 20 3d 20 72 6f 77 5f 65 6e 64 25 20 8c |% = row_end% .| 00001390 3d 20 b9 0d 0f 46 07 3d 20 a3 0d 0f 8c 1a dd f2 |= ...F.= .......| 000013a0 73 68 6f 77 5f 77 69 6e 6e 65 72 5f 6f 6e 5f 62 |show_winner_on_b| 000013b0 6f 61 72 64 0d 0f aa 13 e7 20 77 69 6e 6e 65 72 |oard..... winner| 000013c0 25 20 3d 20 31 20 8c 0d 0f b4 37 f2 70 75 74 5f |% = 1 ....7.put_| 000013d0 69 63 6f 6e 5f 74 65 78 74 28 68 65 78 5f 77 69 |icon_text(hex_wi| 000013e0 6e 64 6f 77 25 2c 72 65 70 6f 72 74 5f 72 65 64 |ndow%,report_red| 000013f0 25 2c 20 22 20 57 49 4e 4e 45 52 20 22 29 0d 0f |%, " WINNER ")..| 00001400 be 0f e7 20 72 65 73 69 67 6e 25 20 8c 0d 0f c8 |... resign% ....| 00001410 36 f2 70 75 74 5f 69 63 6f 6e 5f 74 65 78 74 28 |6.put_icon_text(| 00001420 68 65 78 5f 77 69 6e 64 6f 77 25 2c 72 65 70 6f |hex_window%,repo| 00001430 72 74 5f 62 6c 75 65 25 2c 22 52 65 73 69 67 6e |rt_blue%,"Resign| 00001440 73 22 29 0d 0f d2 05 cc 0d 0f dc 2f f2 70 75 74 |s")......../.put| 00001450 5f 69 63 6f 6e 5f 74 65 78 74 28 68 65 78 5f 77 |_icon_text(hex_w| 00001460 69 6e 64 6f 77 25 2c 72 65 70 6f 72 74 5f 62 6c |indow%,report_bl| 00001470 75 65 25 2c 22 22 29 0d 0f e6 05 cd 0d 10 04 31 |ue%,"")........1| 00001480 f2 69 63 6f 6e 5f 62 67 5f 63 6f 6c 6f 75 72 28 |.icon_bg_colour(| 00001490 68 65 78 5f 77 69 6e 64 6f 77 25 2c 72 65 70 6f |hex_window%,repo| 000014a0 72 74 5f 72 65 64 25 2c 72 65 64 25 29 0d 10 0e |rt_red%,red%)...| 000014b0 34 f2 69 63 6f 6e 5f 62 67 5f 63 6f 6c 6f 75 72 |4.icon_bg_colour| 000014c0 28 68 65 78 5f 77 69 6e 64 6f 77 25 2c 72 65 70 |(hex_window%,rep| 000014d0 6f 72 74 5f 62 6c 75 65 25 2c 77 68 69 74 65 25 |ort_blue%,white%| 000014e0 29 0d 10 22 05 cc 0d 10 2c 37 f2 70 75 74 5f 69 |).."....,7.put_i| 000014f0 63 6f 6e 5f 74 65 78 74 28 68 65 78 5f 77 69 6e |con_text(hex_win| 00001500 64 6f 77 25 2c 72 65 70 6f 72 74 5f 62 6c 75 65 |dow%,report_blue| 00001510 25 2c 22 20 57 49 4e 4e 45 52 20 22 29 0d 10 40 |%," WINNER ")..@| 00001520 0f e7 20 72 65 73 69 67 6e 25 20 8c 0d 10 4a 36 |.. resign% ...J6| 00001530 f2 70 75 74 5f 69 63 6f 6e 5f 74 65 78 74 28 68 |.put_icon_text(h| 00001540 65 78 5f 77 69 6e 64 6f 77 25 2c 72 65 70 6f 72 |ex_window%,repor| 00001550 74 5f 72 65 64 25 2c 20 22 52 65 73 69 67 6e 73 |t_red%, "Resigns| 00001560 22 29 0d 10 54 05 cc 0d 10 5e 2f f2 70 75 74 5f |")..T....^/.put_| 00001570 69 63 6f 6e 5f 74 65 78 74 28 68 65 78 5f 77 69 |icon_text(hex_wi| 00001580 6e 64 6f 77 25 2c 72 65 70 6f 72 74 5f 72 65 64 |ndow%,report_red| 00001590 25 2c 20 22 22 29 0d 10 68 05 cd 0d 10 86 33 f2 |%, "")..h.....3.| 000015a0 69 63 6f 6e 5f 62 67 5f 63 6f 6c 6f 75 72 28 68 |icon_bg_colour(h| 000015b0 65 78 5f 77 69 6e 64 6f 77 25 2c 72 65 70 6f 72 |ex_window%,repor| 000015c0 74 5f 72 65 64 25 2c 77 68 69 74 65 25 29 0d 10 |t_red%,white%)..| 000015d0 90 33 f2 69 63 6f 6e 5f 62 67 5f 63 6f 6c 6f 75 |.3.icon_bg_colou| 000015e0 72 28 68 65 78 5f 77 69 6e 64 6f 77 25 2c 72 65 |r(hex_window%,re| 000015f0 70 6f 72 74 5f 62 6c 75 65 25 2c 62 6c 75 65 25 |port_blue%,blue%| 00001600 29 0d 10 a4 05 cd 0d 10 b8 05 e1 0d 11 4e 13 dd |)............N..| 00001610 f2 63 6f 6d 70 75 74 65 72 5f 6d 6f 76 65 0d 11 |.computer_move..| 00001620 62 30 e7 20 63 6f 6d 70 5f 63 6f 75 6e 74 25 20 |b0. comp_count% | 00001630 3d 20 30 20 84 20 6c 65 76 65 6c 25 20 3d 20 31 |= 0 . level% = 1| 00001640 20 8c f2 63 6f 70 79 5f 61 72 72 61 79 20 0d 11 | ..copy_array ..| 00001650 76 21 e7 20 6c 65 76 65 6c 25 20 3d 20 31 20 8c |v!. level% = 1 .| 00001660 63 61 6c 63 73 5f 64 6f 6e 65 25 20 3d 20 b9 0d |calcs_done% = ..| 00001670 11 8a 15 e7 20 ac 20 63 61 6c 63 73 5f 64 6f 6e |.... . calcs_don| 00001680 65 25 20 8c 0d 11 9e 28 f2 73 63 6f 72 65 5f 70 |e% ....(.score_p| 00001690 6f 73 73 69 62 6c 65 5f 6d 6f 76 65 73 20 20 20 |ossible_moves | 000016a0 20 20 20 20 20 20 20 20 20 20 20 20 0d 11 b2 05 | ....| 000016b0 cc 0d 11 c6 28 f2 62 65 73 74 5f 6d 6f 76 65 20 |....(.best_move | 000016c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000016d0 20 20 20 20 20 20 20 20 20 0d 11 da 28 f2 6d 61 | ...(.ma| 000016e0 72 6b 5f 6d 6f 76 65 5f 6f 6e 5f 62 6f 61 72 64 |rk_move_on_board| 000016f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001700 20 0d 11 f8 19 70 6c 61 79 65 72 25 20 3d 20 70 | ....player% = p| 00001710 6c 61 79 65 72 25 20 82 20 33 0d 12 0c 28 f2 73 |layer% . 3...(.s| 00001720 65 74 5f 68 65 78 5f 77 69 6e 64 6f 77 5f 69 63 |et_hex_window_ic| 00001730 6f 6e 73 20 20 20 20 20 20 20 20 20 20 20 20 20 |ons | 00001740 20 20 0d 12 16 28 f2 73 65 74 5f 6d 65 6e 75 5f | ...(.set_menu_| 00001750 73 68 61 64 65 73 20 20 20 20 20 20 20 20 20 20 |shades | 00001760 20 20 20 20 20 20 20 20 20 20 0d 12 2a 13 63 61 | ..*.ca| 00001770 6c 63 73 5f 64 6f 6e 65 25 20 3d 20 a3 0d 12 34 |lcs_done% = ...4| 00001780 13 63 6f 6d 70 5f 63 6f 75 6e 74 25 20 3d 20 30 |.comp_count% = 0| 00001790 0d 12 48 05 cd 0d 12 5c 05 e1 0d 12 a2 10 dd f2 |..H....\........| 000017a0 63 6f 70 79 5f 61 72 72 61 79 0d 12 fc 0b ea 20 |copy_array..... | 000017b0 58 25 2c 59 25 0d 13 10 13 63 6f 6d 70 75 74 65 |X%,Y%....compute| 000017c0 72 25 28 29 20 3d 20 30 0d 13 2e 13 e7 20 70 6c |r%() = 0..... pl| 000017d0 61 79 65 72 25 20 3d 20 31 20 8c 0d 13 42 11 e3 |ayer% = 1 ...B..| 000017e0 20 58 25 20 3d 20 30 20 b8 20 31 30 0d 13 4c 11 | X% = 0 . 10..L.| 000017f0 e3 20 59 25 20 3d 20 30 20 b8 20 31 30 0d 13 56 |. Y% = 0 . 10..V| 00001800 2e 63 6f 6d 70 75 74 65 72 25 28 58 25 2c 59 25 |.computer%(X%,Y%| 00001810 2c 31 29 20 3d 20 20 62 6f 61 72 64 5f 73 74 61 |,1) = board_sta| 00001820 74 75 73 25 28 58 25 2c 59 25 29 0d 13 60 08 ed |tus%(X%,Y%)..`..| 00001830 20 59 25 0d 13 6a 08 ed 20 58 25 0d 13 7e 05 cc | Y%..j.. X%..~..| 00001840 0d 13 92 11 e3 20 58 25 20 3d 20 30 20 b8 20 31 |..... X% = 0 . 1| 00001850 30 0d 13 9c 11 e3 20 59 25 20 3d 20 30 20 b8 20 |0..... Y% = 0 . | 00001860 31 30 0d 13 ba 49 e7 20 62 6f 61 72 64 5f 73 74 |10...I. board_st| 00001870 61 74 75 73 25 28 58 25 2c 59 25 29 20 8c 63 6f |atus%(X%,Y%) .co| 00001880 6d 70 75 74 65 72 25 28 59 25 2c 58 25 2c 31 29 |mputer%(Y%,X%,1)| 00001890 20 3d 20 62 6f 61 72 64 5f 73 74 61 74 75 73 25 | = board_status%| 000018a0 28 58 25 2c 59 25 29 20 82 20 33 0d 13 c4 08 ed |(X%,Y%) . 3.....| 000018b0 20 59 25 0d 13 ce 08 ed 20 58 25 0d 13 e2 05 cd | Y%..... X%.....| 000018c0 0d 13 f6 05 e1 0d 14 3c 0f dd f2 62 65 73 74 5f |.......<...best_| 000018d0 6d 6f 76 65 0d 14 78 38 ea 20 68 69 67 68 65 73 |move..x8. highes| 000018e0 74 25 2c 20 63 6f 75 6e 74 25 2c 20 58 25 2c 20 |t%, count%, X%, | 000018f0 59 25 2c 20 75 73 65 5f 74 68 69 73 5f 68 69 67 |Y%, use_this_hig| 00001900 68 65 73 74 25 2c 20 74 65 6d 70 25 0d 14 8c 12 |hest%, temp%....| 00001910 68 69 67 68 65 73 74 25 20 20 3d 20 2d 31 0d 14 |highest% = -1..| 00001920 96 11 63 6f 75 6e 74 25 20 20 20 20 3d 20 30 0d |..count% = 0.| 00001930 14 a0 0c 63 6f 6c 25 20 3d 20 30 0d 14 aa 0c 72 |...col% = 0....r| 00001940 6f 77 25 20 3d 20 30 0d 14 be 11 e3 20 59 25 20 |ow% = 0..... Y% | 00001950 3d 20 30 20 b8 20 31 30 0d 14 c8 11 e3 20 58 25 |= 0 . 10..... X%| 00001960 20 3d 20 30 20 b8 20 31 30 0d 14 d2 1e e7 20 63 | = 0 . 10..... c| 00001970 6f 6d 70 75 74 65 72 25 28 58 25 2c 59 25 2c 31 |omputer%(X%,Y%,1| 00001980 29 20 3d 20 30 20 8c 0d 14 dc 26 e7 20 63 6f 6d |) = 0 ....&. com| 00001990 70 75 74 65 72 25 28 58 25 2c 59 25 2c 30 29 20 |puter%(X%,Y%,0) | 000019a0 3e 3d 20 68 69 67 68 65 73 74 25 20 8c 0d 14 e6 |>= highest% ....| 000019b0 0f 63 6f 75 6e 74 25 20 2b 3d 20 31 0d 14 f0 25 |.count% += 1...%| 000019c0 e7 20 63 6f 6d 70 75 74 65 72 25 28 58 25 2c 59 |. computer%(X%,Y| 000019d0 25 2c 30 29 20 3e 20 68 69 67 68 65 73 74 25 20 |%,0) > highest% | 000019e0 8c 0d 14 fa 22 68 69 67 68 65 73 74 25 20 20 3d |...."highest% =| 000019f0 20 63 6f 6d 70 75 74 65 72 25 28 58 25 2c 59 25 | computer%(X%,Y%| 00001a00 2c 30 29 0d 15 04 0f 63 6f 6c 25 20 20 20 3d 20 |,0)....col% = | 00001a10 58 25 0d 15 0e 0f 72 6f 77 25 20 20 20 3d 20 59 |X%....row% = Y| 00001a20 25 0d 15 18 0e 63 6f 75 6e 74 25 20 3d 20 31 0d |%....count% = 1.| 00001a30 15 22 05 cd 0d 15 2c 05 cd 0d 15 36 05 cd 0d 15 |."....,....6....| 00001a40 40 08 ed 20 58 25 0d 15 4a 08 ed 20 59 25 0d 15 |@.. X%..J.. Y%..| 00001a50 68 12 e7 20 63 6f 75 6e 74 25 20 3e 20 31 20 8c |h.. count% > 1 .| 00001a60 0d 15 72 21 75 73 65 5f 74 68 69 73 5f 68 69 67 |..r!use_this_hig| 00001a70 68 65 73 74 25 20 3d 20 b3 28 63 6f 75 6e 74 25 |hest% = .(count%| 00001a80 29 0d 15 7c 0e 63 6f 75 6e 74 25 20 3d 20 30 0d |)..|.count% = 0.| 00001a90 15 86 0b 59 25 20 3d 20 2d 31 0d 15 90 0d f5 20 |...Y% = -1..... | 00001aa0 59 25 20 2b 3d 20 31 0d 15 9a 0b 58 25 20 3d 20 |Y% += 1....X% = | 00001ab0 2d 31 0d 15 a4 0d f5 20 58 25 20 2b 3d 20 31 0d |-1..... X% += 1.| 00001ac0 15 ae 3e e7 20 63 6f 6d 70 75 74 65 72 25 28 58 |..>. computer%(X| 00001ad0 25 2c 59 25 2c 31 29 20 3d 20 30 20 80 20 63 6f |%,Y%,1) = 0 . co| 00001ae0 6d 70 75 74 65 72 25 28 58 25 2c 59 25 2c 30 29 |mputer%(X%,Y%,0)| 00001af0 20 3d 20 68 69 67 68 65 73 74 25 20 8c 0d 15 b8 | = highest% ....| 00001b00 0f 63 6f 75 6e 74 25 20 2b 3d 20 31 0d 15 c2 05 |.count% += 1....| 00001b10 cd 0d 15 cc 2a fd 20 58 25 20 3d 20 31 30 20 84 |....*. X% = 10 .| 00001b20 20 63 6f 75 6e 74 25 20 3d 20 75 73 65 5f 74 68 | count% = use_th| 00001b30 69 73 5f 68 69 67 68 65 73 74 25 0d 15 d6 20 fd |is_highest%... .| 00001b40 20 63 6f 75 6e 74 25 20 3d 20 75 73 65 5f 74 68 | count% = use_th| 00001b50 69 73 5f 68 69 67 68 65 73 74 25 0d 15 e0 0f 63 |is_highest%....c| 00001b60 6f 6c 25 20 20 20 3d 20 58 25 0d 15 ea 0f 72 6f |ol% = X%....ro| 00001b70 77 25 20 20 20 3d 20 59 25 0d 15 f4 05 cd 0d 16 |w% = Y%.......| 00001b80 08 13 e7 20 70 6c 61 79 65 72 25 20 3d 20 32 20 |... player% = 2 | 00001b90 8c 0d 16 12 10 74 65 6d 70 25 20 3d 20 63 6f 6c |.....temp% = col| 00001ba0 25 0d 16 1c 10 63 6f 6c 25 20 20 3d 20 72 6f 77 |%....col% = row| 00001bb0 25 0d 16 26 11 72 6f 77 25 20 20 3d 20 74 65 6d |%..&.row% = tem| 00001bc0 70 25 0d 16 30 05 cd 0d 16 44 05 e1 0d 16 8a 3b |p%..0....D.....;| 00001bd0 dd a4 61 28 70 6c 61 79 65 72 25 29 3a e7 20 63 |..a(player%):. c| 00001be0 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2d 32 2c |omputer%(col%-2,| 00001bf0 72 6f 77 25 2b 32 2c 31 29 20 3d 20 70 6c 61 79 |row%+2,1) = play| 00001c00 65 72 25 20 3d 20 b9 0d 16 94 07 3d 20 a3 0d 16 |er% = .....= ...| 00001c10 b2 3b dd a4 62 28 70 6c 61 79 65 72 25 29 3a e7 |.;..b(player%):.| 00001c20 20 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2d | computer%(col%-| 00001c30 31 2c 72 6f 77 25 2b 32 2c 31 29 20 3d 20 70 6c |1,row%+2,1) = pl| 00001c40 61 79 65 72 25 20 3d 20 b9 0d 16 bc 07 3d 20 a3 |ayer% = .....= .| 00001c50 0d 16 da 39 dd a4 63 28 70 6c 61 79 65 72 25 29 |...9..c(player%)| 00001c60 3a e7 20 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c |:. computer%(col| 00001c70 25 2c 72 6f 77 25 2b 32 2c 31 29 20 3d 20 70 6c |%,row%+2,1) = pl| 00001c80 61 79 65 72 25 20 3d 20 b9 0d 16 e4 07 3d 20 a3 |ayer% = .....= .| 00001c90 0d 17 02 3b dd a4 64 28 70 6c 61 79 65 72 25 29 |...;..d(player%)| 00001ca0 3a e7 20 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c |:. computer%(col| 00001cb0 25 2b 31 2c 72 6f 77 25 2b 32 2c 31 29 20 3d 20 |%+1,row%+2,1) = | 00001cc0 70 6c 61 79 65 72 25 20 3d 20 b9 0d 17 0c 07 3d |player% = .....=| 00001cd0 20 a3 0d 17 2a 3b dd a4 65 28 70 6c 61 79 65 72 | ...*;..e(player| 00001ce0 25 29 3a e7 20 63 6f 6d 70 75 74 65 72 25 28 63 |%):. computer%(c| 00001cf0 6f 6c 25 2b 32 2c 72 6f 77 25 2b 32 2c 31 29 20 |ol%+2,row%+2,1) | 00001d00 3d 20 70 6c 61 79 65 72 25 20 3d 20 b9 0d 17 34 |= player% = ...4| 00001d10 07 3d 20 a3 0d 17 52 3b dd a4 66 28 70 6c 61 79 |.= ...R;..f(play| 00001d20 65 72 25 29 3a e7 20 63 6f 6d 70 75 74 65 72 25 |er%):. computer%| 00001d30 28 63 6f 6c 25 2d 32 2c 72 6f 77 25 2b 31 2c 31 |(col%-2,row%+1,1| 00001d40 29 20 3d 20 70 6c 61 79 65 72 25 20 3d 20 b9 0d |) = player% = ..| 00001d50 17 5c 07 3d 20 a3 0d 17 7a 3b dd a4 67 28 70 6c |.\.= ...z;..g(pl| 00001d60 61 79 65 72 25 29 3a e7 20 63 6f 6d 70 75 74 65 |ayer%):. compute| 00001d70 72 25 28 63 6f 6c 25 2d 31 2c 72 6f 77 25 2b 31 |r%(col%-1,row%+1| 00001d80 2c 31 29 20 3d 20 70 6c 61 79 65 72 25 20 3d 20 |,1) = player% = | 00001d90 b9 0d 17 84 07 3d 20 a3 0d 17 a2 39 dd a4 68 28 |.....= ....9..h(| 00001da0 70 6c 61 79 65 72 25 29 3a e7 20 63 6f 6d 70 75 |player%):. compu| 00001db0 74 65 72 25 28 63 6f 6c 25 2c 72 6f 77 25 2b 31 |ter%(col%,row%+1| 00001dc0 2c 31 29 20 3d 20 70 6c 61 79 65 72 25 20 3d 20 |,1) = player% = | 00001dd0 b9 0d 17 ac 07 3d 20 a3 0d 17 ca 3b dd a4 69 28 |.....= ....;..i(| 00001de0 70 6c 61 79 65 72 25 29 3a e7 20 63 6f 6d 70 75 |player%):. compu| 00001df0 74 65 72 25 28 63 6f 6c 25 2b 31 2c 72 6f 77 25 |ter%(col%+1,row%| 00001e00 2b 31 2c 31 29 20 3d 20 70 6c 61 79 65 72 25 20 |+1,1) = player% | 00001e10 3d 20 b9 0d 17 d4 07 3d 20 a3 0d 17 f2 3b dd a4 |= .....= ....;..| 00001e20 6a 28 70 6c 61 79 65 72 25 29 3a e7 20 63 6f 6d |j(player%):. com| 00001e30 70 75 74 65 72 25 28 63 6f 6c 25 2b 32 2c 72 6f |puter%(col%+2,ro| 00001e40 77 25 2b 31 2c 31 29 20 3d 20 70 6c 61 79 65 72 |w%+1,1) = player| 00001e50 25 20 3d 20 b9 0d 17 fc 07 3d 20 a3 0d 18 1a 39 |% = .....= ....9| 00001e60 dd a4 6b 28 70 6c 61 79 65 72 25 29 3a e7 20 63 |..k(player%):. c| 00001e70 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2d 32 2c |omputer%(col%-2,| 00001e80 72 6f 77 25 2c 31 29 20 3d 20 70 6c 61 79 65 72 |row%,1) = player| 00001e90 25 20 3d 20 b9 0d 18 24 07 3d 20 a3 0d 18 42 39 |% = ...$.= ...B9| 00001ea0 dd a4 6c 28 70 6c 61 79 65 72 25 29 3a e7 20 63 |..l(player%):. c| 00001eb0 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2d 31 2c |omputer%(col%-1,| 00001ec0 72 6f 77 25 2c 31 29 20 3d 20 70 6c 61 79 65 72 |row%,1) = player| 00001ed0 25 20 3d 20 b9 0d 18 4c 07 3d 20 a3 0d 18 6a 39 |% = ...L.= ...j9| 00001ee0 dd a4 6d 28 70 6c 61 79 65 72 25 29 3a e7 20 63 |..m(player%):. c| 00001ef0 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2b 31 2c |omputer%(col%+1,| 00001f00 72 6f 77 25 2c 31 29 20 3d 20 70 6c 61 79 65 72 |row%,1) = player| 00001f10 25 20 3d 20 b9 0d 18 74 07 3d 20 a3 0d 18 92 39 |% = ...t.= ....9| 00001f20 dd a4 6e 28 70 6c 61 79 65 72 25 29 3a e7 20 63 |..n(player%):. c| 00001f30 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2b 32 2c |omputer%(col%+2,| 00001f40 72 6f 77 25 2c 31 29 20 3d 20 70 6c 61 79 65 72 |row%,1) = player| 00001f50 25 20 3d 20 b9 0d 18 9c 07 3d 20 a3 0d 18 ba 3b |% = .....= ....;| 00001f60 dd a4 6f 28 70 6c 61 79 65 72 25 29 3a e7 20 63 |..o(player%):. c| 00001f70 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2d 32 2c |omputer%(col%-2,| 00001f80 72 6f 77 25 2d 31 2c 31 29 20 3d 20 70 6c 61 79 |row%-1,1) = play| 00001f90 65 72 25 20 3d 20 b9 0d 18 c4 07 3d 20 a3 0d 18 |er% = .....= ...| 00001fa0 e2 3b dd a4 70 28 70 6c 61 79 65 72 25 29 3a e7 |.;..p(player%):.| 00001fb0 20 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2d | computer%(col%-| 00001fc0 31 2c 72 6f 77 25 2d 31 2c 31 29 20 3d 20 70 6c |1,row%-1,1) = pl| 00001fd0 61 79 65 72 25 20 3d 20 b9 0d 18 ec 07 3d 20 a3 |ayer% = .....= .| 00001fe0 0d 19 0a 39 dd a4 71 28 70 6c 61 79 65 72 25 29 |...9..q(player%)| 00001ff0 3a e7 20 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c |:. computer%(col| 00002000 25 2c 72 6f 77 25 2d 31 2c 31 29 20 3d 20 70 6c |%,row%-1,1) = pl| 00002010 61 79 65 72 25 20 3d 20 b9 0d 19 14 07 3d 20 a3 |ayer% = .....= .| 00002020 0d 19 32 3b dd a4 72 28 70 6c 61 79 65 72 25 29 |..2;..r(player%)| 00002030 3a e7 20 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c |:. computer%(col| 00002040 25 2b 31 2c 72 6f 77 25 2d 31 2c 31 29 20 3d 20 |%+1,row%-1,1) = | 00002050 70 6c 61 79 65 72 25 20 3d 20 b9 0d 19 3c 07 3d |player% = ...<.=| 00002060 20 a3 0d 19 5a 3b dd a4 73 28 70 6c 61 79 65 72 | ...Z;..s(player| 00002070 25 29 3a e7 20 63 6f 6d 70 75 74 65 72 25 28 63 |%):. computer%(c| 00002080 6f 6c 25 2b 32 2c 72 6f 77 25 2d 31 2c 31 29 20 |ol%+2,row%-1,1) | 00002090 3d 20 70 6c 61 79 65 72 25 20 3d 20 b9 0d 19 64 |= player% = ...d| 000020a0 07 3d 20 a3 0d 19 82 3b dd a4 74 28 70 6c 61 79 |.= ....;..t(play| 000020b0 65 72 25 29 3a e7 20 63 6f 6d 70 75 74 65 72 25 |er%):. computer%| 000020c0 28 63 6f 6c 25 2d 32 2c 72 6f 77 25 2d 32 2c 31 |(col%-2,row%-2,1| 000020d0 29 20 3d 20 70 6c 61 79 65 72 25 20 3d 20 b9 0d |) = player% = ..| 000020e0 19 8c 07 3d 20 a3 0d 19 aa 3b dd a4 75 28 70 6c |...= ....;..u(pl| 000020f0 61 79 65 72 25 29 3a e7 20 63 6f 6d 70 75 74 65 |ayer%):. compute| 00002100 72 25 28 63 6f 6c 25 2d 31 2c 72 6f 77 25 2d 32 |r%(col%-1,row%-2| 00002110 2c 31 29 20 3d 20 70 6c 61 79 65 72 25 20 3d 20 |,1) = player% = | 00002120 b9 0d 19 b4 07 3d 20 a3 0d 19 d2 39 dd a4 76 28 |.....= ....9..v(| 00002130 70 6c 61 79 65 72 25 29 3a e7 20 63 6f 6d 70 75 |player%):. compu| 00002140 74 65 72 25 28 63 6f 6c 25 2c 72 6f 77 25 2d 32 |ter%(col%,row%-2| 00002150 2c 31 29 20 3d 20 70 6c 61 79 65 72 25 20 3d 20 |,1) = player% = | 00002160 b9 0d 19 dc 07 3d 20 a3 0d 19 fa 3b dd a4 77 28 |.....= ....;..w(| 00002170 70 6c 61 79 65 72 25 29 3a e7 20 63 6f 6d 70 75 |player%):. compu| 00002180 74 65 72 25 28 63 6f 6c 25 2b 31 2c 72 6f 77 25 |ter%(col%+1,row%| 00002190 2d 32 2c 31 29 20 3d 20 70 6c 61 79 65 72 25 20 |-2,1) = player% | 000021a0 3d 20 b9 0d 1a 04 07 3d 20 a3 0d 1a 22 3b dd a4 |= .....= ...";..| 000021b0 78 28 70 6c 61 79 65 72 25 29 3a e7 20 63 6f 6d |x(player%):. com| 000021c0 70 75 74 65 72 25 28 63 6f 6c 25 2b 32 2c 72 6f |puter%(col%+2,ro| 000021d0 77 25 2d 32 2c 31 29 20 3d 20 70 6c 61 79 65 72 |w%-2,1) = player| 000021e0 25 20 3d 20 b9 0d 1a 2c 07 3d 20 a3 0d 1a 4a 3c |% = ...,.= ...J<| 000021f0 dd a4 61 61 28 70 6c 61 79 65 72 25 29 3a e7 20 |..aa(player%):. | 00002200 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2d 34 |computer%(col%-4| 00002210 2c 72 6f 77 25 2b 32 2c 31 29 20 3d 20 70 6c 61 |,row%+2,1) = pla| 00002220 79 65 72 25 20 3d 20 b9 0d 1a 54 07 3d 20 a3 0d |yer% = ...T.= ..| 00002230 1a 72 3c dd a4 61 62 28 70 6c 61 79 65 72 25 29 |.r<..ab(player%)| 00002240 3a e7 20 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c |:. computer%(col| 00002250 25 2d 33 2c 72 6f 77 25 2b 32 2c 31 29 20 3d 20 |%-3,row%+2,1) = | 00002260 70 6c 61 79 65 72 25 20 3d 20 b9 0d 1a 7c 07 3d |player% = ...|.=| 00002270 20 a3 0d 1a 9a 3c dd a4 61 63 28 70 6c 61 79 65 | ....<..ac(playe| 00002280 72 25 29 3a e7 20 63 6f 6d 70 75 74 65 72 25 28 |r%):. computer%(| 00002290 63 6f 6c 25 2d 33 2c 72 6f 77 25 2b 31 2c 31 29 |col%-3,row%+1,1)| 000022a0 20 3d 20 70 6c 61 79 65 72 25 20 3d 20 b9 0d 1a | = player% = ...| 000022b0 a4 07 3d 20 a3 0d 1a c2 3c dd a4 62 61 28 70 6c |..= ....<..ba(pl| 000022c0 61 79 65 72 25 29 3a e7 20 63 6f 6d 70 75 74 65 |ayer%):. compute| 000022d0 72 25 28 63 6f 6c 25 2b 34 2c 72 6f 77 25 2d 32 |r%(col%+4,row%-2| 000022e0 2c 31 29 20 3d 20 70 6c 61 79 65 72 25 20 3d 20 |,1) = player% = | 000022f0 b9 0d 1a cc 07 3d 20 a3 0d 1a ea 3c dd a4 62 62 |.....= ....<..bb| 00002300 28 70 6c 61 79 65 72 25 29 3a e7 20 63 6f 6d 70 |(player%):. comp| 00002310 75 74 65 72 25 28 63 6f 6c 25 2b 33 2c 72 6f 77 |uter%(col%+3,row| 00002320 25 2d 31 2c 31 29 20 3d 20 70 6c 61 79 65 72 25 |%-1,1) = player%| 00002330 20 3d 20 b9 0d 1a f4 07 3d 20 a3 0d 1b 12 3c dd | = .....= ....<.| 00002340 a4 62 63 28 70 6c 61 79 65 72 25 29 3a e7 20 63 |.bc(player%):. c| 00002350 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2b 33 2c |omputer%(col%+3,| 00002360 72 6f 77 25 2d 32 2c 31 29 20 3d 20 70 6c 61 79 |row%-2,1) = play| 00002370 65 72 25 20 3d 20 b9 0d 1b 1c 07 3d 20 a3 0d 1b |er% = .....= ...| 00002380 3a 3c dd a4 63 61 28 70 6c 61 79 65 72 25 29 3a |:<..ca(player%):| 00002390 e7 20 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 |. computer%(col%| 000023a0 2d 32 2c 72 6f 77 25 2b 34 2c 31 29 20 3d 20 70 |-2,row%+4,1) = p| 000023b0 6c 61 79 65 72 25 20 3d 20 b9 0d 1b 44 07 3d 20 |layer% = ...D.= | 000023c0 a3 0d 1b 62 3c dd a4 63 62 28 70 6c 61 79 65 72 |...b<..cb(player| 000023d0 25 29 3a e7 20 63 6f 6d 70 75 74 65 72 25 28 63 |%):. computer%(c| 000023e0 6f 6c 25 2d 32 2c 72 6f 77 25 2b 33 2c 31 29 20 |ol%-2,row%+3,1) | 000023f0 3d 20 70 6c 61 79 65 72 25 20 3d 20 b9 0d 1b 6c |= player% = ...l| 00002400 07 3d 20 a3 0d 1b 8a 3c dd a4 63 63 28 70 6c 61 |.= ....<..cc(pla| 00002410 79 65 72 25 29 3a e7 20 63 6f 6d 70 75 74 65 72 |yer%):. computer| 00002420 25 28 63 6f 6c 25 2d 31 2c 72 6f 77 25 2b 33 2c |%(col%-1,row%+3,| 00002430 31 29 20 3d 20 70 6c 61 79 65 72 25 20 3d 20 b9 |1) = player% = .| 00002440 0d 1b 94 07 3d 20 a3 0d 1b b2 3c dd a4 64 61 28 |....= ....<..da(| 00002450 70 6c 61 79 65 72 25 29 3a e7 20 63 6f 6d 70 75 |player%):. compu| 00002460 74 65 72 25 28 63 6f 6c 25 2b 32 2c 72 6f 77 25 |ter%(col%+2,row%| 00002470 2d 34 2c 31 29 20 3d 20 70 6c 61 79 65 72 25 20 |-4,1) = player% | 00002480 3d 20 b9 0d 1b bc 07 3d 20 a3 0d 1b da 3c dd a4 |= .....= ....<..| 00002490 64 62 28 70 6c 61 79 65 72 25 29 3a e7 20 63 6f |db(player%):. co| 000024a0 6d 70 75 74 65 72 25 28 63 6f 6c 25 2b 31 2c 72 |mputer%(col%+1,r| 000024b0 6f 77 25 2d 33 2c 31 29 20 3d 20 70 6c 61 79 65 |ow%-3,1) = playe| 000024c0 72 25 20 3d 20 b9 0d 1b e4 07 3d 20 a3 0d 1c 02 |r% = .....= ....| 000024d0 3c dd a4 64 63 28 70 6c 61 79 65 72 25 29 3a e7 |<..dc(player%):.| 000024e0 20 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2b | computer%(col%+| 000024f0 32 2c 72 6f 77 25 2d 33 2c 31 29 20 3d 20 70 6c |2,row%-3,1) = pl| 00002500 61 79 65 72 25 20 3d 20 b9 0d 1c 0c 07 3d 20 a3 |ayer% = .....= .| 00002510 0d 1c 2a 3a dd a4 65 61 28 70 6c 61 79 65 72 25 |..*:..ea(player%| 00002520 29 3a e7 20 63 6f 6d 70 75 74 65 72 25 28 63 6f |):. computer%(co| 00002530 6c 25 2d 33 2c 72 6f 77 25 2c 31 29 20 3d 20 70 |l%-3,row%,1) = p| 00002540 6c 61 79 65 72 25 20 3d 20 b9 0d 1c 34 07 3d 20 |layer% = ...4.= | 00002550 a3 0d 1c 52 3c dd a4 65 62 28 70 6c 61 79 65 72 |...R<..eb(player| 00002560 25 29 3a e7 20 63 6f 6d 70 75 74 65 72 25 28 63 |%):. computer%(c| 00002570 6f 6c 25 2d 33 2c 72 6f 77 25 2b 33 2c 31 29 20 |ol%-3,row%+3,1) | 00002580 3d 20 70 6c 61 79 65 72 25 20 3d 20 b9 0d 1c 5c |= player% = ...\| 00002590 07 3d 20 a3 0d 1c 7a 3c dd a4 65 63 28 70 6c 61 |.= ...z<..ec(pla| 000025a0 79 65 72 25 29 3a e7 20 63 6f 6d 70 75 74 65 72 |yer%):. computer| 000025b0 25 28 63 6f 6c 25 2b 32 2c 72 6f 77 25 2d 32 2c |%(col%+2,row%-2,| 000025c0 31 29 20 3d 20 70 6c 61 79 65 72 25 20 3d 20 b9 |1) = player% = .| 000025d0 0d 1c 84 07 3d 20 a3 0d 1c a2 3a dd a4 65 64 28 |....= ....:..ed(| 000025e0 70 6c 61 79 65 72 25 29 3a e7 20 63 6f 6d 70 75 |player%):. compu| 000025f0 74 65 72 25 28 63 6f 6c 25 2b 33 2c 72 6f 77 25 |ter%(col%+3,row%| 00002600 2c 31 29 20 3d 20 70 6c 61 79 65 72 25 20 3d 20 |,1) = player% = | 00002610 b9 0d 1c ac 07 3d 20 a3 0d 1c ca 3c dd a4 65 66 |.....= ....<..ef| 00002620 28 70 6c 61 79 65 72 25 29 3a e7 20 63 6f 6d 70 |(player%):. comp| 00002630 75 74 65 72 25 28 63 6f 6c 25 2b 33 2c 72 6f 77 |uter%(col%+3,row| 00002640 25 2d 33 2c 31 29 20 3d 20 70 6c 61 79 65 72 25 |%-3,1) = player%| 00002650 20 3d 20 b9 0d 1c d4 07 3d 20 a3 0d 1c f2 3a dd | = .....= ....:.| 00002660 a4 65 67 28 70 6c 61 79 65 72 25 29 3a e7 20 63 |.eg(player%):. c| 00002670 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c 72 6f |omputer%(col%,ro| 00002680 77 25 2d 33 2c 31 29 20 3d 20 70 6c 61 79 65 72 |w%-3,1) = player| 00002690 25 20 3d 20 b9 0d 1c fc 07 3d 20 a3 0d 1d 4c 1a |% = .....= ...L.| 000026a0 dd f2 73 63 6f 72 65 5f 70 6f 73 73 69 62 6c 65 |..score_possible| 000026b0 5f 6d 6f 76 65 73 0d 1d 60 11 e7 20 6d 6f 76 65 |_moves..`.. move| 000026c0 25 20 3d 20 31 20 8c 0d 1d 6a 0f c8 8e 20 6c 65 |% = 1 ...j... le| 000026d0 76 65 6c 25 20 ca 0d 1d 74 17 c9 20 33 20 20 20 |vel% ...t.. 3 | 000026e0 3a f2 6c 5f 33 5f 69 6e 69 74 69 61 6c 0d 1d 7e |:.l_3_initial..~| 000026f0 19 c9 20 34 2c 35 20 3a f2 6c 5f 34 5f 35 5f 69 |.. 4,5 :.l_4_5_i| 00002700 6e 69 74 69 61 6c 0d 1d 88 05 cb 0d 1d 92 05 cd |nitial..........| 00002710 0d 1d a6 14 63 6f 6d 70 5f 63 6f 75 6e 74 25 20 |....comp_count% | 00002720 2b 3d 20 31 0d 1d ba 14 c8 8e 20 63 6f 6d 70 5f |+= 1...... comp_| 00002730 63 6f 75 6e 74 25 20 ca 0d 1d ce 0e c9 20 20 31 |count% ...... 1| 00002740 20 3a f2 5f 30 61 0d 1d d8 0e c9 20 20 32 20 3a | :._0a..... 2 :| 00002750 f2 5f 30 62 0d 1d e2 0e c9 20 20 33 20 3a f2 5f |._0b..... 3 :._| 00002760 30 63 0d 1d ec 0e c9 20 20 34 20 3a f2 5f 30 64 |0c..... 4 :._0d| 00002770 0d 1e 00 0e c9 20 20 35 20 3a f2 5f 31 61 0d 1e |..... 5 :._1a..| 00002780 0a 0e c9 20 20 36 20 3a f2 5f 31 62 0d 1e 14 0e |... 6 :._1b....| 00002790 c9 20 20 37 20 3a f2 5f 31 63 0d 1e 1e 0e c9 20 |. 7 :._1c..... | 000027a0 20 38 20 3a f2 5f 31 64 0d 1e 28 0e c9 20 20 39 | 8 :._1d..(.. 9| 000027b0 20 3a f2 5f 31 65 0d 1e 32 2d c9 20 31 30 20 3a | :._1e..2-. 10 :| 000027c0 f2 5f 31 66 20 3a e7 20 6c 65 76 65 6c 25 20 3d |._1f :. level% =| 000027d0 20 32 20 8c 63 61 6c 63 73 5f 64 6f 6e 65 25 20 | 2 .calcs_done% | 000027e0 3d 20 b9 0d 1e 46 0e c9 20 31 31 20 3a f2 5f 32 |= ...F.. 11 :._2| 000027f0 61 0d 1e 50 0e c9 20 31 32 20 3a f2 5f 32 62 0d |a..P.. 12 :._2b.| 00002800 1e 5a 0e c9 20 31 33 20 3a f2 5f 32 63 0d 1e 64 |.Z.. 13 :._2c..d| 00002810 0e c9 20 31 34 20 3a f2 5f 32 64 0d 1e 6e 0e c9 |.. 14 :._2d..n..| 00002820 20 31 35 20 3a f2 5f 32 65 0d 1e 78 2d c9 20 31 | 15 :._2e..x-. 1| 00002830 36 20 3a f2 5f 32 66 20 3a e7 20 6c 65 76 65 6c |6 :._2f :. level| 00002840 25 20 3d 20 33 20 8c 63 61 6c 63 73 5f 64 6f 6e |% = 3 .calcs_don| 00002850 65 25 20 3d 20 b9 0d 1e 8c 0e c9 20 31 37 20 3a |e% = ...... 17 :| 00002860 f2 5f 33 61 0d 1e 96 2d c9 20 31 38 20 3a f2 5f |._3a...-. 18 :._| 00002870 33 62 20 3a e7 20 6c 65 76 65 6c 25 20 3d 20 34 |3b :. level% = 4| 00002880 20 8c 63 61 6c 63 73 5f 64 6f 6e 65 25 20 3d 20 | .calcs_done% = | 00002890 b9 0d 1e aa 0e c9 20 31 39 20 3a f2 5f 34 61 0d |...... 19 :._4a.| 000028a0 1e b4 0e c9 20 32 30 20 3a f2 5f 34 62 0d 1e c8 |.... 20 :._4b...| 000028b0 0e c9 20 32 31 20 3a f2 5f 35 61 0d 1e d2 1f c9 |.. 21 :._5a.....| 000028c0 20 32 32 20 3a f2 5f 35 62 20 3a 63 61 6c 63 73 | 22 :._5b :calcs| 000028d0 5f 64 6f 6e 65 25 20 3d 20 b9 0d 1e e6 05 cb 0d |_done% = .......| 000028e0 1e fa 05 e1 0d 1f 40 11 dd f2 6c 5f 33 5f 69 6e |......@...l_3_in| 000028f0 69 74 69 61 6c 0d 1f 68 18 63 6f 6d 70 75 74 65 |itial..h.compute| 00002900 72 25 28 35 2c 35 2c 30 29 20 3d 20 31 0d 1f 72 |r%(5,5,0) = 1..r| 00002910 18 63 6f 6d 70 75 74 65 72 25 28 34 2c 35 2c 30 |.computer%(4,5,0| 00002920 29 20 3d 20 31 0d 1f 7c 18 63 6f 6d 70 75 74 65 |) = 1..|.compute| 00002930 72 25 28 34 2c 36 2c 30 29 20 3d 20 31 0d 1f 86 |r%(4,6,0) = 1...| 00002940 18 63 6f 6d 70 75 74 65 72 25 28 35 2c 36 2c 30 |.computer%(5,6,0| 00002950 29 20 3d 20 31 0d 1f 90 18 63 6f 6d 70 75 74 65 |) = 1....compute| 00002960 72 25 28 36 2c 35 2c 30 29 20 3d 20 31 0d 1f 9a |r%(6,5,0) = 1...| 00002970 18 63 6f 6d 70 75 74 65 72 25 28 36 2c 34 2c 30 |.computer%(6,4,0| 00002980 29 20 3d 20 31 0d 1f a4 18 63 6f 6d 70 75 74 65 |) = 1....compute| 00002990 72 25 28 35 2c 34 2c 30 29 20 3d 20 31 0d 1f b8 |r%(5,4,0) = 1...| 000029a0 05 e1 0d 1f fe 13 dd f2 6c 5f 34 5f 35 5f 69 6e |........l_4_5_in| 000029b0 69 74 69 61 6c 0d 20 1c 18 63 6f 6d 70 75 74 65 |itial. ..compute| 000029c0 72 25 28 35 2c 35 2c 30 29 20 3d 20 31 0d 20 30 |r%(5,5,0) = 1. 0| 000029d0 05 e1 0d 20 76 09 dd f2 5f 30 61 0d 20 8a 10 ea |... v..._0a. ...| 000029e0 20 63 6f 6c 25 2c 20 72 6f 77 25 0d 20 9e 13 e3 | col%, row%. ...| 000029f0 20 63 6f 6c 25 20 3d 20 30 20 b8 20 31 30 0d 20 | col% = 0 . 10. | 00002a00 a8 12 e3 20 72 6f 77 25 20 3d 20 30 20 b8 20 39 |... row% = 0 . 9| 00002a10 0d 20 c6 23 e7 20 63 6f 6d 70 75 74 65 72 25 28 |. .#. computer%(| 00002a20 63 6f 6c 25 2c 72 6f 77 25 2c 20 31 29 20 3d 20 |col%,row%, 1) = | 00002a30 30 20 8c 0d 20 e4 0d e7 20 a4 68 28 32 29 20 8c |0 .. ... .h(2) .| 00002a40 0d 21 02 17 e7 20 63 6f 6c 25 20 2b 20 72 6f 77 |.!... col% + row| 00002a50 25 20 3e 20 39 20 8c 0d 21 0c 21 63 6f 6d 70 75 |% > 9 ..!.!compu| 00002a60 74 65 72 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 20 |ter%(col%,row%, | 00002a70 30 29 20 2b 3d 20 31 30 0d 21 20 05 cc 0d 21 2a |0) += 10.! ...!*| 00002a80 20 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c | computer%(col%,| 00002a90 72 6f 77 25 2c 20 30 29 20 2b 3d 20 35 0d 21 34 |row%, 0) += 5.!4| 00002aa0 05 cd 0d 21 48 34 e7 20 6c 65 76 65 6c 25 20 3d |...!H4. level% =| 00002ab0 20 35 20 80 20 63 6f 6c 25 20 3e 20 30 20 80 20 | 5 . col% > 0 . | 00002ac0 63 6f 6c 25 20 3c 20 31 30 20 80 20 72 6f 77 25 |col% < 10 . row%| 00002ad0 20 3c 20 39 20 8c 0d 21 52 28 e7 20 a4 62 28 32 | < 9 ..!R(. .b(2| 00002ae0 29 20 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 |) computer%(col%| 00002af0 2c 72 6f 77 25 2c 20 30 29 20 2b 3d 20 31 0d 21 |,row%, 0) += 1.!| 00002b00 5c 28 e7 20 a4 63 28 32 29 20 63 6f 6d 70 75 74 |\(. .c(2) comput| 00002b10 65 72 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 20 30 |er%(col%,row%, 0| 00002b20 29 20 2b 3d 20 31 0d 21 66 40 e7 20 a4 67 28 31 |) += 1.!f@. .g(1| 00002b30 29 20 80 20 a4 62 28 31 29 20 80 20 a4 63 28 31 |) . .b(1) . .c(1| 00002b40 29 20 80 20 a4 69 28 31 29 20 8c 63 6f 6d 70 75 |) . .i(1) .compu| 00002b50 74 65 72 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 20 |ter%(col%,row%, | 00002b60 30 29 20 3d 20 30 0d 21 70 05 cd 0d 21 84 05 cd |0) = 0.!p...!...| 00002b70 0d 21 8e 05 cd 0d 21 a2 0a ed 20 72 6f 77 25 0d |.!....!... row%.| 00002b80 21 ac 0a ed 20 63 6f 6c 25 0d 21 c0 05 e1 0d 22 |!... col%.!...."| 00002b90 06 09 dd f2 5f 30 62 0d 22 1a 10 ea 20 63 6f 6c |...._0b."... col| 00002ba0 25 2c 20 72 6f 77 25 0d 22 2e 13 e3 20 63 6f 6c |%, row%."... col| 00002bb0 25 20 3d 20 30 20 b8 20 31 30 0d 22 38 13 e3 20 |% = 0 . 10."8.. | 00002bc0 72 6f 77 25 20 3d 20 31 20 b8 20 31 30 0d 22 4c |row% = 1 . 10."L| 00002bd0 23 e7 20 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c |#. computer%(col| 00002be0 25 2c 72 6f 77 25 2c 20 31 29 20 3d 20 30 20 8c |%,row%, 1) = 0 .| 00002bf0 0d 22 6a 0d e7 20 a4 71 28 32 29 20 8c 0d 22 88 |."j.. .q(2) ..".| 00002c00 18 e7 20 63 6f 6c 25 20 2b 20 72 6f 77 25 20 3c |.. col% + row% <| 00002c10 20 31 31 20 8c 0d 22 92 21 63 6f 6d 70 75 74 65 | 11 ..".!compute| 00002c20 72 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 20 30 29 |r%(col%,row%, 0)| 00002c30 20 2b 3d 20 31 30 0d 22 a6 05 cc 0d 22 b0 20 63 | += 10."....". c| 00002c40 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c 72 6f |omputer%(col%,ro| 00002c50 77 25 2c 20 30 29 20 2b 3d 20 35 0d 22 ba 05 cd |w%, 0) += 5."...| 00002c60 0d 22 ce 34 e7 20 6c 65 76 65 6c 25 20 3d 20 35 |.".4. level% = 5| 00002c70 20 80 20 63 6f 6c 25 20 3e 20 30 20 80 20 63 6f | . col% > 0 . co| 00002c80 6c 25 20 3c 20 31 30 20 80 20 72 6f 77 25 20 3e |l% < 10 . row% >| 00002c90 20 31 20 8c 0d 22 d8 28 e7 20 a4 76 28 32 29 20 | 1 ..".(. .v(2) | 00002ca0 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c 72 |computer%(col%,r| 00002cb0 6f 77 25 2c 20 30 29 20 2b 3d 20 31 0d 22 e2 28 |ow%, 0) += 1.".(| 00002cc0 e7 20 a4 77 28 32 29 20 63 6f 6d 70 75 74 65 72 |. .w(2) computer| 00002cd0 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 20 30 29 20 |%(col%,row%, 0) | 00002ce0 2b 3d 20 31 0d 22 ec 40 e7 20 a4 70 28 31 29 20 |+= 1.".@. .p(1) | 00002cf0 80 20 a4 76 28 31 29 20 80 20 a4 77 28 31 29 20 |. .v(1) . .w(1) | 00002d00 80 20 a4 72 28 31 29 20 8c 63 6f 6d 70 75 74 65 |. .r(1) .compute| 00002d10 72 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 20 30 29 |r%(col%,row%, 0)| 00002d20 20 3d 20 30 0d 22 f6 05 cd 0d 23 0a 05 cd 0d 23 | = 0."....#....#| 00002d30 14 05 cd 0d 23 28 0a ed 20 72 6f 77 25 0d 23 32 |....#(.. row%.#2| 00002d40 0a ed 20 63 6f 6c 25 0d 23 46 05 e1 0d 23 8c 09 |.. col%.#F...#..| 00002d50 dd f2 5f 30 63 0d 23 a0 10 ea 20 63 6f 6c 25 2c |.._0c.#... col%,| 00002d60 20 72 6f 77 25 0d 23 b4 12 e3 20 63 6f 6c 25 20 | row%.#... col% | 00002d70 3d 20 30 20 b8 20 39 0d 23 be 13 e3 20 72 6f 77 |= 0 . 9.#... row| 00002d80 25 20 3d 20 31 20 b8 20 31 30 0d 23 d2 23 e7 20 |% = 1 . 10.#.#. | 00002d90 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c 72 |computer%(col%,r| 00002da0 6f 77 25 2c 20 31 29 20 3d 20 30 20 8c 0d 23 f0 |ow%, 1) = 0 ..#.| 00002db0 0d e7 20 a4 72 28 32 29 20 8c 0d 23 fa 20 63 6f |.. .r(2) ..#. co| 00002dc0 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c 72 6f 77 |mputer%(col%,row| 00002dd0 25 2c 20 30 29 20 2b 3d 20 32 0d 24 22 1e e7 20 |%, 0) += 2.$".. | 00002de0 63 6f 6c 25 20 2b 20 72 6f 77 25 20 3e 39 20 80 |col% + row% >9 .| 00002df0 20 a4 6d 28 31 29 20 8c 0d 24 2c 21 63 6f 6d 70 | .m(1) ..$,!comp| 00002e00 75 74 65 72 25 28 63 6f 6c 25 2c 72 6f 77 25 2c |uter%(col%,row%,| 00002e10 20 30 29 20 2b 3d 20 31 30 0d 24 36 05 cd 0d 24 | 0) += 10.$6...$| 00002e20 4a 28 e7 20 6c 65 76 65 6c 25 20 3d 20 35 20 80 |J(. level% = 5 .| 00002e30 20 63 6f 6c 25 20 3c 20 39 20 80 20 72 6f 77 25 | col% < 9 . row%| 00002e40 20 3e 20 31 20 8c 0d 24 54 28 e7 20 a4 77 28 32 | > 1 ..$T(. .w(2| 00002e50 29 20 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 |) computer%(col%| 00002e60 2c 72 6f 77 25 2c 20 30 29 20 2b 3d 20 31 0d 24 |,row%, 0) += 1.$| 00002e70 5e 28 e7 20 a4 78 28 32 29 20 63 6f 6d 70 75 74 |^(. .x(2) comput| 00002e80 65 72 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 20 30 |er%(col%,row%, 0| 00002e90 29 20 2b 3d 20 31 0d 24 68 40 e7 20 a4 71 28 31 |) += 1.$h@. .q(1| 00002ea0 29 20 80 20 a4 77 28 31 29 20 80 20 a4 78 28 31 |) . .w(1) . .x(1| 00002eb0 29 20 80 20 a4 73 28 31 29 20 8c 63 6f 6d 70 75 |) . .s(1) .compu| 00002ec0 74 65 72 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 20 |ter%(col%,row%, | 00002ed0 30 29 20 3d 20 30 0d 24 72 05 cd 0d 24 86 05 cd |0) = 0.$r...$...| 00002ee0 0d 24 90 05 cd 0d 24 a4 0a ed 20 72 6f 77 25 0d |.$....$... row%.| 00002ef0 24 ae 0a ed 20 63 6f 6c 25 0d 24 c2 05 e1 0d 25 |$... col%.$....%| 00002f00 08 09 dd f2 5f 30 64 0d 25 1c 10 ea 20 63 6f 6c |...._0d.%... col| 00002f10 25 2c 20 72 6f 77 25 0d 25 30 13 e3 20 63 6f 6c |%, row%.%0.. col| 00002f20 25 20 3d 20 31 20 b8 20 31 30 0d 25 3a 12 e3 20 |% = 1 . 10.%:.. | 00002f30 72 6f 77 25 20 3d 20 30 20 b8 20 39 0d 25 4e 23 |row% = 0 . 9.%N#| 00002f40 e7 20 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 |. computer%(col%| 00002f50 2c 72 6f 77 25 2c 20 31 29 20 3d 20 30 20 8c 0d |,row%, 1) = 0 ..| 00002f60 25 6c 0d e7 20 a4 67 28 32 29 20 8c 0d 25 76 20 |%l.. .g(2) ..%v | 00002f70 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c 72 |computer%(col%,r| 00002f80 6f 77 25 2c 20 30 29 20 2b 3d 20 32 0d 25 9e 1f |ow%, 0) += 2.%..| 00002f90 e7 20 63 6f 6c 25 20 2b 20 72 6f 77 25 20 3c 31 |. col% + row% <1| 00002fa0 31 20 80 20 a4 6c 28 31 29 20 8c 0d 25 a8 21 63 |1 . .l(1) ..%.!c| 00002fb0 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c 72 6f |omputer%(col%,ro| 00002fc0 77 25 2c 20 30 29 20 2b 3d 20 31 30 0d 25 b2 05 |w%, 0) += 10.%..| 00002fd0 cd 0d 25 c6 28 e7 20 6c 65 76 65 6c 25 20 3d 20 |..%.(. level% = | 00002fe0 35 20 80 20 63 6f 6c 25 20 3e 20 31 20 80 20 72 |5 . col% > 1 . r| 00002ff0 6f 77 25 20 3c 20 39 20 8c 0d 25 d0 28 e7 20 a4 |ow% < 9 ..%.(. .| 00003000 61 28 32 29 20 63 6f 6d 70 75 74 65 72 25 28 63 |a(2) computer%(c| 00003010 6f 6c 25 2c 72 6f 77 25 2c 20 30 29 20 2b 3d 20 |ol%,row%, 0) += | 00003020 31 0d 25 da 28 e7 20 a4 62 28 32 29 20 63 6f 6d |1.%.(. .b(2) com| 00003030 70 75 74 65 72 25 28 63 6f 6c 25 2c 72 6f 77 25 |puter%(col%,row%| 00003040 2c 20 30 29 20 2b 3d 20 31 0d 25 e4 40 e7 20 a4 |, 0) += 1.%.@. .| 00003050 66 28 31 29 20 80 20 a4 61 28 31 29 20 80 20 a4 |f(1) . .a(1) . .| 00003060 62 28 31 29 20 80 20 a4 68 28 31 29 20 8c 63 6f |b(1) . .h(1) .co| 00003070 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c 72 6f 77 |mputer%(col%,row| 00003080 25 2c 20 30 29 20 3d 20 30 0d 25 ee 05 cd 0d 26 |%, 0) = 0.%....&| 00003090 02 05 cd 0d 26 0c 05 cd 0d 26 20 0a ed 20 72 6f |....&....& .. ro| 000030a0 77 25 0d 26 2a 0a ed 20 63 6f 6c 25 0d 26 3e 05 |w%.&*.. col%.&>.| 000030b0 e1 0d 26 84 09 dd f2 5f 31 61 0d 26 98 10 ea 20 |..&...._1a.&... | 000030c0 63 6f 6c 25 2c 20 72 6f 77 25 0d 26 ac 13 e3 20 |col%, row%.&... | 000030d0 63 6f 6c 25 20 3d 20 31 20 b8 20 31 30 0d 26 b6 |col% = 1 . 10.&.| 000030e0 12 e3 20 72 6f 77 25 20 3d 20 31 20 b8 20 39 0d |.. row% = 1 . 9.| 000030f0 26 ca 23 e7 20 63 6f 6d 70 75 74 65 72 25 28 63 |&.#. computer%(c| 00003100 6f 6c 25 2c 72 6f 77 25 2c 20 31 29 20 3d 20 30 |ol%,row%, 1) = 0| 00003110 20 8c 0d 26 de 15 e7 20 a4 67 28 32 29 20 80 20 | ..&... .g(2) . | 00003120 a4 71 28 32 29 20 8c 0d 26 e8 2a e7 20 a4 6c 28 |.q(2) ..&.*. .l(| 00003130 31 29 20 8c 63 6f 6d 70 75 74 65 72 25 28 63 6f |1) .computer%(co| 00003140 6c 25 2c 72 6f 77 25 2c 20 30 29 20 2b 3d 20 31 |l%,row%, 0) += 1| 00003150 30 0d 26 f2 28 e7 20 a4 6c 28 32 29 20 8c 63 6f |0.&.(. .l(2) .co| 00003160 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c 72 6f 77 |mputer%(col%,row| 00003170 25 2c 20 30 29 20 3d 20 30 0d 26 fc 05 cd 0d 27 |%, 0) = 0.&....'| 00003180 10 05 cd 0d 27 24 0a ed 20 72 6f 77 25 0d 27 2e |....'$.. row%.'.| 00003190 0a ed 20 63 6f 6c 25 0d 27 42 05 e1 0d 27 88 09 |.. col%.'B...'..| 000031a0 dd f2 5f 31 62 0d 27 9c 10 ea 20 63 6f 6c 25 2c |.._1b.'... col%,| 000031b0 20 72 6f 77 25 0d 27 b0 12 e3 20 63 6f 6c 25 20 | row%.'... col% | 000031c0 3d 20 30 20 b8 20 39 0d 27 ba 12 e3 20 72 6f 77 |= 0 . 9.'... row| 000031d0 25 20 3d 20 31 20 b8 20 39 0d 27 ce 23 e7 20 63 |% = 1 . 9.'.#. c| 000031e0 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c 72 6f |omputer%(col%,ro| 000031f0 77 25 2c 20 31 29 20 3d 20 30 20 8c 0d 27 e2 15 |w%, 1) = 0 ..'..| 00003200 e7 20 a4 68 28 32 29 20 80 20 a4 72 28 32 29 20 |. .h(2) . .r(2) | 00003210 8c 0d 27 ec 2a e7 20 a4 6d 28 31 29 20 8c 63 6f |..'.*. .m(1) .co| 00003220 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c 72 6f 77 |mputer%(col%,row| 00003230 25 2c 20 30 29 20 2b 3d 20 31 30 0d 27 f6 28 e7 |%, 0) += 10.'.(.| 00003240 20 a4 6d 28 32 29 20 8c 63 6f 6d 70 75 74 65 72 | .m(2) .computer| 00003250 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 20 30 29 20 |%(col%,row%, 0) | 00003260 3d 20 30 0d 28 00 05 cd 0d 28 14 05 cd 0d 28 28 |= 0.(....(....((| 00003270 0a ed 20 72 6f 77 25 0d 28 32 0a ed 20 63 6f 6c |.. row%.(2.. col| 00003280 25 0d 28 46 05 e1 0d 28 8c 09 dd f2 5f 31 63 0d |%.(F...(...._1c.| 00003290 28 a0 10 ea 20 63 6f 6c 25 2c 20 72 6f 77 25 0d |(... col%, row%.| 000032a0 28 b4 13 e3 20 63 6f 6c 25 20 3d 20 31 20 b8 20 |(... col% = 1 . | 000032b0 31 30 0d 28 be 12 e3 20 72 6f 77 25 20 3d 20 30 |10.(... row% = 0| 000032c0 20 b8 20 39 0d 28 d2 23 e7 20 63 6f 6d 70 75 74 | . 9.(.#. comput| 000032d0 65 72 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 20 31 |er%(col%,row%, 1| 000032e0 29 20 3d 20 30 20 8c 0d 28 e6 15 e7 20 a4 68 28 |) = 0 ..(... .h(| 000032f0 32 29 20 80 20 a4 6c 28 32 29 20 8c 0d 28 f0 2a |2) . .l(2) ..(.*| 00003300 e7 20 a4 67 28 31 29 20 8c 63 6f 6d 70 75 74 65 |. .g(1) .compute| 00003310 72 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 20 30 29 |r%(col%,row%, 0)| 00003320 20 2b 3d 20 31 30 0d 28 fa 28 e7 20 a4 67 28 32 | += 10.(.(. .g(2| 00003330 29 20 8c 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c |) .computer%(col| 00003340 25 2c 72 6f 77 25 2c 20 30 29 20 3d 20 30 0d 29 |%,row%, 0) = 0.)| 00003350 04 05 cd 0d 29 18 05 cd 0d 29 2c 0a ed 20 72 6f |....)....),.. ro| 00003360 77 25 0d 29 36 0a ed 20 63 6f 6c 25 0d 29 4a 05 |w%.)6.. col%.)J.| 00003370 e1 0d 29 90 09 dd f2 5f 31 64 0d 29 a4 10 ea 20 |..)...._1d.)... | 00003380 63 6f 6c 25 2c 20 72 6f 77 25 0d 29 b8 12 e3 20 |col%, row%.)... | 00003390 63 6f 6c 25 20 3d 20 30 20 b8 20 39 0d 29 c2 13 |col% = 0 . 9.)..| 000033a0 e3 20 72 6f 77 25 20 3d 20 31 20 b8 20 31 30 0d |. row% = 1 . 10.| 000033b0 29 d6 23 e7 20 63 6f 6d 70 75 74 65 72 25 28 63 |).#. computer%(c| 000033c0 6f 6c 25 2c 72 6f 77 25 2c 20 31 29 20 3d 20 30 |ol%,row%, 1) = 0| 000033d0 20 8c 0d 29 ea 15 e7 20 a4 6d 28 32 29 20 80 20 | ..)... .m(2) . | 000033e0 a4 71 28 32 29 20 8c 0d 29 f4 2a e7 20 a4 72 28 |.q(2) ..).*. .r(| 000033f0 31 29 20 8c 63 6f 6d 70 75 74 65 72 25 28 63 6f |1) .computer%(co| 00003400 6c 25 2c 72 6f 77 25 2c 20 30 29 20 2b 3d 20 31 |l%,row%, 0) += 1| 00003410 30 0d 29 fe 28 e7 20 a4 72 28 32 29 20 8c 63 6f |0.).(. .r(2) .co| 00003420 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c 72 6f 77 |mputer%(col%,row| 00003430 25 2c 20 30 29 20 3d 20 30 0d 2a 08 05 cd 0d 2a |%, 0) = 0.*....*| 00003440 1c 05 cd 0d 2a 30 0a ed 20 72 6f 77 25 0d 2a 3a |....*0.. row%.*:| 00003450 0a ed 20 63 6f 6c 25 0d 2a 4e 05 e1 0d 2a 94 09 |.. col%.*N...*..| 00003460 dd f2 5f 31 65 0d 2a a8 10 ea 20 63 6f 6c 25 2c |.._1e.*... col%,| 00003470 20 72 6f 77 25 0d 2a bc 12 e3 20 63 6f 6c 25 20 | row%.*... col% | 00003480 3d 20 31 20 b8 20 39 0d 2a c6 12 e3 20 72 6f 77 |= 1 . 9.*... row| 00003490 25 20 3d 20 30 20 b8 20 39 0d 2a da 23 e7 20 63 |% = 0 . 9.*.#. c| 000034a0 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c 72 6f |omputer%(col%,ro| 000034b0 77 25 2c 20 31 29 20 3d 20 30 20 8c 0d 2a ee 15 |w%, 1) = 0 ..*..| 000034c0 e7 20 a4 67 28 32 29 20 80 20 a4 6d 28 32 29 20 |. .g(2) . .m(2) | 000034d0 8c 0d 2a f8 2a e7 20 a4 68 28 31 29 20 8c 63 6f |..*.*. .h(1) .co| 000034e0 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c 72 6f 77 |mputer%(col%,row| 000034f0 25 2c 20 30 29 20 2b 3d 20 31 30 0d 2b 02 28 e7 |%, 0) += 10.+.(.| 00003500 20 a4 68 28 32 29 20 8c 63 6f 6d 70 75 74 65 72 | .h(2) .computer| 00003510 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 20 30 29 20 |%(col%,row%, 0) | 00003520 3d 20 30 0d 2b 0c 05 cd 0d 2b 20 05 cd 0d 2b 34 |= 0.+....+ ...+4| 00003530 0a ed 20 72 6f 77 25 0d 2b 3e 0a ed 20 63 6f 6c |.. row%.+>.. col| 00003540 25 0d 2b 52 05 e1 0d 2b 98 09 dd f2 5f 31 66 0d |%.+R...+...._1f.| 00003550 2b ac 10 ea 20 63 6f 6c 25 2c 20 72 6f 77 25 0d |+... col%, row%.| 00003560 2b c0 12 e3 20 63 6f 6c 25 20 3d 20 31 20 b8 20 |+... col% = 1 . | 00003570 39 0d 2b ca 13 e3 20 72 6f 77 25 20 3d 20 31 20 |9.+... row% = 1 | 00003580 b8 20 31 30 0d 2b de 23 e7 20 63 6f 6d 70 75 74 |. 10.+.#. comput| 00003590 65 72 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 20 31 |er%(col%,row%, 1| 000035a0 29 20 3d 20 30 20 8c 0d 2b f2 15 e7 20 a4 6c 28 |) = 0 ..+... .l(| 000035b0 32 29 20 80 20 a4 72 28 32 29 20 8c 0d 2b fc 2a |2) . .r(2) ..+.*| 000035c0 e7 20 a4 71 28 31 29 20 8c 63 6f 6d 70 75 74 65 |. .q(1) .compute| 000035d0 72 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 20 30 29 |r%(col%,row%, 0)| 000035e0 20 2b 3d 20 31 30 0d 2c 06 28 e7 20 a4 71 28 32 | += 10.,.(. .q(2| 000035f0 29 20 8c 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c |) .computer%(col| 00003600 25 2c 72 6f 77 25 2c 20 30 29 20 3d 20 30 0d 2c |%,row%, 0) = 0.,| 00003610 10 05 cd 0d 2c 24 05 cd 0d 2c 38 0a ed 20 72 6f |....,$...,8.. ro| 00003620 77 25 0d 2c 42 0a ed 20 63 6f 6c 25 0d 2c 56 05 |w%.,B.. col%.,V.| 00003630 e1 0d 2c 9c 09 dd f2 5f 32 61 0d 2c b0 10 ea 20 |..,...._2a.,... | 00003640 63 6f 6c 25 2c 20 72 6f 77 25 0d 2c c4 13 e3 20 |col%, row%.,... | 00003650 63 6f 6c 25 20 3d 20 31 20 b8 20 31 30 0d 2c ce |col% = 1 . 10.,.| 00003660 12 e3 20 72 6f 77 25 20 3d 20 30 20 b8 20 39 0d |.. row% = 0 . 9.| 00003670 2c e2 23 e7 20 63 6f 6d 70 75 74 65 72 25 28 63 |,.#. computer%(c| 00003680 6f 6c 25 2c 72 6f 77 25 2c 20 31 29 20 3d 20 30 |ol%,row%, 1) = 0| 00003690 20 8c 0d 2c f6 30 e7 20 a4 67 28 32 29 20 80 20 | ..,.0. .g(2) . | 000036a0 a4 6c 28 32 29 20 8c 63 6f 6d 70 75 74 65 72 25 |.l(2) .computer%| 000036b0 28 63 6f 6c 25 2c 72 6f 77 25 2c 20 30 29 20 3d |(col%,row%, 0) =| 000036c0 20 30 0d 2d 0a 05 cd 0d 2d 1e 0a ed 20 72 6f 77 | 0.-....-... row| 000036d0 25 0d 2d 28 0a ed 20 63 6f 6c 25 0d 2d 3c 05 e1 |%.-(.. col%.-<..| 000036e0 0d 2d 82 09 dd f2 5f 32 62 0d 2d 96 10 ea 20 63 |.-...._2b.-... c| 000036f0 6f 6c 25 2c 20 72 6f 77 25 0d 2d aa 13 e3 20 63 |ol%, row%.-... c| 00003700 6f 6c 25 20 3d 20 31 20 b8 20 31 30 0d 2d b4 13 |ol% = 1 . 10.-..| 00003710 e3 20 72 6f 77 25 20 3d 20 31 20 b8 20 31 30 0d |. row% = 1 . 10.| 00003720 2d c8 23 e7 20 63 6f 6d 70 75 74 65 72 25 28 63 |-.#. computer%(c| 00003730 6f 6c 25 2c 72 6f 77 25 2c 20 31 29 20 3d 20 30 |ol%,row%, 1) = 0| 00003740 20 8c 0d 2d dc 30 e7 20 a4 6c 28 32 29 20 80 20 | ..-.0. .l(2) . | 00003750 a4 71 28 32 29 20 8c 63 6f 6d 70 75 74 65 72 25 |.q(2) .computer%| 00003760 28 63 6f 6c 25 2c 72 6f 77 25 2c 20 30 29 20 3d |(col%,row%, 0) =| 00003770 20 30 0d 2d f0 05 cd 0d 2e 04 0a ed 20 72 6f 77 | 0.-........ row| 00003780 25 0d 2e 0e 0a ed 20 63 6f 6c 25 0d 2e 22 05 e1 |%..... col%.."..| 00003790 0d 2e 68 09 dd f2 5f 32 63 0d 2e 7c 10 ea 20 63 |..h..._2c..|.. c| 000037a0 6f 6c 25 2c 20 72 6f 77 25 0d 2e 90 12 e3 20 63 |ol%, row%..... c| 000037b0 6f 6c 25 20 3d 20 30 20 b8 20 39 0d 2e 9a 12 e3 |ol% = 0 . 9.....| 000037c0 20 72 6f 77 25 20 3d 20 30 20 b8 20 39 0d 2e ae | row% = 0 . 9...| 000037d0 23 e7 20 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c |#. computer%(col| 000037e0 25 2c 72 6f 77 25 2c 20 31 29 20 3d 20 30 20 8c |%,row%, 1) = 0 .| 000037f0 0d 2e c2 30 e7 20 a4 68 28 32 29 20 80 20 a4 6d |...0. .h(2) . .m| 00003800 28 32 29 20 8c 63 6f 6d 70 75 74 65 72 25 28 63 |(2) .computer%(c| 00003810 6f 6c 25 2c 72 6f 77 25 2c 20 30 29 20 3d 20 30 |ol%,row%, 0) = 0| 00003820 0d 2e d6 05 cd 0d 2e ea 0a ed 20 72 6f 77 25 0d |.......... row%.| 00003830 2e f4 0a ed 20 63 6f 6c 25 0d 2f 08 05 e1 0d 2f |.... col%./..../| 00003840 4e 09 dd f2 5f 32 64 0d 2f 62 10 ea 20 63 6f 6c |N..._2d./b.. col| 00003850 25 2c 20 72 6f 77 25 0d 2f 76 12 e3 20 63 6f 6c |%, row%./v.. col| 00003860 25 20 3d 20 30 20 b8 20 39 0d 2f 80 13 e3 20 72 |% = 0 . 9./... r| 00003870 6f 77 25 20 3d 20 31 20 b8 20 31 30 0d 2f 94 23 |ow% = 1 . 10./.#| 00003880 e7 20 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 |. computer%(col%| 00003890 2c 72 6f 77 25 2c 20 31 29 20 3d 20 30 20 8c 0d |,row%, 1) = 0 ..| 000038a0 2f a8 30 e7 20 a4 6d 28 32 29 20 80 20 a4 72 28 |/.0. .m(2) . .r(| 000038b0 32 29 20 8c 63 6f 6d 70 75 74 65 72 25 28 63 6f |2) .computer%(co| 000038c0 6c 25 2c 72 6f 77 25 2c 20 30 29 20 3d 20 30 0d |l%,row%, 0) = 0.| 000038d0 2f bc 05 cd 0d 2f d0 0a ed 20 72 6f 77 25 0d 2f |/..../... row%./| 000038e0 da 0a ed 20 63 6f 6c 25 0d 2f ee 05 e1 0d 30 3e |... col%./....0>| 000038f0 09 dd f2 5f 32 65 0d 30 52 10 ea 20 63 6f 6c 25 |..._2e.0R.. col%| 00003900 2c 20 72 6f 77 25 0d 30 66 13 e3 20 63 6f 6c 25 |, row%.0f.. col%| 00003910 20 3d 20 31 20 b8 20 31 30 0d 30 70 12 e3 20 72 | = 1 . 10.0p.. r| 00003920 6f 77 25 20 3d 20 30 20 b8 20 39 0d 30 84 23 e7 |ow% = 0 . 9.0.#.| 00003930 20 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c | computer%(col%,| 00003940 72 6f 77 25 2c 20 31 29 20 3d 20 30 20 8c 0d 30 |row%, 1) = 0 ..0| 00003950 98 30 e7 20 a4 67 28 32 29 20 80 20 a4 68 28 32 |.0. .g(2) . .h(2| 00003960 29 20 8c 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c |) .computer%(col| 00003970 25 2c 72 6f 77 25 2c 20 30 29 20 3d 20 30 0d 30 |%,row%, 0) = 0.0| 00003980 ac 05 cd 0d 30 c0 0a ed 20 72 6f 77 25 0d 30 ca |....0... row%.0.| 00003990 0a ed 20 63 6f 6c 25 0d 30 de 05 e1 0d 31 1a 09 |.. col%.0....1..| 000039a0 dd f2 5f 32 66 0d 31 2e 10 ea 20 63 6f 6c 25 2c |.._2f.1... col%,| 000039b0 20 72 6f 77 25 0d 31 42 12 e3 20 63 6f 6c 25 20 | row%.1B.. col% | 000039c0 3d 20 30 20 b8 20 39 0d 31 4c 13 e3 20 72 6f 77 |= 0 . 9.1L.. row| 000039d0 25 20 3d 20 31 20 b8 20 31 30 0d 31 60 23 e7 20 |% = 1 . 10.1`#. | 000039e0 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c 72 |computer%(col%,r| 000039f0 6f 77 25 2c 20 31 29 20 3d 20 30 20 8c 0d 31 74 |ow%, 1) = 0 ..1t| 00003a00 30 e7 20 a4 71 28 32 29 20 80 20 a4 72 28 32 29 |0. .q(2) . .r(2)| 00003a10 20 8c 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 | .computer%(col%| 00003a20 2c 72 6f 77 25 2c 20 30 29 20 3d 20 30 0d 31 88 |,row%, 0) = 0.1.| 00003a30 05 cd 0d 31 9c 0a ed 20 72 6f 77 25 0d 31 a6 0a |...1... row%.1..| 00003a40 ed 20 63 6f 6c 25 0d 31 ba 05 e1 0d 32 00 09 dd |. col%.1....2...| 00003a50 f2 5f 33 61 0d 32 14 10 ea 20 63 6f 6c 25 2c 20 |._3a.2... col%, | 00003a60 72 6f 77 25 0d 32 28 12 e3 20 63 6f 6c 25 20 3d |row%.2(.. col% =| 00003a70 20 31 20 b8 20 39 0d 32 32 12 e3 20 72 6f 77 25 | 1 . 9.22.. row%| 00003a80 20 3d 20 31 20 b8 20 39 0d 32 46 23 e7 20 63 6f | = 1 . 9.2F#. co| 00003a90 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c 72 6f 77 |mputer%(col%,row| 00003aa0 25 2c 20 31 29 20 3d 20 30 20 8c 0d 32 64 15 e7 |%, 1) = 0 ..2d..| 00003ab0 20 a4 6c 28 31 29 20 80 20 a4 6d 28 31 29 20 8c | .l(1) . .m(1) .| 00003ac0 0d 32 82 2d e7 20 28 a4 71 28 32 29 20 84 20 a4 |.2.-. (.q(2) . .| 00003ad0 72 28 32 29 29 20 80 20 28 ac 20 a4 67 28 31 29 |r(2)) . (. .g(1)| 00003ae0 20 84 20 ac 20 a4 68 28 31 29 29 20 8c 0d 32 8c | . . .h(1)) ..2.| 00003af0 20 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c | computer%(col%,| 00003b00 72 6f 77 25 2c 20 30 29 20 2b 3d 20 35 0d 32 96 |row%, 0) += 5.2.| 00003b10 05 cd 0d 32 a0 05 cd 0d 32 aa 05 cd 0d 32 be 0a |...2....2....2..| 00003b20 ed 20 72 6f 77 25 0d 32 c8 0a ed 20 63 6f 6c 25 |. row%.2... col%| 00003b30 0d 32 dc 05 e1 0d 33 2c 09 dd f2 5f 33 62 0d 33 |.2....3,..._3b.3| 00003b40 40 10 ea 20 63 6f 6c 25 2c 20 72 6f 77 25 0d 33 |@.. col%, row%.3| 00003b50 54 12 e3 20 63 6f 6c 25 20 3d 20 31 20 b8 20 39 |T.. col% = 1 . 9| 00003b60 0d 33 5e 12 e3 20 72 6f 77 25 20 3d 20 31 20 b8 |.3^.. row% = 1 .| 00003b70 20 39 0d 33 72 23 e7 20 63 6f 6d 70 75 74 65 72 | 9.3r#. computer| 00003b80 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 20 31 29 20 |%(col%,row%, 1) | 00003b90 3d 20 30 20 8c 0d 33 90 15 e7 20 a4 6c 28 31 29 |= 0 ..3... .l(1)| 00003ba0 20 80 20 a4 6d 28 31 29 20 8c 0d 33 ae 2d e7 20 | . .m(1) ..3.-. | 00003bb0 28 a4 67 28 32 29 20 84 20 a4 68 28 32 29 29 20 |(.g(2) . .h(2)) | 00003bc0 80 20 28 ac 20 a4 71 28 31 29 20 84 20 ac 20 a4 |. (. .q(1) . . .| 00003bd0 72 28 31 29 29 20 8c 0d 33 b8 20 63 6f 6d 70 75 |r(1)) ..3. compu| 00003be0 74 65 72 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 20 |ter%(col%,row%, | 00003bf0 30 29 20 2b 3d 20 35 0d 33 c2 05 cd 0d 33 cc 05 |0) += 5.3....3..| 00003c00 cd 0d 33 d6 05 cd 0d 33 ea 0a ed 20 72 6f 77 25 |..3....3... row%| 00003c10 0d 33 f4 0a ed 20 63 6f 6c 25 0d 34 08 05 e1 0d |.3... col%.4....| 00003c20 34 4e 09 dd f2 5f 34 61 0d 34 62 10 ea 20 63 6f |4N..._4a.4b.. co| 00003c30 6c 25 2c 20 72 6f 77 25 0d 34 76 13 e3 20 63 6f |l%, row%.4v.. co| 00003c40 6c 25 20 3d 20 32 20 b8 20 31 30 0d 34 80 12 e3 |l% = 2 . 10.4...| 00003c50 20 72 6f 77 25 20 3d 20 30 20 b8 20 38 0d 34 94 | row% = 0 . 8.4.| 00003c60 23 e7 20 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c |#. computer%(col| 00003c70 25 2c 72 6f 77 25 2c 20 31 29 20 3d 20 30 20 8c |%,row%, 1) = 0 .| 00003c80 0d 34 b2 17 e7 20 63 6f 6c 25 20 2b 20 72 6f 77 |.4... col% + row| 00003c90 25 20 3c 31 30 20 8c 0d 34 c6 25 e7 20 a4 61 28 |% <10 ..4.%. .a(| 00003ca0 31 29 20 80 20 a4 62 28 32 29 20 80 20 a4 67 28 |1) . .b(2) . .g(| 00003cb0 30 29 20 80 20 a4 68 28 30 29 20 8c 0d 34 d0 21 |0) . .h(0) ..4.!| 00003cc0 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c 72 |computer%(col%,r| 00003cd0 6f 77 25 2c 20 30 29 20 2b 3d 20 32 30 0d 34 e4 |ow%, 0) += 20.4.| 00003ce0 1d e7 20 6c 65 76 65 6c 25 20 3d 20 35 20 80 20 |.. level% = 5 . | 00003cf0 72 6f 77 25 20 3c 20 38 20 8c 0d 34 ee 42 e7 20 |row% < 8 ..4.B. | 00003d00 a4 61 28 31 29 20 80 20 a4 63 62 28 31 29 20 80 |.a(1) . .cb(1) .| 00003d10 20 a4 63 63 28 31 29 20 80 20 a4 63 28 31 29 20 | .cc(1) . .c(1) | 00003d20 8c 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c |.computer%(col%,| 00003d30 72 6f 77 25 2c 20 30 29 20 3d 20 30 0d 34 f8 2a |row%, 0) = 0.4.*| 00003d40 e7 20 a4 63 62 28 32 29 20 8c 63 6f 6d 70 75 74 |. .cb(2) .comput| 00003d50 65 72 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 20 30 |er%(col%,row%, 0| 00003d60 29 20 2b 3d 20 31 0d 35 02 2a e7 20 a4 63 63 28 |) += 1.5.*. .cc(| 00003d70 32 29 20 8c 63 6f 6d 70 75 74 65 72 25 28 63 6f |2) .computer%(co| 00003d80 6c 25 2c 72 6f 77 25 2c 20 30 29 20 2b 3d 20 31 |l%,row%, 0) += 1| 00003d90 0d 35 16 05 cd 0d 35 20 05 cd 0d 35 2a 05 cd 0d |.5....5 ...5*...| 00003da0 35 34 05 cd 0d 35 48 0a ed 20 72 6f 77 25 0d 35 |54...5H.. row%.5| 00003db0 52 0a ed 20 63 6f 6c 25 0d 35 66 05 e1 0d 35 ac |R.. col%.5f...5.| 00003dc0 09 dd f2 5f 34 62 0d 35 c0 10 ea 20 63 6f 6c 25 |..._4b.5... col%| 00003dd0 2c 20 72 6f 77 25 0d 35 d4 12 e3 20 63 6f 6c 25 |, row%.5... col%| 00003de0 20 3d 20 30 20 b8 20 38 0d 35 de 13 e3 20 72 6f | = 0 . 8.5... ro| 00003df0 77 25 20 3d 20 32 20 b8 20 31 30 0d 35 f2 23 e7 |w% = 2 . 10.5.#.| 00003e00 20 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c | computer%(col%,| 00003e10 72 6f 77 25 2c 20 31 29 20 3d 20 30 20 8c 0d 36 |row%, 1) = 0 ..6| 00003e20 10 17 e7 20 63 6f 6c 25 20 2b 20 72 6f 77 25 20 |... col% + row% | 00003e30 3e 31 30 20 8c 0d 36 24 25 e7 20 a4 78 28 31 29 |>10 ..6$%. .x(1)| 00003e40 20 80 20 a4 77 28 32 29 20 80 20 a4 71 28 30 29 | . .w(2) . .q(0)| 00003e50 20 80 20 a4 72 28 30 29 20 8c 0d 36 2e 21 63 6f | . .r(0) ..6.!co| 00003e60 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c 72 6f 77 |mputer%(col%,row| 00003e70 25 2c 20 30 29 20 2b 3d 20 32 30 0d 36 42 1d e7 |%, 0) += 20.6B..| 00003e80 20 6c 65 76 65 6c 25 20 3d 20 35 20 80 20 72 6f | level% = 5 . ro| 00003e90 77 25 20 3e 20 32 20 8c 0d 36 4c 42 e7 20 a4 76 |w% > 2 ..6LB. .v| 00003ea0 28 31 29 20 80 20 a4 64 62 28 31 29 20 80 20 a4 |(1) . .db(1) . .| 00003eb0 64 63 28 31 29 20 80 20 a4 78 28 31 29 20 8c 63 |dc(1) . .x(1) .c| 00003ec0 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c 72 6f |omputer%(col%,ro| 00003ed0 77 25 2c 20 30 29 20 3d 20 30 0d 36 56 2a e7 20 |w%, 0) = 0.6V*. | 00003ee0 a4 64 62 28 32 29 20 8c 63 6f 6d 70 75 74 65 72 |.db(2) .computer| 00003ef0 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 20 30 29 20 |%(col%,row%, 0) | 00003f00 2b 3d 20 31 0d 36 60 2a e7 20 a4 64 63 28 32 29 |+= 1.6`*. .dc(2)| 00003f10 20 8c 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 | .computer%(col%| 00003f20 2c 72 6f 77 25 2c 20 30 29 20 2b 3d 20 31 0d 36 |,row%, 0) += 1.6| 00003f30 74 05 cd 0d 36 7e 05 cd 0d 36 88 05 cd 0d 36 92 |t...6~...6....6.| 00003f40 05 cd 0d 36 a6 0a ed 20 72 6f 77 25 0d 36 b0 0a |...6... row%.6..| 00003f50 ed 20 63 6f 6c 25 0d 36 c4 05 e1 0d 37 0a 09 dd |. col%.6....7...| 00003f60 f2 5f 35 61 0d 37 1e 10 ea 20 63 6f 6c 25 2c 20 |._5a.7... col%, | 00003f70 72 6f 77 25 0d 37 32 12 e3 20 63 6f 6c 25 20 3d |row%.72.. col% =| 00003f80 20 30 20 b8 20 38 0d 37 3c 13 e3 20 72 6f 77 25 | 0 . 8.7<.. row%| 00003f90 20 3d 20 34 20 b8 20 31 30 0d 37 50 23 e7 20 63 | = 4 . 10.7P#. c| 00003fa0 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c 72 6f |omputer%(col%,ro| 00003fb0 77 25 2c 20 31 29 20 3d 20 30 20 8c 0d 37 64 31 |w%, 1) = 0 ..7d1| 00003fc0 e7 20 a4 77 28 32 29 20 80 20 28 28 a4 71 28 30 |. .w(2) . ((.q(0| 00003fd0 29 20 80 20 a4 72 28 30 29 29 84 28 a4 71 28 32 |) . .r(0)).(.q(2| 00003fe0 29 20 84 20 a4 72 28 32 29 29 29 20 8c 0d 37 6e |) . .r(2))) ..7n| 00003ff0 20 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c | computer%(col%,| 00004000 72 6f 77 25 2c 20 30 29 20 2b 3d 20 33 0d 37 78 |row%, 0) += 3.7x| 00004010 36 e7 20 a4 64 61 28 32 29 20 80 20 28 28 a4 64 |6. .da(2) . ((.d| 00004020 62 28 30 29 20 80 20 a4 64 63 28 30 29 29 84 28 |b(0) . .dc(0)).(| 00004030 a4 64 62 28 32 29 20 84 20 a4 64 63 28 32 29 29 |.db(2) . .dc(2))| 00004040 29 20 8c 0d 37 82 21 63 6f 6d 70 75 74 65 72 25 |) ..7.!computer%| 00004050 28 63 6f 6c 25 2c 72 6f 77 25 2c 20 30 29 20 2b |(col%,row%, 0) +| 00004060 3d 20 31 37 0d 37 8c 05 cd 0d 37 96 05 cd 0d 37 |= 17.7....7....7| 00004070 a0 05 cd 0d 37 b4 0a ed 20 72 6f 77 25 0d 37 be |....7... row%.7.| 00004080 0a ed 20 63 6f 6c 25 0d 37 d2 05 e1 0d 38 18 09 |.. col%.7....8..| 00004090 dd f2 5f 35 62 0d 38 2c 10 ea 20 63 6f 6c 25 2c |.._5b.8,.. col%,| 000040a0 20 72 6f 77 25 0d 38 40 13 e3 20 63 6f 6c 25 20 | row%.8@.. col% | 000040b0 3d 20 32 20 b8 20 31 30 0d 38 4a 12 e3 20 72 6f |= 2 . 10.8J.. ro| 000040c0 77 25 20 3d 20 30 20 b8 20 36 0d 38 5e 23 e7 20 |w% = 0 . 6.8^#. | 000040d0 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 2c 72 |computer%(col%,r| 000040e0 6f 77 25 2c 20 31 29 20 3d 20 30 20 8c 0d 38 72 |ow%, 1) = 0 ..8r| 000040f0 31 e7 20 a4 62 28 32 29 20 80 20 28 28 a4 67 28 |1. .b(2) . ((.g(| 00004100 30 29 20 80 20 a4 68 28 30 29 29 84 28 a4 67 28 |0) . .h(0)).(.g(| 00004110 32 29 20 84 20 a4 68 28 32 29 29 29 20 8c 0d 38 |2) . .h(2))) ..8| 00004120 7c 20 63 6f 6d 70 75 74 65 72 25 28 63 6f 6c 25 || computer%(col%| 00004130 2c 72 6f 77 25 2c 20 30 29 20 2b 3d 20 33 0d 38 |,row%, 0) += 3.8| 00004140 86 36 e7 20 a4 63 61 28 32 29 20 80 20 28 28 a4 |.6. .ca(2) . ((.| 00004150 63 62 28 30 29 20 80 20 a4 63 63 28 30 29 29 84 |cb(0) . .cc(0)).| 00004160 28 a4 63 62 28 32 29 20 84 20 a4 63 63 28 32 29 |(.cb(2) . .cc(2)| 00004170 29 29 20 8c 0d 38 90 21 63 6f 6d 70 75 74 65 72 |)) ..8.!computer| 00004180 25 28 63 6f 6c 25 2c 72 6f 77 25 2c 20 30 29 20 |%(col%,row%, 0) | 00004190 2b 3d 20 31 37 0d 38 9a 05 cd 0d 38 a4 05 cd 0d |+= 17.8....8....| 000041a0 38 ae 05 cd 0d 38 c2 0a ed 20 72 6f 77 25 0d 38 |8....8... row%.8| 000041b0 cc 0a ed 20 63 6f 6c 25 0d 38 e0 05 e1 0d ff |... col%.8.....| 000041bf