Home » Archimedes archive » Acorn User » AU 1996-Xmas.adf » Regulars » StarInfo/Somerville/!Reaction/!RunImage

StarInfo/Somerville/!Reaction/!RunImage

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 » Acorn User » AU 1996-Xmas.adf » Regulars
Filename: StarInfo/Somerville/!Reaction/!RunImage
Read OK:
File size: 4BDE bytes
Load address: 0000
Exec address: 0000
File contents
   10ON ERROR REPORT:PRINT ERL:END
   20MODE 28
   30DIM area% 326000
   40!area%=326000:area%!4=28:area%!8=16
   50SYS "OS_SpriteOp",10+256,area%,"<React$Dir>.Sprites"
   60SYS "Stasis_Load",1,"<React$Dir>.Sfx1"
   70SYS "Stasis_Load",2,"<React$Dir>.Sfx2"
   80SYS "Stasis_Attach",1
   90SYS "Stasis_Attach",2
  100SYS "Stasis_Link",1,1
  110SYS "Stasis_Link",2,2
  120SYS "Font_FindFont",,"Trinity.Medium",256,256,0,0 TO fhandle%
  130SYS "Font_SetPalette",,0,15,14,0,&0088FF00
  140
  150PROCinit_game
  160
  170PROCmain_loop
  180
  190SYS "Font_LoseFont",fhandle%
  200END
  210
  220
  230DEF PROCmain_loop
  240 quit%=FALSE
  250 REPEAT
  260  PROCmenu
  270  IF quit%=FALSE THEN PROCstart_game
  280  IF quit%=FALSE THEN PROCplay_game
  290 UNTIL quit%=TRUE
  300ENDPROC
  310
  320
  330
  340
  350DEF PROCmenu
  360 LOCAL exit%,mx%,my%,btn%,bon%,htext$,htold$
  370 exit%=FALSE
  380 CLS:OFF
  390 MOUSE ON
  400 PROCplot_playboxes(players%,2)
  410 SYS "OS_SpriteOp",34+256,area%,"arleft",1040,330
  420 SYS "OS_SpriteOp",34+256,area%,"arright",1160,330
  430 SYS "OS_SpriteOp",34+256,area%,"btnplay",1060,140
  440 SYS "OS_SpriteOp",34+256,area%,"btnquit",1060,20
  450 SYS "OS_SpriteOp",34+256,area%,"logo",400,760
  460 SYS "OS_SpriteOp",34+256,area%,"arleft",1040,530
  470 SYS "OS_SpriteOp",34+256,area%,"arright",1160,530
  480 SYS "Font_SetFont",fhandle%
  490 SYS "Font_SetPalette",,0,15,14,0,&00FFFF00
  500 SYS "Font_Paint",,"by Phil Norman",&14,620,780
  510 SYS "Font_Paint",,"downgraded by Matthew Somerville",&14,620,730
  520 SYS "Font_SetPalette",,0,15,14,0,&0088FF00
  530 SYS "Font_Paint",,"Players : "+STR$(players%+1),&14,1060,280
  540 SYS "Font_Paint",,"Volume : "+STR$(volume%),&14,1050,480
  550 bon%=FALSE
  560 REPEAT:MOUSE mx%,my%,btn%:UNTIL btn%=0
  570 REPEAT
  580  MOUSE mx%,my%,btn%
  590  IF btn%=4 AND bon%=FALSE THEN
  600   bon%=TRUE
  610   IF mx%>1040 AND mx%<1140 AND my%>530 AND my%<630 THEN
  620    volume%-=4
  630    IF volume%<0 THEN volume%=0
  640    SYS "Stasis_Sound",1,1,volume%,&7000
  650    SYS "OS_SetColour",0,0
  660    RECTANGLE FILL 1050,480,300,48
  670    SYS "Font_Paint",,"Volume : "+STR$(volume%),&14,1050,480
  680   ENDIF
  690   IF mx%>1160 AND mx%<1260 AND my%>530 AND my%<630 THEN
  700    volume%+=4
  710    IF volume%>127 THEN volume%=127
  720    SYS "Stasis_Sound",1,1,volume%,&7000
  730    SYS "OS_SetColour",0,0
  740    RECTANGLE FILL 1050,480,300,48
  750    SYS "Font_Paint",,"Volume : "+STR$(volume%),&14,1050,480
  760   ENDIF
  770   IF mx%>1040 AND mx%<1140 AND my%>330 AND my%<430 THEN
  780    SYS "Stasis_Sound",1,1,volume%,&7000
  790    players%-=1
  800    IF players%<1 THEN players%=1
  810    SYS "OS_SetColour",0,0
  820    RECTANGLE FILL 0,165,800,260
  830    PROCplot_playboxes(players%,2)
  840    SYS "OS_SetColour",0,0
  850    RECTANGLE FILL 1050,280,300,48
  860    SYS "Font_Paint",,"Players : "+STR$(players%+1),&14,1060,280
  870   ENDIF
  880   IF mx%>1160 AND mx%<1260 AND my%>330 AND my%<430 THEN
  890    SYS "Stasis_Sound",1,1,volume%,&7000
  900    players%+=1
  910    IF players%>3 THEN players%=3
  920    PROCplot_playboxes(players%,2)
  930    SYS "OS_SetColour",0,0
  940    RECTANGLE FILL 1050,280,300,48
  950    SYS "Font_Paint",,"Players : "+STR$(players%+1),&14,1060,280
  960   ENDIF
  970   IF mx%>1060 AND mx%<1260 AND my%>140 AND my%<240 THEN
  980    SYS "Stasis_Sound",1,1,volume%,&7000
  990    exit%=TRUE
 1000   ENDIF
 1010   IF mx%>1060 AND mx%<1260 AND my%>20 AND my%<120 THEN
 1020    SYS "Stasis_Sound",1,1,volume%,&7000
 1030    PROCend
 1040   ENDIF
 1050   IF mx%<400 AND my%>450 AND my%<700 THEN
 1060    computer%(0)=NOT computer%(0)
 1070    SYS "Stasis_Sound",1,1,volume%,&7000
 1080    SYS "OS_SetColour",0,0
 1090    RECTANGLE FILL 0,440,400,50
 1100    PROCplot_playboxes(players%,2)
 1110   ENDIF
 1120   IF mx%>400 AND mx%<800 AND my%>450 AND my%<700 THEN
 1130    computer%(1)=NOT computer%(1)
 1140    SYS "Stasis_Sound",1,1,volume%,&7000
 1150    SYS "OS_SetColour",0,0
 1160    RECTANGLE FILL 400,440,400,50
 1170    PROCplot_playboxes(players%,2)
 1180   ENDIF
 1190   IF mx%<400 AND my%>175 AND my%<425 AND players%>1 THEN
 1200    computer%(2)=NOT computer%(2)
 1210    SYS "Stasis_Sound",1,1,volume%,&7000
 1220    SYS "OS_SetColour",0,0
 1230    RECTANGLE FILL 0,165,400,50
 1240    PROCplot_playboxes(players%,2)
 1250   ENDIF
 1260   IF mx%>400 AND mx%<800 AND my%>175 AND my%<425 AND players%>2 THEN
 1270    computer%(3)=NOT computer%(3)
 1280    SYS "Stasis_Sound",1,1,volume%,&7000
 1290    SYS "OS_SetColour",0,0
 1300    RECTANGLE FILL 400,165,400,50
 1310    PROCplot_playboxes(players%,2)
 1320   ENDIF
 1330   htold$=""
 1340  ELSE
 1350   htext$=""
 1360   IF mx%>1050 AND mx%<1250 AND my%>280 AND my%<330 THEN htext$="playlev"
 1370   IF mx%>1050 AND mx%<1250 AND my%>480 AND my%<530 THEN htext$="vollev"
 1380   IF mx%>1040 AND mx%<1140 AND my%>330 AND my%<430 THEN htext$="arleft"
 1390   IF mx%>1160 AND mx%<1260 AND my%>330 AND my%<430 THEN htext$="arright"
 1400   IF mx%>1040 AND mx%<1140 AND my%>530 AND my%<630 THEN htext$="volleft"
 1410   IF mx%>1160 AND mx%<1260 AND my%>530 AND my%<630 THEN htext$="volrght"
 1420   IF mx%>1060 AND mx%<1260 AND my%>140 AND my%<240 THEN htext$="play"
 1430   IF mx%>1060 AND mx%<1260 AND my%>20 AND my%<120 THEN htext$="quit"
 1440   IF mx%<400 AND my%>500 AND my%<700 THEN htext$="player1"
 1450   IF mx%>400 AND mx%<800 AND my%>500 AND my%<700 THEN htext$="player2"
 1460   IF mx%<400 AND my%>225 AND my%<425 AND players%>1 THEN htext$="player3"
 1470   IF mx%>400 AND mx%<800 AND my%>225 AND my%<425 AND players%>2 THEN htext$="player4"
 1480   IF mx%<400 AND my%>450 AND my%<500 THEN htext$="comp1"
 1490   IF mx%>400 AND mx%<800 AND my%>450 AND my%<500 THEN htext$="comp2"
 1500   IF mx%<400 AND my%>175 AND my%<225 AND players%>1 THEN htext$="comp3"
 1510   IF mx%>400 AND mx%<800 AND my%>175 AND my%<225 AND players%>2 THEN htext$="comp4"
 1520   IF mx%>400 AND mx%<860 AND my%>760 AND my%<960 THEN htext$="logo"
 1530   IF mx%>620 AND mx%<1200 AND my%>710 AND my%<760 THEN htext$="downgra"
 1540   IF mx%<1060 AND my%<120 THEN htext$="help"
 1550   IF htold$<>htext$ THEN PROChelp_text(htext$)
 1560   htold$=htext$
 1570  ENDIF
 1580  IF btn%=0 THEN bon%=FALSE
 1590 UNTIL exit%=TRUE
 1600VDU4:OFF
 1610ENDPROC
 1620
 1630
 1640DEF PROCinit_game
 1650 LOCAL x%,y%
 1660 dummy%=RND(-TIME)
 1670 PROCinit_coltable
 1680 players%=3
 1690 volume%=&4F
 1700 DIM playtext$(3)
 1710 playtext$()="Blue","Green","Brown","Red"
 1720 DIM maxnum%(7,7)
 1730 FOR x%=0 TO 7
 1740  FOR y%=0 TO 7
 1750   maxnum%(x%,y%)=3
 1760   IF x%*y%=0 THEN maxnum%(x%,y%)=2
 1770   IF x%=7 THEN maxnum%(x%,y%)=2
 1780   IF y%=7 THEN maxnum%(x%,y%)=2
 1790   IF x%=0 AND y%=0 THEN maxnum%(x%,y%)=1
 1800   IF x%=0 AND y%=7 THEN maxnum%(x%,y%)=1
 1810   IF x%=7 AND y%=0 THEN maxnum%(x%,y%)=1
 1820   IF x%=7 AND y%=7 THEN maxnum%(x%,y%)=1
 1830  NEXT
 1840 NEXT
 1850 DIM numthere%(7,7)
 1860 DIM comp_numthere%(7,7)
 1870 DIM playerthere%(7,7)
 1880 DIM comp_playerthere%(7,7)
 1890 DIM playersalive%(3)
 1900 DIM comp_players%(3)
 1910 DIM computer%(3)
 1920 DIM diff(7,7)
 1930 computer%()=TRUE
 1940ENDPROC
 1950
 1960DEF PROCplay_game
 1970 LOCAL mx%,my%,btn%,gameover%,whosego%,x%,y%,playcount%,exit%,last_player%
 1980 LOCAL ERROR
 1990 ON ERROR LOCAL RESTORE ERROR:ENDPROC
 2000 VDU5:OFF
 2010 gameover%=FALSE
 2020 whosego%=RND(players%+1)-1
 2030 playcount%=0
 2040 REPEAT
 2050  REPEAT
 2060   whosego%+=1
 2070   IF whosego%>players% THEN whosego%=0
 2080  UNTIL playersalive%(whosego%)=TRUE
 2090  playcount%+=1
 2100  PROCplot_rectangles(whosego%)
 2110  exit%=FALSE
 2120  IF computer%(whosego%)=TRUE THEN
 2130   MOUSE ON
 2140   REPEAT
 2150   MOUSE mx%,my%,btn%
 2160    x%=mx% DIV 100
 2170    y%=my% DIV 100
 2180    IF x%<=7 AND y%<=7 THEN
 2190     exit%=TRUE
 2200     IF playerthere%(x%,y%)<>whosego% AND numthere%(x%,y%)>0 THEN exit%=FALSE
 2210    ENDIF
 2220    IF btn%<>4 THEN exit%=FALSE
 2230   UNTIL exit%=TRUE
 2240  ELSE
 2250   MOUSE OFF
 2260   REPEAT
 2270    exit%=TRUE
 2280    PROCcomputer_go
 2290   UNTIL exit%=TRUE
 2300  ENDIF
 2310  SYS "Stasis_Sound",1,1,volume%,&7000
 2320  playerthere%(x%,y%)=whosego%
 2330  numthere%(x%,y%)+=1
 2340  PROCplot_player(x%,y%,whosego%)
 2350  IF numthere%(x%,y%)>maxnum%(x%,y%) THEN PROCexplode(x%,y%,whosego%)
 2360  IF playcount%>players% THEN
 2370   FOR x%=0 TO 3
 2380    playersalive%(x%)=FNget_playerstate(x%)
 2390   NEXT
 2400   gameover%=FNget_gamestate
 2410  ENDIF
 2420 UNTIL gameover%=TRUE
 2430 FOR x%=0 TO players%
 2440  IF playersalive%(x%)=TRUE THEN last_player%=x%
 2450 NEXT
 2460 VDU4
 2470 PROCplayer_won(last_player%)
 2480 RESTORE ERROR
 2490ENDPROC
 2500
 2510
 2520DEF PROCstart_game
 2530 LOCAL x%,y%
 2540 numthere%()=0
 2550 playerthere%()=0
 2560 CLS
 2570 FOR x%=0 TO 7
 2580  FOR y%=0 TO 7
 2590   PROCplot_wood(x%+y%)
 2600  NEXT
 2610 NEXT
 2620 PROCplot_playboxes(players%,1)
 2630 FOR x%=0 TO 3
 2640  playersalive%(x%)=TRUE
 2650 NEXT
 2660FOR x%=0 TO 3:FOR y%=4 TO 7:PROCplot_player(x%,y%,1):NEXT:NEXT
 2670ENDPROC
 2680
 2690DEF PROCplayer_won(p%)
 2700 LOCAL mx%,my%,btn%,key%
 2710 SYS "OS_SetColour",0,0
 2720 RECTANGLE FILL 550,400,500,400
 2730 SYS "OS_SetColour",0,255
 2740 RECTANGLE 556,406,488,388
 2750 SYS "OS_SpriteOp",34+256,area%,"play"+FNget_playertext(p%),600,550
 2760 VDU5
 2770 MOVE 604,500
 2780 SYS "OS_SetColour",0,255
 2790 PRINT "The "+FNget_playertext(p%)+" player has won"
 2800 MOVE 644,468
 2810 PRINT "with "+STR$(FNget_numcounters(p%))+" counters."
 2820 REPEAT
 2830  MOUSE mx%,my%,btn%
 2840  key%=INKEY(0)
 2850 UNTIL key%>0 OR btn%>0
 2860ENDPROC
 2870
 2880
 2890
 2900DEF PROCplot_playboxes(p%,hv%)
 2910 LOCAL x%
 2920 FOR x%=0 TO p%
 2930  IF hv%=1 THEN
 2940   SYS "OS_SpriteOp",34+256,area%,"play"+FNget_playertext(x%),880,225*x%
 2950  ELSE
 2960   IF x%=0 OR x%=1 THEN
 2970    SYS "OS_SpriteOp",34+256,area%,"play"+FNget_playertext(x%),x%*400,500
 2980   ELSE
 2990    SYS "OS_SpriteOp",34+256,area%,"play"+FNget_playertext(x%),(x%-2)*400,225
 3000   ENDIF
 3010   PROCprint_player(x%)
 3020  ENDIF
 3030 NEXT
 3040ENDPROC
 3050
 3060DEF PROCexplode(x%,y%,p%)
 3070 LOCAL t%,over%
 3080 gameover%=FNget_gamestate
 3090 IF gameover%=TRUE THEN ENDPROC
 3100 over%=numthere%(x%,y%)-maxnum%(x%,y%)
 3110 numthere%(x%,y%)=0
 3120 PROCplot_wood(x%+y%)
 3130 SYS "OS_SpriteOp",34+256,area%,"explosion",x%*100,y%*100,8
 3140 SYS "Stasis_Sound",1,2,volume%,&3500
 3150 t%=TIME
 3160 REPEAT:UNTILTIME-t%>20
 3170 PROCplot_wood(x%+y%)
 3180 IF x%>0 THEN
 3190  numthere%(x%-1,y%)+=over%
 3200  playerthere%(x%-1,y%)=p%
 3210  PROCplot_player(x%-1,y%,p%)
 3220  IF numthere%(x%-1,y%)>maxnum%(x%-1,y%) THEN PROCexplode(x%-1,y%,p%)
 3230 ENDIF
 3240 IF x%<7 THEN
 3250  numthere%(x%+1,y%)+=over%
 3260  playerthere%(x%+1,y%)=p%
 3270  PROCplot_player(x%+1,y%,p%)
 3280  IF numthere%(x%+1,y%)>maxnum%(x%+1,y%) THEN PROCexplode(x%+1,y%,p%)
 3290 ENDIF
 3300 IF y%>0 THEN
 3310  numthere%(x%,y%-1)+=over%
 3320  playerthere%(x%,y%-1)=p%
 3330  PROCplot_player(x%,y%-1,p%)
 3340  IF numthere%(x%,y%-1)>maxnum%(x%,y%-1) THEN PROCexplode(x%,y%-1,p%)
 3350 ENDIF
 3360 IF y%<7 THEN
 3370  numthere%(x%,y%+1)+=over%
 3380  playerthere%(x%,y%+1)=p%
 3390  PROCplot_player(x%,y%+1,p%)
 3400  IF numthere%(x%,y%+1)>maxnum%(x%,y%+1) THEN PROCexplode(x%,y%+1,p%)
 3410 ENDIF
 3420ENDPROC
 3430
 3440
 3450DEF PROCinit_coltable
 3460 DIM colson%(3)
 3470 DIM colsoff%(3)
 3480 colson%()=139,65,59,23
 3490 colsoff%()=128,32,7,16
 3500ENDPROC
 3510
 3520DEF PROCplot_rectangles(p%)
 3530 LOCAL x%,col%
 3540 FOR x%=0 TO players%
 3550  IF x%=p% THEN
 3560   col%=255
 3570  ELSE
 3580   col%=0
 3590  ENDIF
 3600  SYS "OS_SetColour",0,0
 3610  RECTANGLE FILL 884,x%*225+175,390,40
 3620  IF playersalive%(x%)=TRUE THEN
 3630   SYS "OS_SetColour",0,colson%(x%)
 3640   RECTANGLE 880,x%*225,398,223
 3650   RECTANGLE 882,x%*225+2,394,219
 3660   MOVE 882,x%*225+2
 3670   SYS "OS_SetColour",0,col%
 3680   SYS "OS_Plot",57,394,0
 3690   SYS "OS_Plot",57,0,219
 3700   SYS "OS_Plot",57,-394,0
 3710   SYS "OS_Plot",57,0,-219
 3720   SYS "OS_SetColour",0,colson%(x%)
 3730   MOVE 920,x%*225+200
 3740   PRINT "Counters : "+STR$(FNget_numcounters(x%))
 3750   PROCprint_comp(x%)
 3760  ELSE
 3770   SYS "OS_SetColour",0,colson%(x%)
 3780   MOVE 920,x%*225+200
 3790   PRINT "Counters : 0"
 3800   PROCprint_comp(x%)
 3810   SYS "OS_SetColour",0,colsoff%(x%)
 3820   LINE 880,x%*225,1278,x%*225+223
 3830   LINE 880,x%*225+223,1278,x%*225
 3840   LINE 880,x%*225+2,1278,x%*225+225
 3850   LINE 880,x%*225+225,1278,x%*225+2
 3860   LINE 880,x%*225-2,1278,x%*225+221
 3870   LINE 880,x%*225+221,1278,x%*225-2
 3880  ENDIF
 3890 NEXT
 3900ENDPROC
 3910
 3920DEF PROCplot_player(x%,y%,p%)
 3930 LOCAL sp$,c%
 3940 PROCplot_wood(x%+y%)
 3950 sp$="c"
 3960 c%=numthere%(x%,y%)
 3970 IF c%>4 THEN c%=4
 3980 IF c%>0 THEN
 3990  sp$=sp$+STR$(c%)+FNget_playertext(p%)
 4000  SYS "OS_SpriteOp",34+256,area%,sp$,x%*100,y%*100,8
 4010 ENDIF
 4020ENDPROC
 4030
 4040DEF PROCplot_wood(sum%)
 4050 IF sum% MOD 2 >0 THEN
 4060  SYS "OS_SpriteOp",34+256,area%,"c1back",x%*100,y%*100,8
 4070 ELSE
 4080  SYS "OS_SpriteOp",34+256,area%,"c2back",x%*100,y%*100,8
 4090 ENDIF
 4100ENDPROC
 4110
 4120DEF FNget_numcounters(p%)
 4130 LOCAL x%,y%,count%
 4140 count%=0
 4150 FOR x%=0 TO 7
 4160  FOR y%=0 TO 7
 4170   IF playerthere%(x%,y%)=p% THEN
 4180    count%+=numthere%(x%,y%)
 4190   ENDIF
 4200  NEXT
 4210 NEXT
 4220=count%
 4230
 4240DEF FNget_playerstate(p%)
 4250 LOCAL x%,y%
 4260 FOR x%=0 TO 7
 4270  FOR y%=0 TO 7
 4280   IF playerthere%(x%,y%)=p% AND numthere%(x%,y%)>0 THEN =TRUE
 4290  NEXT
 4300 NEXT
 4310=FALSE
 4320
 4330DEF FNget_gamestate
 4340 LOCAL x%,y%,playone%
 4350 playone%=-1
 4360 FOR x%=0 TO 7
 4370  FOR y%=0 TO 7
 4380   IF numthere%(x%,y%)>0 THEN
 4390    IF playone%=-1 THEN
 4400     playone%=playerthere%(x%,y%)
 4410    ELSE
 4420     IF playone%<>playerthere%(x%,y%) THEN =FALSE
 4430    ENDIF
 4440   ENDIF
 4450  NEXT
 4460 NEXT
 4470=TRUE
 4480
 4490
 4500DEF FNget_playertext(player%)
 4510 CASE player% OF
 4520  WHEN 0:="blue"
 4530  WHEN 1:="green"
 4540  WHEN 2:="brown"
 4550  WHEN 3:="red"
 4560 ENDCASE
 4570="red"
 4580
 4590
 4600
 4610DEF PROCend
 4620 COLOUR 127
 4630 CLS
 4640 VDU4:OFF
 4650 PRINT"Thankyou for playing !Reaction by Phil Norman."
 4660 PRINT"I hope you enjoyed it."
 4670 PRINT'"If you have any queries, or want to make any suggestions, please contact me."
 4680 PRINT"My address is in the !Help file."
 4690 PRINT"                                  Phil Norman"
 4700 PRINT'"This program was converted to run on pre-RISC PC machines by Matthew Somerville."
 4710 PRINT'"And I added a computer play mode as well!"
 4720 PRINT'"If you wish to contact me, I have written a !Help file - as there isn't one!"
 4730 PRINT"P.S. Phil Norman - Great game!"
 4740 PRINT
 4750 PRINT"Press a key to return to desktop..."
 4760 COLOUR 0  TINT 0
 4770 quit%=TRUE
 4780 exit%=TRUE
 4790ENDPROC
 4800
 4810
 4820DEF PROChelp_text(pos$)
 4830 LOCAL t1$,t2$
 4840  CASE pos$ OF
 4850   WHEN ""       :t1$="":t2$=""
 4860   WHEN "help"   :t1$="This is the help text section.  (You're looking at it)"
 4870                  t2$="Move the mouse pointer over something interesting I'll help you."
 4880   WHEN "arleft" :t1$="This is the left arrow."
 4890                  t2$="Click on this to decrement the number of players."
 4900                  IF players%=1 THEN t2$="This will do nothing, since you can't have less than 2 players."
 4910   WHEN "arright":t1$="This is the right arrow."
 4920                  t2$="Click on this to increment the number of players."
 4930                  IF players%=3 THEN t2$="This will do nothing, since you can't have more than 4 players."
 4940   WHEN "playlev":t1$="This is the players indicator."
 4950                  t2$="It shows the current number of players selected."
 4960   WHEN "vollev" :t1$="This is the volume indicator."
 4970                  t2$="It shows the current volume level."
 4980   WHEN "volleft":t1$="This button reduces the volume."
 4990                  t2$="The volume level is shown below."
 5000                  IF volume%=0 THEN t2$="The volume is now minimum."
 5010   WHEN "volrght":t1$="This button increases the volume."
 5020                  t2$="The volume level is shown below."
 5030                  IF volume%>=127 THEN t2$="The volume is now maximum."
 5040   WHEN "quit"   :t1$="This is the quit button."
 5050                  t2$="Click on this to return to desktop."
 5060   WHEN "play"   :t1$="This is the play button."
 5070                  t2$="Click on this to play a game."
 5080   WHEN "player1":t1$="This shows the colour used by player 1."
 5090                  t2$="Click to toggle how player 1 is controlled."
 5100   WHEN "player2":t1$="This shows the colour used by player 2."
 5110                  t2$="Click to toggle how player 2 is controlled."
 5120   WHEN "player3":t1$="This shows the colour used by player 3."
 5130                  t2$="Click to toggle how player 3 is controlled."
 5140   WHEN "player4":t1$="This shows the colour used by player 4."
 5150                  t2$="Click to toggle how player 4 is controlled."
 5160   WHEN "logo"   :t1$="This is the !Reaction logo."
 5170                  t2$="It sits there doing nothing."
 5180   WHEN "downgra":t1$="The person who let it work on your pre-RISC PC machine."
 5190                  t2$="Read the !Help file for my address."
 5200   WHEN "comp1"  :t1$="This shows that player 1 is controlled by "+FNhelp_comp(0)
 5210                  t2$="Click on the picture or on the name to toggle."
 5220   WHEN "comp2"  :t1$="This shows that player 2 is controlled by "+FNhelp_comp(1)
 5230                  t2$="Click on the picture or on the name to toggle."
 5240   WHEN "comp3"  :t1$="This shows that player 3 is controlled by "+FNhelp_comp(2)
 5250                  t2$="Click on the picture or on the name to toggle."
 5260   WHEN "comp4"  :t1$="This shows that player 4 is controlled by "+FNhelp_comp(3)
 5270                  t2$="Click on the picture or on the name to toggle."
 5280  ENDCASE
 5290  SYS "OS_SetColour",0,0
 5300  RECTANGLE FILL 0,0,1050,120
 5310  SYS "Font_SetFont",fhandle%
 5320  SYS "Font_Paint",,t1$,&14,0,80
 5330  SYS "Font_Paint",,t2$,&14,0,30
 5340ENDPROC
 5350:
 5360REM *** Anything below here is written by Matthew Somerville ***
 5370:
 5380DEF PROCprint_player(x%)
 5390IF computer%(x%)=TRUE THEN
 5400 IF x%<2 THEN
 5410  SYS "Font_Paint",,"Human",&14,x%*400+150,450
 5420 ELSE
 5430  SYS "Font_Paint",,"Human",&14,(x%-2)*400+150,175
 5440 ENDIF
 5450ELSE
 5460 IF x%<2 THEN
 5470  SYS "Font_Paint",,"Computer",&14,x%*400+125,450
 5480 ELSE
 5490  SYS "Font_Paint",,"Computer",&14,(x%-2)*400+125,175
 5500 ENDIF
 5510ENDIF
 5520ENDPROC
 5530:
 5540DEF FNhelp_comp(x%)
 5550IF computer%(x%)=TRUE THEN ="a human." ELSE ="computer."
 5560:
 5570DEF PROCprint_comp(x%)
 5580IF computer%(x%)=TRUE THEN
 5590 MOVE 1190,x%*225+183:PRINT"Human"
 5600ELSE
 5610 MOVE 1140,x%*225+183:PRINT"Computer"
 5620ENDIF
 5630ENDPROC
 5640:
 5650DEF PROCcomputer_go
 5660turn%=(playcount%+players%) DIV (players%+1)
 5670CASE turn% OF
 5680WHEN 1    : PROCtotal_random
 5690WHEN 2    : PROCsorta_random
 5700OTHERWISE :
 5710 rnd=RND(100)-1
 5720 diff()=0
 5730 fd%=FALSE
 5740 FOR i%=0 TO 7
 5750  FOR j%=0 TO 7
 5760   P%=playerthere%(i%,j%):N%=numthere%(i%,j%)
 5770   IF (N%=0 OR (P%=whosego% AND N%>0)) AND NOT fd% THEN
 5780    comp_playerthere%()=playerthere%()
 5790    comp_numthere%()=numthere%()
 5800    comp_players%()=playersalive%()
 5810    comp_playerthere%(i%,j%)=whosego%
 5820    comp_numthere%(i%,j%)+=1
 5830    IF comp_numthere%(i%,j%)>maxnum%(i%,j%) THEN PROCcomp_explode(i%,j%,whosego%)
 5840    diff(i%,j%)=0
 5850    fd%=TRUE
 5860    FOR lp%=0 TO players%
 5870     amount%=FNget_compnumsquares(lp%)
 5880     IF lp%=whosego% THEN
 5890      diff(i%,j%)-=amount%+1
 5900     ELSE
 5910      diff(i%,j%)+=amount%
 5920      IF amount%>0 fd%=FALSE
 5930     ENDIF
 5940    NEXT
 5950    IF fd% THEN fx%=i%:fy%=j%
 5960   ELSE
 5970    diff(i%,j%)=0
 5980   ENDIF
 5990  NEXT
 6000 NEXT
 6010 md%=1000
 6020 mt%=0
 6030 IF fd% THEN
 6040  x%=fx%
 6050  y%=fy%
 6060 ELSE
 6070  FOR i%=0 TO 7
 6080   FOR j%=0 TO 7
 6090    IF (numthere%(i%,j%)=0 AND rnd<10) OR (playerthere%(i%,j%)=whosego% AND numthere%(i%,j%)>0) THEN
 6100     IF diff(i%,j%)<md% THEN md%=diff(i%,j%):mt%=0:xm%=i%:ym%=j%
 6110     IF diff(i%,j%)=md% THEN md%=diff(i%,j%):mt%+=1
 6120    ENDIF
 6130   NEXT
 6140  NEXT
 6150  IF mt%=1 THEN
 6160   x%=xm%
 6170   y%=ym%
 6180  ELSE
 6190   pck=FALSE
 6200   pp%=RND(mt%)
 6210   x=0
 6220   y=0
 6230   REPEAT
 6240    IF (numthere%(x,y)=0 AND rnd<10) OR (playerthere%(x,y)=whosego% AND numthere%(x,y)>0) THEN
 6250     IF diff(x,y)=md% THEN
 6260      pp%-=1
 6270      x%=x
 6280      y%=y
 6290     ENDIF
 6300    ENDIF
 6310    x+=1
 6320    IF x=8 THEN x=0:y+=1
 6330   UNTIL pp%=0
 6340  ENDIF
 6350 ENDIF
 6360ENDCASE
 6370ENDPROC
 6380:
 6390DEF PROCtotal_random
 6400a=INKEY(75+RND(50))
 6410REPEAT
 6420 x%=RND(8)-1:y%=RND(8)-1:exit%=TRUE
 6430 IF playerthere%(x%,y%)<>whosego% AND numthere%(x%,y%)>0 THEN exit%=FALSE
 6440UNTIL exit%=TRUE
 6450ENDPROC
 6460:
 6470DEF PROCsorta_random
 6480IF RND(100)>50 THEN
 6490 PROCtotal_random
 6500ELSE
 6510 a=INKEY(75+RND(50))
 6520 exit%=FALSE
 6530 x%=-1
 6540 y%=0
 6550 REPEAT
 6560  x%+=1
 6570  IF x%=8 THEN x%=0:y%+=1
 6580  IF playerthere%(x%,y%)=whosego% AND numthere%(x%,y%)>0 THEN exit%=TRUE
 6590 UNTIL exit%=TRUE
 6600ENDIF
 6610ENDPROC
 6620:
 6630DEF PROCcomp_explode(x%,y%,p%)
 6640 LOCAL t%,over%
 6650 gameover%=FNget_compgamestate
 6660 IF gameover%=TRUE THEN ENDPROC
 6670 over%=comp_numthere%(x%,y%)-maxnum%(x%,y%)
 6680 comp_numthere%(x%,y%)=0
 6690 IF x%>0 THEN
 6700  comp_numthere%(x%-1,y%)+=over%
 6710  comp_playerthere%(x%-1,y%)=p%
 6720  IF comp_numthere%(x%-1,y%)>maxnum%(x%-1,y%) THEN PROCcomp_explode(x%-1,y%,p%)
 6730 ENDIF
 6740 IF x%<7 THEN
 6750  comp_numthere%(x%+1,y%)+=over%
 6760  comp_playerthere%(x%+1,y%)=p%
 6770  IF comp_numthere%(x%+1,y%)>maxnum%(x%+1,y%) THEN PROCcomp_explode(x%+1,y%,p%)
 6780 ENDIF
 6790 IF y%>0 THEN
 6800  comp_numthere%(x%,y%-1)+=over%
 6810  comp_playerthere%(x%,y%-1)=p%
 6820  IF comp_numthere%(x%,y%-1)>maxnum%(x%,y%-1) THEN PROCcomp_explode(x%,y%-1,p%)
 6830 ENDIF
 6840 IF y%<7 THEN
 6850  comp_numthere%(x%,y%+1)+=over%
 6860  comp_playerthere%(x%,y%+1)=p%
 6870  IF comp_numthere%(x%,y%+1)>maxnum%(x%,y%+1) THEN PROCcomp_explode(x%,y%+1,p%)
 6880 ENDIF
 6890ENDPROC
 6900:
 6910DEF FNget_compgamestate
 6920 LOCAL x%,y%,playone%
 6930 playone%=-1
 6940 FOR x%=0 TO 7
 6950  FOR y%=0 TO 7
 6960   IF comp_numthere%(x%,y%)>0 THEN
 6970    IF playone%=-1 THEN
 6980     playone%=comp_playerthere%(x%,y%)
 6990    ELSE
 7000     IF playone%<>comp_playerthere%(x%,y%) THEN =FALSE
 7010    ENDIF
 7020   ENDIF
 7030  NEXT
 7040 NEXT
 7050=TRUE
 7060:
 7070DEF FNget_compnumsquares(p%)
 7080 LOCAL x%,y%,count%
 7090 count%=0
 7100 FOR x%=0 TO 7
 7110  FOR y%=0 TO 7
 7120   IF comp_playerthere%(x%,y%)=p% AND comp_numthere%(x%,y%)>0 THEN count%+=1
 7130  NEXT
 7140 NEXT
 7150=count%

� � �:� �:�
� 28
� area% 326000
('!area%=326000:area%!4=28:area%!8=16
27ș "OS_SpriteOp",10+256,area%,"<React$Dir>.Sprites"
<)ș "Stasis_Load",1,"<React$Dir>.Sfx1"
F)ș "Stasis_Load",2,"<React$Dir>.Sfx2"
Pș "Stasis_Attach",1
Zș "Stasis_Attach",2
dș "Stasis_Link",1,1
nș "Stasis_Link",2,2
x?ș "Font_FindFont",,"Trinity.Medium",256,256,0,0 � fhandle%
�-ș "Font_SetPalette",,0,15,14,0,&0088FF00
�
��init_game
�
��main_loop
�
�ș "Font_LoseFont",fhandle%
��
�
�
�� �main_loop
� quit%=�
� �
  �menu
  � quit%=� � �start_game
  � quit%=� � �play_game
" � quit%=�
,�
6
@
J
T
^� �menu
h, � exit%,mx%,my%,btn%,bon%,htext$,htold$
r exit%=�
| �:�
�	 ȗ �
�  �plot_playboxes(players%,2)
�4 ș "OS_SpriteOp",34+256,area%,"arleft",1040,330
�5 ș "OS_SpriteOp",34+256,area%,"arright",1160,330
�5 ș "OS_SpriteOp",34+256,area%,"btnplay",1060,140
�4 ș "OS_SpriteOp",34+256,area%,"btnquit",1060,20
�1 ș "OS_SpriteOp",34+256,area%,"logo",400,760
�4 ș "OS_SpriteOp",34+256,area%,"arleft",1040,530
�5 ș "OS_SpriteOp",34+256,area%,"arright",1160,530
� ș "Font_SetFont",fhandle%
�. ș "Font_SetPalette",,0,15,14,0,&00FFFF00
�2 ș "Font_Paint",,"by Phil Norman",&14,620,780
�D ș "Font_Paint",,"downgraded by Matthew Somerville",&14,620,730
. ș "Font_SetPalette",,0,15,14,0,&0088FF00
= ș "Font_Paint",,"Players : "+�(players%+1),&14,1060,280
9 ș "Font_Paint",,"Volume : "+�(volume%),&14,1050,480
& bon%=�
0 �:ȗ mx%,my%,btn%:� btn%=0
: �
D  ȗ mx%,my%,btn%
N  � btn%=4 � bon%=� �
X
   bon%=�
b2   � mx%>1040 � mx%<1140 � my%>530 � my%<630 �
l    volume%-=4
v    � volume%<0 � volume%=0
�+    ș "Stasis_Sound",1,1,volume%,&7000
�    ș "OS_SetColour",0,0
�    ȓ Ȑ 1050,480,300,48
�<    ș "Font_Paint",,"Volume : "+�(volume%),&14,1050,480
�   �
�2   � mx%>1160 � mx%<1260 � my%>530 � my%<630 �
�    volume%+=4
�#    � volume%>127 � volume%=127
�+    ș "Stasis_Sound",1,1,volume%,&7000
�    ș "OS_SetColour",0,0
�    ȓ Ȑ 1050,480,300,48
�<    ș "Font_Paint",,"Volume : "+�(volume%),&14,1050,480
�   �
2   � mx%>1040 � mx%<1140 � my%>330 � my%<430 �
+    ș "Stasis_Sound",1,1,volume%,&7000
    players%-=1
 !    � players%<1 � players%=1
*    ș "OS_SetColour",0,0
4    ȓ Ȑ 0,165,800,260
>#    �plot_playboxes(players%,2)
H    ș "OS_SetColour",0,0
R    ȓ Ȑ 1050,280,300,48
\@    ș "Font_Paint",,"Players : "+�(players%+1),&14,1060,280
f   �
p2   � mx%>1160 � mx%<1260 � my%>330 � my%<430 �
z+    ș "Stasis_Sound",1,1,volume%,&7000
�    players%+=1
�!    � players%>3 � players%=3
�#    �plot_playboxes(players%,2)
�    ș "OS_SetColour",0,0
�    ȓ Ȑ 1050,280,300,48
�@    ș "Font_Paint",,"Players : "+�(players%+1),&14,1060,280
�   �
�2   � mx%>1060 � mx%<1260 � my%>140 � my%<240 �
�+    ș "Stasis_Sound",1,1,volume%,&7000
�    exit%=�
�   �
�1   � mx%>1060 � mx%<1260 � my%>20 � my%<120 �
�+    ș "Stasis_Sound",1,1,volume%,&7000
    �end
   �
&   � mx%<400 � my%>450 � my%<700 �
$#    computer%(0)=� computer%(0)
.+    ș "Stasis_Sound",1,1,volume%,&7000
8    ș "OS_SetColour",0,0
B    ȓ Ȑ 0,440,400,50
L#    �plot_playboxes(players%,2)
V   �
`0   � mx%>400 � mx%<800 � my%>450 � my%<700 �
j#    computer%(1)=� computer%(1)
t+    ș "Stasis_Sound",1,1,volume%,&7000
~    ș "OS_SetColour",0,0
�    ȓ Ȑ 400,440,400,50
�#    �plot_playboxes(players%,2)
�   �
�3   � mx%<400 � my%>175 � my%<425 � players%>1 �
�#    computer%(2)=� computer%(2)
�+    ș "Stasis_Sound",1,1,volume%,&7000
�    ș "OS_SetColour",0,0
�    ȓ Ȑ 0,165,400,50
�#    �plot_playboxes(players%,2)
�   �
�=   � mx%>400 � mx%<800 � my%>175 � my%<425 � players%>2 �
�#    computer%(3)=� computer%(3)
+    ș "Stasis_Sound",1,1,volume%,&7000

    ș "OS_SetColour",0,0
    ȓ Ȑ 400,165,400,50
#    �plot_playboxes(players%,2)
(   �
2   htold$=""
<  �
F   htext$=""
PC   � mx%>1050 � mx%<1250 � my%>280 � my%<330 � htext$="playlev"
ZB   � mx%>1050 � mx%<1250 � my%>480 � my%<530 � htext$="vollev"
dB   � mx%>1040 � mx%<1140 � my%>330 � my%<430 � htext$="arleft"
nC   � mx%>1160 � mx%<1260 � my%>330 � my%<430 � htext$="arright"
xC   � mx%>1040 � mx%<1140 � my%>530 � my%<630 � htext$="volleft"
�C   � mx%>1160 � mx%<1260 � my%>530 � my%<630 � htext$="volrght"
�@   � mx%>1060 � mx%<1260 � my%>140 � my%<240 � htext$="play"
�?   � mx%>1060 � mx%<1260 � my%>20 � my%<120 � htext$="quit"
�7   � mx%<400 � my%>500 � my%<700 � htext$="player1"
�A   � mx%>400 � mx%<800 � my%>500 � my%<700 � htext$="player2"
�D   � mx%<400 � my%>225 � my%<425 � players%>1 � htext$="player3"
�N   � mx%>400 � mx%<800 � my%>225 � my%<425 � players%>2 � htext$="player4"
�5   � mx%<400 � my%>450 � my%<500 � htext$="comp1"
�?   � mx%>400 � mx%<800 � my%>450 � my%<500 � htext$="comp2"
�B   � mx%<400 � my%>175 � my%<225 � players%>1 � htext$="comp3"
�L   � mx%>400 � mx%<800 � my%>175 � my%<225 � players%>2 � htext$="comp4"
�>   � mx%>400 � mx%<860 � my%>760 � my%<960 � htext$="logo"
�B   � mx%>620 � mx%<1200 � my%>710 � my%<760 � htext$="downgra"
+   � mx%<1060 � my%<120 � htext$="help"
,   � htold$<>htext$ � �help_text(htext$)
   htold$=htext$
"  �
,  � btn%=0 � bon%=�
6 � exit%=�
@�4:�
J�
T
^
h� �init_game
r � x%,y%
| dummy%=�(-�)
� �init_coltable
� players%=3
� volume%=&4F
� � playtext$(3)
�- playtext$()="Blue","Green","Brown","Red"
� � maxnum%(7,7)
� � x%=0 � 7
�  � y%=0 � 7
�   maxnum%(x%,y%)=3
�#   � x%*y%=0 � maxnum%(x%,y%)=2
�    � x%=7 � maxnum%(x%,y%)=2
�    � y%=7 � maxnum%(x%,y%)=2
�'   � x%=0 � y%=0 � maxnum%(x%,y%)=1
'   � x%=0 � y%=7 � maxnum%(x%,y%)=1
'   � x%=7 � y%=0 � maxnum%(x%,y%)=1
'   � x%=7 � y%=7 � maxnum%(x%,y%)=1
&  �
0 �
: � numthere%(7,7)
D � comp_numthere%(7,7)
N � playerthere%(7,7)
X � comp_playerthere%(7,7)
b � playersalive%(3)
l � comp_players%(3)
v � computer%(3)
� � diff(7,7)
� computer%()=�
��
�
�� �play_game
�J � mx%,my%,btn%,gameover%,whosego%,x%,y%,playcount%,exit%,last_player%
� � �
� � � � � �:�
�	 �5:�
� gameover%=�
� whosego%=�(players%+1)-1
� playcount%=0
� �
  �
   whosego%+=1
'   � whosego%>players% � whosego%=0
 !  � playersalive%(whosego%)=�
*  playcount%+=1
4   �plot_rectangles(whosego%)
>
  exit%=�
H  � computer%(whosego%)=� �
R   ȗ �
\   �
f   ȗ mx%,my%,btn%
p    x%=mx% � 100
z    y%=my% � 100
�    � x%<=7 � y%<=7 �
�     exit%=�
�G     � playerthere%(x%,y%)<>whosego% � numthere%(x%,y%)>0 � exit%=�
�	    �
�    � btn%<>4 � exit%=�
�   � exit%=�
�  �
�   ȗ �
�   �
�    exit%=�
�    �computer_go
�   � exit%=�
�  �
	)  ș "Stasis_Sound",1,1,volume%,&7000
	"  playerthere%(x%,y%)=whosego%
	  numthere%(x%,y%)+=1
	$"  �plot_player(x%,y%,whosego%)
	.B  � numthere%(x%,y%)>maxnum%(x%,y%) � �explode(x%,y%,whosego%)
	8  � playcount%>players% �
	B   � x%=0 � 3
	L.    playersalive%(x%)=�get_playerstate(x%)
	V   �
	`   gameover%=�get_gamestate
	j  �
	t � gameover%=�
	~ � x%=0 � players%
	�-  � playersalive%(x%)=� � last_player%=x%
	� �
	� �4
	� �player_won(last_player%)
	� � �
	��
	�
	�
	�� �start_game
	� � x%,y%
	� numthere%()=0
	� playerthere%()=0
 �

 � x%=0 � 7
  � y%=0 � 7
   �plot_wood(x%+y%)
(  �
2 �
<  �plot_playboxes(players%,1)
F � x%=0 � 3
P  playersalive%(x%)=�
Z �
d3� x%=0 � 3:� y%=4 � 7:�plot_player(x%,y%,1):�:�
n�
x
�� �player_won(p%)
� � mx%,my%,btn%,key%
� ș "OS_SetColour",0,0
� ȓ Ȑ 550,400,500,400
� ș "OS_SetColour",0,255
� ȓ 556,406,488,388
�E ș "OS_SpriteOp",34+256,area%,"play"+�get_playertext(p%),600,550
� �5
� � 604,500
� ș "OS_SetColour",0,255
�3 � "The "+�get_playertext(p%)+" player has won"
� � 644,468
�3 � "with "+�(�get_numcounters(p%))+" counters."
 �
  ȗ mx%,my%,btn%
  key%=�(0)
" � key%>0 � btn%>0
,�
6
@
J
T� �plot_playboxes(p%,hv%)
^	 � x%
h � x%=0 � p%
r  � hv%=1 �
|J   ș "OS_SpriteOp",34+256,area%,"play"+�get_playertext(x%),880,225*x%
�  �
�   � x%=0 � x%=1 �
�K    ș "OS_SpriteOp",34+256,area%,"play"+�get_playertext(x%),x%*400,500
�   �
�O    ș "OS_SpriteOp",34+256,area%,"play"+�get_playertext(x%),(x%-2)*400,225
�   �
�   �print_player(x%)
�  �
� �
��
�
�� �explode(x%,y%,p%)
� � t%,over%
 gameover%=�get_gamestate
 � gameover%=� � �
* over%=numthere%(x%,y%)-maxnum%(x%,y%)
& numthere%(x%,y%)=0
0 �plot_wood(x%+y%)
:> ș "OS_SpriteOp",34+256,area%,"explosion",x%*100,y%*100,8
D( ș "Stasis_Sound",1,2,volume%,&3500
N	 t%=�
X �:��-t%>20
b �plot_wood(x%+y%)
l
 � x%>0 �
v  numthere%(x%-1,y%)+=over%
�  playerthere%(x%-1,y%)=p%
�  �plot_player(x%-1,y%,p%)
�B  � numthere%(x%-1,y%)>maxnum%(x%-1,y%) � �explode(x%-1,y%,p%)
� �
�
 � x%<7 �
�  numthere%(x%+1,y%)+=over%
�  playerthere%(x%+1,y%)=p%
�  �plot_player(x%+1,y%,p%)
�B  � numthere%(x%+1,y%)>maxnum%(x%+1,y%) � �explode(x%+1,y%,p%)
� �
�
 � y%>0 �
�  numthere%(x%,y%-1)+=over%
�  playerthere%(x%,y%-1)=p%

  �plot_player(x%,y%-1,p%)

B  � numthere%(x%,y%-1)>maxnum%(x%,y%-1) � �explode(x%,y%-1,p%)

 �

 
 � y%<7 �

*  numthere%(x%,y%+1)+=over%

4  playerthere%(x%,y%+1)=p%

>  �plot_player(x%,y%+1,p%)

HB  � numthere%(x%,y%+1)>maxnum%(x%,y%+1) � �explode(x%,y%+1,p%)

R �

\�

f

p

z� �init_coltable

� � colson%(3)

� � colsoff%(3)

� colson%()=139,65,59,23

� colsoff%()=128,32,7,16

��

�

�� �plot_rectangles(p%)

� � x%,col%

� � x%=0 � players%

�  � x%=p% �

�   col%=255

�  �

�
   col%=0
  �
  ș "OS_SetColour",0,0
!  ȓ Ȑ 884,x%*225+175,390,40
$  � playersalive%(x%)=� �
.&   ș "OS_SetColour",0,colson%(x%)
8   ȓ 880,x%*225,398,223
B   ȓ 882,x%*225+2,394,219
L   � 882,x%*225+2
V   ș "OS_SetColour",0,col%
`   ș "OS_Plot",57,394,0
j   ș "OS_Plot",57,0,219
t   ș "OS_Plot",57,-394,0
~   ș "OS_Plot",57,0,-219
�&   ș "OS_SetColour",0,colson%(x%)
�   � 920,x%*225+200
�.   � "Counters : "+�(�get_numcounters(x%))
�   �print_comp(x%)
�  �
�&   ș "OS_SetColour",0,colson%(x%)
�   � 920,x%*225+200
�   � "Counters : 0"
�   �print_comp(x%)
�'   ș "OS_SetColour",0,colsoff%(x%)
�#   � 880,x%*225,1278,x%*225+223
�#   � 880,x%*225+223,1278,x%*225
%   � 880,x%*225+2,1278,x%*225+225

%   � 880,x%*225+225,1278,x%*225+2
%   � 880,x%*225-2,1278,x%*225+221
%   � 880,x%*225+221,1278,x%*225-2
(  �
2 �
<�
F
P� �plot_player(x%,y%,p%)
Z
 � sp$,c%
d �plot_wood(x%+y%)
n sp$="c"
x c%=numthere%(x%,y%)
� � c%>4 � c%=4
�
 � c%>0 �
�'  sp$=sp$+�(c%)+�get_playertext(p%)
�7  ș "OS_SpriteOp",34+256,area%,sp$,x%*100,y%*100,8
� �
��
�
�� �plot_wood(sum%)
� � sum% � 2 >0 �
�<  ș "OS_SpriteOp",34+256,area%,"c1back",x%*100,y%*100,8
� �
�<  ș "OS_SpriteOp",34+256,area%,"c2back",x%*100,y%*100,8
� �
�

� �get_numcounters(p%)
" � x%,y%,count%
,
 count%=0
6 � x%=0 � 7
@  � y%=0 � 7
J!   � playerthere%(x%,y%)=p% �
T     count%+=numthere%(x%,y%)
^   �
h  �
r �
|=count%
�
�� �get_playerstate(p%)
� � x%,y%
� � x%=0 � 7
�  � y%=0 � 7
�9   � playerthere%(x%,y%)=p% � numthere%(x%,y%)>0 � =�
�  �
� �
�=�
�
�� �get_gamestate
� � x%,y%,playone%
� playone%=-1
 � x%=0 � 7
  � y%=0 � 7
   � numthere%(x%,y%)>0 �
&    � playone%=-1 �
0%     playone%=playerthere%(x%,y%)
:	    �
D-     � playone%<>playerthere%(x%,y%) � =�
N	    �
X   �
b  �
l �
v=�
�
�
�� �get_playertext(player%)
� Ȏ player% �
�  � 0:="blue"
�  � 1:="green"
�  � 2:="brown"
�  � 3:="red"
� �
�
="red"
�
�
�

� �end

 � 127
 �
 	 �4:�
*6 �"Thankyou for playing !Reaction by Phil Norman."
4 �"I hope you enjoyed it."
>U �'"If you have any queries, or want to make any suggestions, please contact me."
H( �"My address is in the !Help file."
R5 �"                                  Phil Norman"
\Y �'"This program was converted to run on pre-RISC PC machines by Matthew Somerville."
f2 �'"And I added a computer play mode as well!"
pU �'"If you wish to contact me, I have written a !Help file - as there isn't one!"
z& �"P.S. Phil Norman - Great game!"
� �
�+ �"Press a key to return to desktop..."
� � 0  Ȝ 0
� quit%=�
� exit%=�
��
�
�
�� �help_text(pos$)
� � t1$,t2$
�  Ȏ pos$ �
�    � ""       :t1$="":t2$=""
�O   � "help"   :t1$="This is the help text section.  (You're looking at it)"
\                  t2$="Move the mouse pointer over something interesting I'll help you."
0   � "arleft" :t1$="This is the left arrow."
M                  t2$="Click on this to decrement the number of players."
$j                  � players%=1 � t2$="This will do nothing, since you can't have less than 2 players."
.1   � "arright":t1$="This is the right arrow."
8M                  t2$="Click on this to increment the number of players."
Bj                  � players%=3 � t2$="This will do nothing, since you can't have more than 4 players."
L7   � "playlev":t1$="This is the players indicator."
VL                  t2$="It shows the current number of players selected."
`6   � "vollev" :t1$="This is the volume indicator."
j>                  t2$="It shows the current volume level."
t8   � "volleft":t1$="This button reduces the volume."
~<                  t2$="The volume level is shown below."
�D                  � volume%=0 � t2$="The volume is now minimum."
�:   � "volrght":t1$="This button increases the volume."
�<                  t2$="The volume level is shown below."
�G                  � volume%>=127 � t2$="The volume is now maximum."
�1   � "quit"   :t1$="This is the quit button."
�?                  t2$="Click on this to return to desktop."
�1   � "play"   :t1$="This is the play button."
�9                  t2$="Click on this to play a game."
�@   � "player1":t1$="This shows the colour used by player 1."
�G                  t2$="Click to toggle how player 1 is controlled."
�@   � "player2":t1$="This shows the colour used by player 2."
�G                  t2$="Click to toggle how player 2 is controlled."
@   � "player3":t1$="This shows the colour used by player 3."

G                  t2$="Click to toggle how player 3 is controlled."
@   � "player4":t1$="This shows the colour used by player 4."
G                  t2$="Click to toggle how player 4 is controlled."
(4   � "logo"   :t1$="This is the !Reaction logo."
28                  t2$="It sits there doing nothing."
<P   � "downgra":t1$="The person who let it work on your pre-RISC PC machine."
F?                  t2$="Read the !Help file for my address."
PQ   � "comp1"  :t1$="This shows that player 1 is controlled by "+�help_comp(0)
ZJ                  t2$="Click on the picture or on the name to toggle."
dQ   � "comp2"  :t1$="This shows that player 2 is controlled by "+�help_comp(1)
nJ                  t2$="Click on the picture or on the name to toggle."
xQ   � "comp3"  :t1$="This shows that player 3 is controlled by "+�help_comp(2)
�J                  t2$="Click on the picture or on the name to toggle."
�Q   � "comp4"  :t1$="This shows that player 4 is controlled by "+�help_comp(3)
�J                  t2$="Click on the picture or on the name to toggle."
�  �
�  ș "OS_SetColour",0,0
�  ȓ Ȑ 0,0,1050,120
�   ș "Font_SetFont",fhandle%
�#  ș "Font_Paint",,t1$,&14,0,80
�#  ș "Font_Paint",,t2$,&14,0,30
��
�:
�B� *** Anything below here is written by Matthew Somerville ***
�:
� �print_player(x%)
� computer%(x%)=� �

 � x%<2 �
"1  ș "Font_Paint",,"Human",&14,x%*400+150,450
, �
65  ș "Font_Paint",,"Human",&14,(x%-2)*400+150,175
@ �
J�
T
 � x%<2 �
^4  ș "Font_Paint",,"Computer",&14,x%*400+125,450
h �
r8  ș "Font_Paint",,"Computer",&14,(x%-2)*400+125,175
| �
��
��
�:
�� �help_comp(x%)
�2� computer%(x%)=� � ="a human." � ="computer."
�:
�� �print_comp(x%)
�� computer%(x%)=� �
� � 1190,x%*225+183:�"Human"
��
�" � 1140,x%*225+183:�"Computer"
��
��
:
� �computer_go
.turn%=(playcount%+players%) � (players%+1)
&Ȏ turn% �
0� 1    : �total_random
:� 2    : �sorta_random
D :
N rnd=�(100)-1
X
 diff()=0
b
 fd%=�
l � i%=0 � 7
v  � j%=0 � 7
�1   P%=playerthere%(i%,j%):N%=numthere%(i%,j%)
�0   � (N%=0 � (P%=whosego% � N%>0)) � � fd% �
�*    comp_playerthere%()=playerthere%()
�$    comp_numthere%()=numthere%()
�'    comp_players%()=playersalive%()
�)    comp_playerthere%(i%,j%)=whosego%
�     comp_numthere%(i%,j%)+=1
�N    � comp_numthere%(i%,j%)>maxnum%(i%,j%) � �comp_explode(i%,j%,whosego%)
�    diff(i%,j%)=0
�
    fd%=�
�    � lp%=0 � players%
�)     amount%=�get_compnumsquares(lp%)
�     � lp%=whosego% �
       diff(i%,j%)-=amount%+1

     �
      diff(i%,j%)+=amount%
       � amount%>0 fd%=�
*
     �
4	    �
>    � fd% � fx%=i%:fy%=j%
H   �
R    diff(i%,j%)=0
\   �
f  �
p �
z
 md%=1000
�
 mt%=0
� � fd% �
�  x%=fx%
�  y%=fy%
� �
�  � i%=0 � 7
�   � j%=0 � 7
�_    � (numthere%(i%,j%)=0 � rnd<10) � (playerthere%(i%,j%)=whosego% � numthere%(i%,j%)>0) �
�@     � diff(i%,j%)<md% � md%=diff(i%,j%):mt%=0:xm%=i%:ym%=j%
�3     � diff(i%,j%)=md% � md%=diff(i%,j%):mt%+=1
�	    �
�   �
�  �
  � mt%=1 �

   x%=xm%

   y%=ym%
$  �
.   pck=�
8   pp%=�(mt%)
B
   x=0
L
   y=0
V   �
`Y    � (numthere%(x,y)=0 � rnd<10) � (playerthere%(x,y)=whosego% � numthere%(x,y)>0) �
j     � diff(x,y)=md% �
t      pp%-=1
~      x%=x
�      y%=y
�
     �
�	    �
�    x+=1
�    � x=8 � x=0:y+=1
�   � pp%=0
�  �
� �
��
��
�:
�� �total_random
a=�(75+�(50))

�
  x%=�(8)-1:y%=�(8)-1:exit%=�
C � playerthere%(x%,y%)<>whosego% � numthere%(x%,y%)>0 � exit%=�
(
� exit%=�
2�
<:
F� �sorta_random
P� �(100)>50 �
Z �total_random
d�
n a=�(75+�(50))
x exit%=�
�
 x%=-1
�	 y%=0
� �
�  x%+=1
�  � x%=8 � x%=0:y%+=1
�C  � playerthere%(x%,y%)=whosego% � numthere%(x%,y%)>0 � exit%=�
� � exit%=�
��
��
�:
�� �comp_explode(x%,y%,p%)
� � t%,over%
�! gameover%=�get_compgamestate
 � gameover%=� � �
/ over%=comp_numthere%(x%,y%)-maxnum%(x%,y%)
 comp_numthere%(x%,y%)=0
"
 � x%>0 �
,$  comp_numthere%(x%-1,y%)+=over%
6#  comp_playerthere%(x%-1,y%)=p%
@L  � comp_numthere%(x%-1,y%)>maxnum%(x%-1,y%) � �comp_explode(x%-1,y%,p%)
J �
T
 � x%<7 �
^$  comp_numthere%(x%+1,y%)+=over%
h#  comp_playerthere%(x%+1,y%)=p%
rL  � comp_numthere%(x%+1,y%)>maxnum%(x%+1,y%) � �comp_explode(x%+1,y%,p%)
| �
�
 � y%>0 �
�$  comp_numthere%(x%,y%-1)+=over%
�#  comp_playerthere%(x%,y%-1)=p%
�L  � comp_numthere%(x%,y%-1)>maxnum%(x%,y%-1) � �comp_explode(x%,y%-1,p%)
� �
�
 � y%<7 �
�$  comp_numthere%(x%,y%+1)+=over%
�#  comp_playerthere%(x%,y%+1)=p%
�L  � comp_numthere%(x%,y%+1)>maxnum%(x%,y%+1) � �comp_explode(x%,y%+1,p%)
� �
��
�:
�� �get_compgamestate
 � x%,y%,playone%
 playone%=-1
 � x%=0 � 7
&  � y%=0 � 7
0"   � comp_numthere%(x%,y%)>0 �
:    � playone%=-1 �
D*     playone%=comp_playerthere%(x%,y%)
N	    �
X2     � playone%<>comp_playerthere%(x%,y%) � =�
b	    �
l   �
v  �
� �
�=�
�:
�� �get_compnumsquares(p%)
� � x%,y%,count%
�
 count%=0
� � x%=0 � 7
�  � y%=0 � 7
�J   � comp_playerthere%(x%,y%)=p% � comp_numthere%(x%,y%)>0 � count%+=1
�  �
� �
�=count%
�
00000000  0d 00 0a 0f ee 20 85 20  f6 3a f1 20 9e 3a e0 0d  |..... . .:. .:..|
00000010  00 14 08 eb 20 32 38 0d  00 1e 12 de 20 61 72 65  |.... 28..... are|
00000020  61 25 20 33 32 36 30 30  30 0d 00 28 27 21 61 72  |a% 326000..('!ar|
00000030  65 61 25 3d 33 32 36 30  30 30 3a 61 72 65 61 25  |ea%=326000:area%|
00000040  21 34 3d 32 38 3a 61 72  65 61 25 21 38 3d 31 36  |!4=28:area%!8=16|
00000050  0d 00 32 37 c8 99 20 22  4f 53 5f 53 70 72 69 74  |..27.. "OS_Sprit|
00000060  65 4f 70 22 2c 31 30 2b  32 35 36 2c 61 72 65 61  |eOp",10+256,area|
00000070  25 2c 22 3c 52 65 61 63  74 24 44 69 72 3e 2e 53  |%,"<React$Dir>.S|
00000080  70 72 69 74 65 73 22 0d  00 3c 29 c8 99 20 22 53  |prites"..<).. "S|
00000090  74 61 73 69 73 5f 4c 6f  61 64 22 2c 31 2c 22 3c  |tasis_Load",1,"<|
000000a0  52 65 61 63 74 24 44 69  72 3e 2e 53 66 78 31 22  |React$Dir>.Sfx1"|
000000b0  0d 00 46 29 c8 99 20 22  53 74 61 73 69 73 5f 4c  |..F).. "Stasis_L|
000000c0  6f 61 64 22 2c 32 2c 22  3c 52 65 61 63 74 24 44  |oad",2,"<React$D|
000000d0  69 72 3e 2e 53 66 78 32  22 0d 00 50 18 c8 99 20  |ir>.Sfx2"..P... |
000000e0  22 53 74 61 73 69 73 5f  41 74 74 61 63 68 22 2c  |"Stasis_Attach",|
000000f0  31 0d 00 5a 18 c8 99 20  22 53 74 61 73 69 73 5f  |1..Z... "Stasis_|
00000100  41 74 74 61 63 68 22 2c  32 0d 00 64 18 c8 99 20  |Attach",2..d... |
00000110  22 53 74 61 73 69 73 5f  4c 69 6e 6b 22 2c 31 2c  |"Stasis_Link",1,|
00000120  31 0d 00 6e 18 c8 99 20  22 53 74 61 73 69 73 5f  |1..n... "Stasis_|
00000130  4c 69 6e 6b 22 2c 32 2c  32 0d 00 78 3f c8 99 20  |Link",2,2..x?.. |
00000140  22 46 6f 6e 74 5f 46 69  6e 64 46 6f 6e 74 22 2c  |"Font_FindFont",|
00000150  2c 22 54 72 69 6e 69 74  79 2e 4d 65 64 69 75 6d  |,"Trinity.Medium|
00000160  22 2c 32 35 36 2c 32 35  36 2c 30 2c 30 20 b8 20  |",256,256,0,0 . |
00000170  66 68 61 6e 64 6c 65 25  0d 00 82 2d c8 99 20 22  |fhandle%...-.. "|
00000180  46 6f 6e 74 5f 53 65 74  50 61 6c 65 74 74 65 22  |Font_SetPalette"|
00000190  2c 2c 30 2c 31 35 2c 31  34 2c 30 2c 26 30 30 38  |,,0,15,14,0,&008|
000001a0  38 46 46 30 30 0d 00 8c  04 0d 00 96 0e f2 69 6e  |8FF00.........in|
000001b0  69 74 5f 67 61 6d 65 0d  00 a0 04 0d 00 aa 0e f2  |it_game.........|
000001c0  6d 61 69 6e 5f 6c 6f 6f  70 0d 00 b4 04 0d 00 be  |main_loop.......|
000001d0  1f c8 99 20 22 46 6f 6e  74 5f 4c 6f 73 65 46 6f  |... "Font_LoseFo|
000001e0  6e 74 22 2c 66 68 61 6e  64 6c 65 25 0d 00 c8 05  |nt",fhandle%....|
000001f0  e0 0d 00 d2 04 0d 00 dc  04 0d 00 e6 10 dd 20 f2  |.............. .|
00000200  6d 61 69 6e 5f 6c 6f 6f  70 0d 00 f0 0c 20 71 75  |main_loop.... qu|
00000210  69 74 25 3d a3 0d 00 fa  06 20 f5 0d 01 04 0b 20  |it%=..... ..... |
00000220  20 f2 6d 65 6e 75 0d 01  0e 1d 20 20 e7 20 71 75  | .menu....  . qu|
00000230  69 74 25 3d a3 20 8c 20  f2 73 74 61 72 74 5f 67  |it%=. . .start_g|
00000240  61 6d 65 0d 01 18 1c 20  20 e7 20 71 75 69 74 25  |ame....  . quit%|
00000250  3d a3 20 8c 20 f2 70 6c  61 79 5f 67 61 6d 65 0d  |=. . .play_game.|
00000260  01 22 0e 20 fd 20 71 75  69 74 25 3d b9 0d 01 2c  |.". . quit%=...,|
00000270  05 e1 0d 01 36 04 0d 01  40 04 0d 01 4a 04 0d 01  |....6...@...J...|
00000280  54 04 0d 01 5e 0b dd 20  f2 6d 65 6e 75 0d 01 68  |T...^.. .menu..h|
00000290  2c 20 ea 20 65 78 69 74  25 2c 6d 78 25 2c 6d 79  |, . exit%,mx%,my|
000002a0  25 2c 62 74 6e 25 2c 62  6f 6e 25 2c 68 74 65 78  |%,btn%,bon%,htex|
000002b0  74 24 2c 68 74 6f 6c 64  24 0d 01 72 0c 20 65 78  |t$,htold$..r. ex|
000002c0  69 74 25 3d a3 0d 01 7c  08 20 db 3a 87 0d 01 86  |it%=...|. .:....|
000002d0  09 20 c8 97 20 ee 0d 01  90 20 20 f2 70 6c 6f 74  |. .. ....  .plot|
000002e0  5f 70 6c 61 79 62 6f 78  65 73 28 70 6c 61 79 65  |_playboxes(playe|
000002f0  72 73 25 2c 32 29 0d 01  9a 34 20 c8 99 20 22 4f  |rs%,2)...4 .. "O|
00000300  53 5f 53 70 72 69 74 65  4f 70 22 2c 33 34 2b 32  |S_SpriteOp",34+2|
00000310  35 36 2c 61 72 65 61 25  2c 22 61 72 6c 65 66 74  |56,area%,"arleft|
00000320  22 2c 31 30 34 30 2c 33  33 30 0d 01 a4 35 20 c8  |",1040,330...5 .|
00000330  99 20 22 4f 53 5f 53 70  72 69 74 65 4f 70 22 2c  |. "OS_SpriteOp",|
00000340  33 34 2b 32 35 36 2c 61  72 65 61 25 2c 22 61 72  |34+256,area%,"ar|
00000350  72 69 67 68 74 22 2c 31  31 36 30 2c 33 33 30 0d  |right",1160,330.|
00000360  01 ae 35 20 c8 99 20 22  4f 53 5f 53 70 72 69 74  |..5 .. "OS_Sprit|
00000370  65 4f 70 22 2c 33 34 2b  32 35 36 2c 61 72 65 61  |eOp",34+256,area|
00000380  25 2c 22 62 74 6e 70 6c  61 79 22 2c 31 30 36 30  |%,"btnplay",1060|
00000390  2c 31 34 30 0d 01 b8 34  20 c8 99 20 22 4f 53 5f  |,140...4 .. "OS_|
000003a0  53 70 72 69 74 65 4f 70  22 2c 33 34 2b 32 35 36  |SpriteOp",34+256|
000003b0  2c 61 72 65 61 25 2c 22  62 74 6e 71 75 69 74 22  |,area%,"btnquit"|
000003c0  2c 31 30 36 30 2c 32 30  0d 01 c2 31 20 c8 99 20  |,1060,20...1 .. |
000003d0  22 4f 53 5f 53 70 72 69  74 65 4f 70 22 2c 33 34  |"OS_SpriteOp",34|
000003e0  2b 32 35 36 2c 61 72 65  61 25 2c 22 6c 6f 67 6f  |+256,area%,"logo|
000003f0  22 2c 34 30 30 2c 37 36  30 0d 01 cc 34 20 c8 99  |",400,760...4 ..|
00000400  20 22 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 33  | "OS_SpriteOp",3|
00000410  34 2b 32 35 36 2c 61 72  65 61 25 2c 22 61 72 6c  |4+256,area%,"arl|
00000420  65 66 74 22 2c 31 30 34  30 2c 35 33 30 0d 01 d6  |eft",1040,530...|
00000430  35 20 c8 99 20 22 4f 53  5f 53 70 72 69 74 65 4f  |5 .. "OS_SpriteO|
00000440  70 22 2c 33 34 2b 32 35  36 2c 61 72 65 61 25 2c  |p",34+256,area%,|
00000450  22 61 72 72 69 67 68 74  22 2c 31 31 36 30 2c 35  |"arright",1160,5|
00000460  33 30 0d 01 e0 1f 20 c8  99 20 22 46 6f 6e 74 5f  |30.... .. "Font_|
00000470  53 65 74 46 6f 6e 74 22  2c 66 68 61 6e 64 6c 65  |SetFont",fhandle|
00000480  25 0d 01 ea 2e 20 c8 99  20 22 46 6f 6e 74 5f 53  |%.... .. "Font_S|
00000490  65 74 50 61 6c 65 74 74  65 22 2c 2c 30 2c 31 35  |etPalette",,0,15|
000004a0  2c 31 34 2c 30 2c 26 30  30 46 46 46 46 30 30 0d  |,14,0,&00FFFF00.|
000004b0  01 f4 32 20 c8 99 20 22  46 6f 6e 74 5f 50 61 69  |..2 .. "Font_Pai|
000004c0  6e 74 22 2c 2c 22 62 79  20 50 68 69 6c 20 4e 6f  |nt",,"by Phil No|
000004d0  72 6d 61 6e 22 2c 26 31  34 2c 36 32 30 2c 37 38  |rman",&14,620,78|
000004e0  30 0d 01 fe 44 20 c8 99  20 22 46 6f 6e 74 5f 50  |0...D .. "Font_P|
000004f0  61 69 6e 74 22 2c 2c 22  64 6f 77 6e 67 72 61 64  |aint",,"downgrad|
00000500  65 64 20 62 79 20 4d 61  74 74 68 65 77 20 53 6f  |ed by Matthew So|
00000510  6d 65 72 76 69 6c 6c 65  22 2c 26 31 34 2c 36 32  |merville",&14,62|
00000520  30 2c 37 33 30 0d 02 08  2e 20 c8 99 20 22 46 6f  |0,730.... .. "Fo|
00000530  6e 74 5f 53 65 74 50 61  6c 65 74 74 65 22 2c 2c  |nt_SetPalette",,|
00000540  30 2c 31 35 2c 31 34 2c  30 2c 26 30 30 38 38 46  |0,15,14,0,&0088F|
00000550  46 30 30 0d 02 12 3d 20  c8 99 20 22 46 6f 6e 74  |F00...= .. "Font|
00000560  5f 50 61 69 6e 74 22 2c  2c 22 50 6c 61 79 65 72  |_Paint",,"Player|
00000570  73 20 3a 20 22 2b c3 28  70 6c 61 79 65 72 73 25  |s : "+.(players%|
00000580  2b 31 29 2c 26 31 34 2c  31 30 36 30 2c 32 38 30  |+1),&14,1060,280|
00000590  0d 02 1c 39 20 c8 99 20  22 46 6f 6e 74 5f 50 61  |...9 .. "Font_Pa|
000005a0  69 6e 74 22 2c 2c 22 56  6f 6c 75 6d 65 20 3a 20  |int",,"Volume : |
000005b0  22 2b c3 28 76 6f 6c 75  6d 65 25 29 2c 26 31 34  |"+.(volume%),&14|
000005c0  2c 31 30 35 30 2c 34 38  30 0d 02 26 0b 20 62 6f  |,1050,480..&. bo|
000005d0  6e 25 3d a3 0d 02 30 1f  20 f5 3a c8 97 20 6d 78  |n%=...0. .:.. mx|
000005e0  25 2c 6d 79 25 2c 62 74  6e 25 3a fd 20 62 74 6e  |%,my%,btn%:. btn|
000005f0  25 3d 30 0d 02 3a 06 20  f5 0d 02 44 15 20 20 c8  |%=0..:. ...D.  .|
00000600  97 20 6d 78 25 2c 6d 79  25 2c 62 74 6e 25 0d 02  |. mx%,my%,btn%..|
00000610  4e 19 20 20 e7 20 62 74  6e 25 3d 34 20 80 20 62  |N.  . btn%=4 . b|
00000620  6f 6e 25 3d a3 20 8c 0d  02 58 0d 20 20 20 62 6f  |on%=. ...X.   bo|
00000630  6e 25 3d b9 0d 02 62 32  20 20 20 e7 20 6d 78 25  |n%=...b2   . mx%|
00000640  3e 31 30 34 30 20 80 20  6d 78 25 3c 31 31 34 30  |>1040 . mx%<1140|
00000650  20 80 20 6d 79 25 3e 35  33 30 20 80 20 6d 79 25  | . my%>530 . my%|
00000660  3c 36 33 30 20 8c 0d 02  6c 12 20 20 20 20 76 6f  |<630 ...l.    vo|
00000670  6c 75 6d 65 25 2d 3d 34  0d 02 76 1f 20 20 20 20  |lume%-=4..v.    |
00000680  e7 20 76 6f 6c 75 6d 65  25 3c 30 20 8c 20 76 6f  |. volume%<0 . vo|
00000690  6c 75 6d 65 25 3d 30 0d  02 80 2b 20 20 20 20 c8  |lume%=0...+    .|
000006a0  99 20 22 53 74 61 73 69  73 5f 53 6f 75 6e 64 22  |. "Stasis_Sound"|
000006b0  2c 31 2c 31 2c 76 6f 6c  75 6d 65 25 2c 26 37 30  |,1,1,volume%,&70|
000006c0  30 30 0d 02 8a 1d 20 20  20 20 c8 99 20 22 4f 53  |00....    .. "OS|
000006d0  5f 53 65 74 43 6f 6c 6f  75 72 22 2c 30 2c 30 0d  |_SetColour",0,0.|
000006e0  02 94 1d 20 20 20 20 c8  93 20 c8 90 20 31 30 35  |...    .. .. 105|
000006f0  30 2c 34 38 30 2c 33 30  30 2c 34 38 0d 02 9e 3c  |0,480,300,48...<|
00000700  20 20 20 20 c8 99 20 22  46 6f 6e 74 5f 50 61 69  |    .. "Font_Pai|
00000710  6e 74 22 2c 2c 22 56 6f  6c 75 6d 65 20 3a 20 22  |nt",,"Volume : "|
00000720  2b c3 28 76 6f 6c 75 6d  65 25 29 2c 26 31 34 2c  |+.(volume%),&14,|
00000730  31 30 35 30 2c 34 38 30  0d 02 a8 08 20 20 20 cd  |1050,480....   .|
00000740  0d 02 b2 32 20 20 20 e7  20 6d 78 25 3e 31 31 36  |...2   . mx%>116|
00000750  30 20 80 20 6d 78 25 3c  31 32 36 30 20 80 20 6d  |0 . mx%<1260 . m|
00000760  79 25 3e 35 33 30 20 80  20 6d 79 25 3c 36 33 30  |y%>530 . my%<630|
00000770  20 8c 0d 02 bc 12 20 20  20 20 76 6f 6c 75 6d 65  | .....    volume|
00000780  25 2b 3d 34 0d 02 c6 23  20 20 20 20 e7 20 76 6f  |%+=4...#    . vo|
00000790  6c 75 6d 65 25 3e 31 32  37 20 8c 20 76 6f 6c 75  |lume%>127 . volu|
000007a0  6d 65 25 3d 31 32 37 0d  02 d0 2b 20 20 20 20 c8  |me%=127...+    .|
000007b0  99 20 22 53 74 61 73 69  73 5f 53 6f 75 6e 64 22  |. "Stasis_Sound"|
000007c0  2c 31 2c 31 2c 76 6f 6c  75 6d 65 25 2c 26 37 30  |,1,1,volume%,&70|
000007d0  30 30 0d 02 da 1d 20 20  20 20 c8 99 20 22 4f 53  |00....    .. "OS|
000007e0  5f 53 65 74 43 6f 6c 6f  75 72 22 2c 30 2c 30 0d  |_SetColour",0,0.|
000007f0  02 e4 1d 20 20 20 20 c8  93 20 c8 90 20 31 30 35  |...    .. .. 105|
00000800  30 2c 34 38 30 2c 33 30  30 2c 34 38 0d 02 ee 3c  |0,480,300,48...<|
00000810  20 20 20 20 c8 99 20 22  46 6f 6e 74 5f 50 61 69  |    .. "Font_Pai|
00000820  6e 74 22 2c 2c 22 56 6f  6c 75 6d 65 20 3a 20 22  |nt",,"Volume : "|
00000830  2b c3 28 76 6f 6c 75 6d  65 25 29 2c 26 31 34 2c  |+.(volume%),&14,|
00000840  31 30 35 30 2c 34 38 30  0d 02 f8 08 20 20 20 cd  |1050,480....   .|
00000850  0d 03 02 32 20 20 20 e7  20 6d 78 25 3e 31 30 34  |...2   . mx%>104|
00000860  30 20 80 20 6d 78 25 3c  31 31 34 30 20 80 20 6d  |0 . mx%<1140 . m|
00000870  79 25 3e 33 33 30 20 80  20 6d 79 25 3c 34 33 30  |y%>330 . my%<430|
00000880  20 8c 0d 03 0c 2b 20 20  20 20 c8 99 20 22 53 74  | ....+    .. "St|
00000890  61 73 69 73 5f 53 6f 75  6e 64 22 2c 31 2c 31 2c  |asis_Sound",1,1,|
000008a0  76 6f 6c 75 6d 65 25 2c  26 37 30 30 30 0d 03 16  |volume%,&7000...|
000008b0  13 20 20 20 20 70 6c 61  79 65 72 73 25 2d 3d 31  |.    players%-=1|
000008c0  0d 03 20 21 20 20 20 20  e7 20 70 6c 61 79 65 72  |.. !    . player|
000008d0  73 25 3c 31 20 8c 20 70  6c 61 79 65 72 73 25 3d  |s%<1 . players%=|
000008e0  31 0d 03 2a 1d 20 20 20  20 c8 99 20 22 4f 53 5f  |1..*.    .. "OS_|
000008f0  53 65 74 43 6f 6c 6f 75  72 22 2c 30 2c 30 0d 03  |SetColour",0,0..|
00000900  34 1b 20 20 20 20 c8 93  20 c8 90 20 30 2c 31 36  |4.    .. .. 0,16|
00000910  35 2c 38 30 30 2c 32 36  30 0d 03 3e 23 20 20 20  |5,800,260..>#   |
00000920  20 f2 70 6c 6f 74 5f 70  6c 61 79 62 6f 78 65 73  | .plot_playboxes|
00000930  28 70 6c 61 79 65 72 73  25 2c 32 29 0d 03 48 1d  |(players%,2)..H.|
00000940  20 20 20 20 c8 99 20 22  4f 53 5f 53 65 74 43 6f  |    .. "OS_SetCo|
00000950  6c 6f 75 72 22 2c 30 2c  30 0d 03 52 1d 20 20 20  |lour",0,0..R.   |
00000960  20 c8 93 20 c8 90 20 31  30 35 30 2c 32 38 30 2c  | .. .. 1050,280,|
00000970  33 30 30 2c 34 38 0d 03  5c 40 20 20 20 20 c8 99  |300,48..\@    ..|
00000980  20 22 46 6f 6e 74 5f 50  61 69 6e 74 22 2c 2c 22  | "Font_Paint",,"|
00000990  50 6c 61 79 65 72 73 20  3a 20 22 2b c3 28 70 6c  |Players : "+.(pl|
000009a0  61 79 65 72 73 25 2b 31  29 2c 26 31 34 2c 31 30  |ayers%+1),&14,10|
000009b0  36 30 2c 32 38 30 0d 03  66 08 20 20 20 cd 0d 03  |60,280..f.   ...|
000009c0  70 32 20 20 20 e7 20 6d  78 25 3e 31 31 36 30 20  |p2   . mx%>1160 |
000009d0  80 20 6d 78 25 3c 31 32  36 30 20 80 20 6d 79 25  |. mx%<1260 . my%|
000009e0  3e 33 33 30 20 80 20 6d  79 25 3c 34 33 30 20 8c  |>330 . my%<430 .|
000009f0  0d 03 7a 2b 20 20 20 20  c8 99 20 22 53 74 61 73  |..z+    .. "Stas|
00000a00  69 73 5f 53 6f 75 6e 64  22 2c 31 2c 31 2c 76 6f  |is_Sound",1,1,vo|
00000a10  6c 75 6d 65 25 2c 26 37  30 30 30 0d 03 84 13 20  |lume%,&7000.... |
00000a20  20 20 20 70 6c 61 79 65  72 73 25 2b 3d 31 0d 03  |   players%+=1..|
00000a30  8e 21 20 20 20 20 e7 20  70 6c 61 79 65 72 73 25  |.!    . players%|
00000a40  3e 33 20 8c 20 70 6c 61  79 65 72 73 25 3d 33 0d  |>3 . players%=3.|
00000a50  03 98 23 20 20 20 20 f2  70 6c 6f 74 5f 70 6c 61  |..#    .plot_pla|
00000a60  79 62 6f 78 65 73 28 70  6c 61 79 65 72 73 25 2c  |yboxes(players%,|
00000a70  32 29 0d 03 a2 1d 20 20  20 20 c8 99 20 22 4f 53  |2)....    .. "OS|
00000a80  5f 53 65 74 43 6f 6c 6f  75 72 22 2c 30 2c 30 0d  |_SetColour",0,0.|
00000a90  03 ac 1d 20 20 20 20 c8  93 20 c8 90 20 31 30 35  |...    .. .. 105|
00000aa0  30 2c 32 38 30 2c 33 30  30 2c 34 38 0d 03 b6 40  |0,280,300,48...@|
00000ab0  20 20 20 20 c8 99 20 22  46 6f 6e 74 5f 50 61 69  |    .. "Font_Pai|
00000ac0  6e 74 22 2c 2c 22 50 6c  61 79 65 72 73 20 3a 20  |nt",,"Players : |
00000ad0  22 2b c3 28 70 6c 61 79  65 72 73 25 2b 31 29 2c  |"+.(players%+1),|
00000ae0  26 31 34 2c 31 30 36 30  2c 32 38 30 0d 03 c0 08  |&14,1060,280....|
00000af0  20 20 20 cd 0d 03 ca 32  20 20 20 e7 20 6d 78 25  |   ....2   . mx%|
00000b00  3e 31 30 36 30 20 80 20  6d 78 25 3c 31 32 36 30  |>1060 . mx%<1260|
00000b10  20 80 20 6d 79 25 3e 31  34 30 20 80 20 6d 79 25  | . my%>140 . my%|
00000b20  3c 32 34 30 20 8c 0d 03  d4 2b 20 20 20 20 c8 99  |<240 ....+    ..|
00000b30  20 22 53 74 61 73 69 73  5f 53 6f 75 6e 64 22 2c  | "Stasis_Sound",|
00000b40  31 2c 31 2c 76 6f 6c 75  6d 65 25 2c 26 37 30 30  |1,1,volume%,&700|
00000b50  30 0d 03 de 0f 20 20 20  20 65 78 69 74 25 3d b9  |0....    exit%=.|
00000b60  0d 03 e8 08 20 20 20 cd  0d 03 f2 31 20 20 20 e7  |....   ....1   .|
00000b70  20 6d 78 25 3e 31 30 36  30 20 80 20 6d 78 25 3c  | mx%>1060 . mx%<|
00000b80  31 32 36 30 20 80 20 6d  79 25 3e 32 30 20 80 20  |1260 . my%>20 . |
00000b90  6d 79 25 3c 31 32 30 20  8c 0d 03 fc 2b 20 20 20  |my%<120 ....+   |
00000ba0  20 c8 99 20 22 53 74 61  73 69 73 5f 53 6f 75 6e  | .. "Stasis_Soun|
00000bb0  64 22 2c 31 2c 31 2c 76  6f 6c 75 6d 65 25 2c 26  |d",1,1,volume%,&|
00000bc0  37 30 30 30 0d 04 06 0c  20 20 20 20 f2 65 6e 64  |7000....    .end|
00000bd0  0d 04 10 08 20 20 20 cd  0d 04 1a 26 20 20 20 e7  |....   ....&   .|
00000be0  20 6d 78 25 3c 34 30 30  20 80 20 6d 79 25 3e 34  | mx%<400 . my%>4|
00000bf0  35 30 20 80 20 6d 79 25  3c 37 30 30 20 8c 0d 04  |50 . my%<700 ...|
00000c00  24 23 20 20 20 20 63 6f  6d 70 75 74 65 72 25 28  |$#    computer%(|
00000c10  30 29 3d ac 20 63 6f 6d  70 75 74 65 72 25 28 30  |0)=. computer%(0|
00000c20  29 0d 04 2e 2b 20 20 20  20 c8 99 20 22 53 74 61  |)...+    .. "Sta|
00000c30  73 69 73 5f 53 6f 75 6e  64 22 2c 31 2c 31 2c 76  |sis_Sound",1,1,v|
00000c40  6f 6c 75 6d 65 25 2c 26  37 30 30 30 0d 04 38 1d  |olume%,&7000..8.|
00000c50  20 20 20 20 c8 99 20 22  4f 53 5f 53 65 74 43 6f  |    .. "OS_SetCo|
00000c60  6c 6f 75 72 22 2c 30 2c  30 0d 04 42 1a 20 20 20  |lour",0,0..B.   |
00000c70  20 c8 93 20 c8 90 20 30  2c 34 34 30 2c 34 30 30  | .. .. 0,440,400|
00000c80  2c 35 30 0d 04 4c 23 20  20 20 20 f2 70 6c 6f 74  |,50..L#    .plot|
00000c90  5f 70 6c 61 79 62 6f 78  65 73 28 70 6c 61 79 65  |_playboxes(playe|
00000ca0  72 73 25 2c 32 29 0d 04  56 08 20 20 20 cd 0d 04  |rs%,2)..V.   ...|
00000cb0  60 30 20 20 20 e7 20 6d  78 25 3e 34 30 30 20 80  |`0   . mx%>400 .|
00000cc0  20 6d 78 25 3c 38 30 30  20 80 20 6d 79 25 3e 34  | mx%<800 . my%>4|
00000cd0  35 30 20 80 20 6d 79 25  3c 37 30 30 20 8c 0d 04  |50 . my%<700 ...|
00000ce0  6a 23 20 20 20 20 63 6f  6d 70 75 74 65 72 25 28  |j#    computer%(|
00000cf0  31 29 3d ac 20 63 6f 6d  70 75 74 65 72 25 28 31  |1)=. computer%(1|
00000d00  29 0d 04 74 2b 20 20 20  20 c8 99 20 22 53 74 61  |)..t+    .. "Sta|
00000d10  73 69 73 5f 53 6f 75 6e  64 22 2c 31 2c 31 2c 76  |sis_Sound",1,1,v|
00000d20  6f 6c 75 6d 65 25 2c 26  37 30 30 30 0d 04 7e 1d  |olume%,&7000..~.|
00000d30  20 20 20 20 c8 99 20 22  4f 53 5f 53 65 74 43 6f  |    .. "OS_SetCo|
00000d40  6c 6f 75 72 22 2c 30 2c  30 0d 04 88 1c 20 20 20  |lour",0,0....   |
00000d50  20 c8 93 20 c8 90 20 34  30 30 2c 34 34 30 2c 34  | .. .. 400,440,4|
00000d60  30 30 2c 35 30 0d 04 92  23 20 20 20 20 f2 70 6c  |00,50...#    .pl|
00000d70  6f 74 5f 70 6c 61 79 62  6f 78 65 73 28 70 6c 61  |ot_playboxes(pla|
00000d80  79 65 72 73 25 2c 32 29  0d 04 9c 08 20 20 20 cd  |yers%,2)....   .|
00000d90  0d 04 a6 33 20 20 20 e7  20 6d 78 25 3c 34 30 30  |...3   . mx%<400|
00000da0  20 80 20 6d 79 25 3e 31  37 35 20 80 20 6d 79 25  | . my%>175 . my%|
00000db0  3c 34 32 35 20 80 20 70  6c 61 79 65 72 73 25 3e  |<425 . players%>|
00000dc0  31 20 8c 0d 04 b0 23 20  20 20 20 63 6f 6d 70 75  |1 ....#    compu|
00000dd0  74 65 72 25 28 32 29 3d  ac 20 63 6f 6d 70 75 74  |ter%(2)=. comput|
00000de0  65 72 25 28 32 29 0d 04  ba 2b 20 20 20 20 c8 99  |er%(2)...+    ..|
00000df0  20 22 53 74 61 73 69 73  5f 53 6f 75 6e 64 22 2c  | "Stasis_Sound",|
00000e00  31 2c 31 2c 76 6f 6c 75  6d 65 25 2c 26 37 30 30  |1,1,volume%,&700|
00000e10  30 0d 04 c4 1d 20 20 20  20 c8 99 20 22 4f 53 5f  |0....    .. "OS_|
00000e20  53 65 74 43 6f 6c 6f 75  72 22 2c 30 2c 30 0d 04  |SetColour",0,0..|
00000e30  ce 1a 20 20 20 20 c8 93  20 c8 90 20 30 2c 31 36  |..    .. .. 0,16|
00000e40  35 2c 34 30 30 2c 35 30  0d 04 d8 23 20 20 20 20  |5,400,50...#    |
00000e50  f2 70 6c 6f 74 5f 70 6c  61 79 62 6f 78 65 73 28  |.plot_playboxes(|
00000e60  70 6c 61 79 65 72 73 25  2c 32 29 0d 04 e2 08 20  |players%,2).... |
00000e70  20 20 cd 0d 04 ec 3d 20  20 20 e7 20 6d 78 25 3e  |  ....=   . mx%>|
00000e80  34 30 30 20 80 20 6d 78  25 3c 38 30 30 20 80 20  |400 . mx%<800 . |
00000e90  6d 79 25 3e 31 37 35 20  80 20 6d 79 25 3c 34 32  |my%>175 . my%<42|
00000ea0  35 20 80 20 70 6c 61 79  65 72 73 25 3e 32 20 8c  |5 . players%>2 .|
00000eb0  0d 04 f6 23 20 20 20 20  63 6f 6d 70 75 74 65 72  |...#    computer|
00000ec0  25 28 33 29 3d ac 20 63  6f 6d 70 75 74 65 72 25  |%(3)=. computer%|
00000ed0  28 33 29 0d 05 00 2b 20  20 20 20 c8 99 20 22 53  |(3)...+    .. "S|
00000ee0  74 61 73 69 73 5f 53 6f  75 6e 64 22 2c 31 2c 31  |tasis_Sound",1,1|
00000ef0  2c 76 6f 6c 75 6d 65 25  2c 26 37 30 30 30 0d 05  |,volume%,&7000..|
00000f00  0a 1d 20 20 20 20 c8 99  20 22 4f 53 5f 53 65 74  |..    .. "OS_Set|
00000f10  43 6f 6c 6f 75 72 22 2c  30 2c 30 0d 05 14 1c 20  |Colour",0,0.... |
00000f20  20 20 20 c8 93 20 c8 90  20 34 30 30 2c 31 36 35  |   .. .. 400,165|
00000f30  2c 34 30 30 2c 35 30 0d  05 1e 23 20 20 20 20 f2  |,400,50...#    .|
00000f40  70 6c 6f 74 5f 70 6c 61  79 62 6f 78 65 73 28 70  |plot_playboxes(p|
00000f50  6c 61 79 65 72 73 25 2c  32 29 0d 05 28 08 20 20  |layers%,2)..(.  |
00000f60  20 cd 0d 05 32 10 20 20  20 68 74 6f 6c 64 24 3d  | ...2.   htold$=|
00000f70  22 22 0d 05 3c 07 20 20  cc 0d 05 46 10 20 20 20  |""..<.  ...F.   |
00000f80  68 74 65 78 74 24 3d 22  22 0d 05 50 43 20 20 20  |htext$=""..PC   |
00000f90  e7 20 6d 78 25 3e 31 30  35 30 20 80 20 6d 78 25  |. mx%>1050 . mx%|
00000fa0  3c 31 32 35 30 20 80 20  6d 79 25 3e 32 38 30 20  |<1250 . my%>280 |
00000fb0  80 20 6d 79 25 3c 33 33  30 20 8c 20 68 74 65 78  |. my%<330 . htex|
00000fc0  74 24 3d 22 70 6c 61 79  6c 65 76 22 0d 05 5a 42  |t$="playlev"..ZB|
00000fd0  20 20 20 e7 20 6d 78 25  3e 31 30 35 30 20 80 20  |   . mx%>1050 . |
00000fe0  6d 78 25 3c 31 32 35 30  20 80 20 6d 79 25 3e 34  |mx%<1250 . my%>4|
00000ff0  38 30 20 80 20 6d 79 25  3c 35 33 30 20 8c 20 68  |80 . my%<530 . h|
00001000  74 65 78 74 24 3d 22 76  6f 6c 6c 65 76 22 0d 05  |text$="vollev"..|
00001010  64 42 20 20 20 e7 20 6d  78 25 3e 31 30 34 30 20  |dB   . mx%>1040 |
00001020  80 20 6d 78 25 3c 31 31  34 30 20 80 20 6d 79 25  |. mx%<1140 . my%|
00001030  3e 33 33 30 20 80 20 6d  79 25 3c 34 33 30 20 8c  |>330 . my%<430 .|
00001040  20 68 74 65 78 74 24 3d  22 61 72 6c 65 66 74 22  | htext$="arleft"|
00001050  0d 05 6e 43 20 20 20 e7  20 6d 78 25 3e 31 31 36  |..nC   . mx%>116|
00001060  30 20 80 20 6d 78 25 3c  31 32 36 30 20 80 20 6d  |0 . mx%<1260 . m|
00001070  79 25 3e 33 33 30 20 80  20 6d 79 25 3c 34 33 30  |y%>330 . my%<430|
00001080  20 8c 20 68 74 65 78 74  24 3d 22 61 72 72 69 67  | . htext$="arrig|
00001090  68 74 22 0d 05 78 43 20  20 20 e7 20 6d 78 25 3e  |ht"..xC   . mx%>|
000010a0  31 30 34 30 20 80 20 6d  78 25 3c 31 31 34 30 20  |1040 . mx%<1140 |
000010b0  80 20 6d 79 25 3e 35 33  30 20 80 20 6d 79 25 3c  |. my%>530 . my%<|
000010c0  36 33 30 20 8c 20 68 74  65 78 74 24 3d 22 76 6f  |630 . htext$="vo|
000010d0  6c 6c 65 66 74 22 0d 05  82 43 20 20 20 e7 20 6d  |lleft"...C   . m|
000010e0  78 25 3e 31 31 36 30 20  80 20 6d 78 25 3c 31 32  |x%>1160 . mx%<12|
000010f0  36 30 20 80 20 6d 79 25  3e 35 33 30 20 80 20 6d  |60 . my%>530 . m|
00001100  79 25 3c 36 33 30 20 8c  20 68 74 65 78 74 24 3d  |y%<630 . htext$=|
00001110  22 76 6f 6c 72 67 68 74  22 0d 05 8c 40 20 20 20  |"volrght"...@   |
00001120  e7 20 6d 78 25 3e 31 30  36 30 20 80 20 6d 78 25  |. mx%>1060 . mx%|
00001130  3c 31 32 36 30 20 80 20  6d 79 25 3e 31 34 30 20  |<1260 . my%>140 |
00001140  80 20 6d 79 25 3c 32 34  30 20 8c 20 68 74 65 78  |. my%<240 . htex|
00001150  74 24 3d 22 70 6c 61 79  22 0d 05 96 3f 20 20 20  |t$="play"...?   |
00001160  e7 20 6d 78 25 3e 31 30  36 30 20 80 20 6d 78 25  |. mx%>1060 . mx%|
00001170  3c 31 32 36 30 20 80 20  6d 79 25 3e 32 30 20 80  |<1260 . my%>20 .|
00001180  20 6d 79 25 3c 31 32 30  20 8c 20 68 74 65 78 74  | my%<120 . htext|
00001190  24 3d 22 71 75 69 74 22  0d 05 a0 37 20 20 20 e7  |$="quit"...7   .|
000011a0  20 6d 78 25 3c 34 30 30  20 80 20 6d 79 25 3e 35  | mx%<400 . my%>5|
000011b0  30 30 20 80 20 6d 79 25  3c 37 30 30 20 8c 20 68  |00 . my%<700 . h|
000011c0  74 65 78 74 24 3d 22 70  6c 61 79 65 72 31 22 0d  |text$="player1".|
000011d0  05 aa 41 20 20 20 e7 20  6d 78 25 3e 34 30 30 20  |..A   . mx%>400 |
000011e0  80 20 6d 78 25 3c 38 30  30 20 80 20 6d 79 25 3e  |. mx%<800 . my%>|
000011f0  35 30 30 20 80 20 6d 79  25 3c 37 30 30 20 8c 20  |500 . my%<700 . |
00001200  68 74 65 78 74 24 3d 22  70 6c 61 79 65 72 32 22  |htext$="player2"|
00001210  0d 05 b4 44 20 20 20 e7  20 6d 78 25 3c 34 30 30  |...D   . mx%<400|
00001220  20 80 20 6d 79 25 3e 32  32 35 20 80 20 6d 79 25  | . my%>225 . my%|
00001230  3c 34 32 35 20 80 20 70  6c 61 79 65 72 73 25 3e  |<425 . players%>|
00001240  31 20 8c 20 68 74 65 78  74 24 3d 22 70 6c 61 79  |1 . htext$="play|
00001250  65 72 33 22 0d 05 be 4e  20 20 20 e7 20 6d 78 25  |er3"...N   . mx%|
00001260  3e 34 30 30 20 80 20 6d  78 25 3c 38 30 30 20 80  |>400 . mx%<800 .|
00001270  20 6d 79 25 3e 32 32 35  20 80 20 6d 79 25 3c 34  | my%>225 . my%<4|
00001280  32 35 20 80 20 70 6c 61  79 65 72 73 25 3e 32 20  |25 . players%>2 |
00001290  8c 20 68 74 65 78 74 24  3d 22 70 6c 61 79 65 72  |. htext$="player|
000012a0  34 22 0d 05 c8 35 20 20  20 e7 20 6d 78 25 3c 34  |4"...5   . mx%<4|
000012b0  30 30 20 80 20 6d 79 25  3e 34 35 30 20 80 20 6d  |00 . my%>450 . m|
000012c0  79 25 3c 35 30 30 20 8c  20 68 74 65 78 74 24 3d  |y%<500 . htext$=|
000012d0  22 63 6f 6d 70 31 22 0d  05 d2 3f 20 20 20 e7 20  |"comp1"...?   . |
000012e0  6d 78 25 3e 34 30 30 20  80 20 6d 78 25 3c 38 30  |mx%>400 . mx%<80|
000012f0  30 20 80 20 6d 79 25 3e  34 35 30 20 80 20 6d 79  |0 . my%>450 . my|
00001300  25 3c 35 30 30 20 8c 20  68 74 65 78 74 24 3d 22  |%<500 . htext$="|
00001310  63 6f 6d 70 32 22 0d 05  dc 42 20 20 20 e7 20 6d  |comp2"...B   . m|
00001320  78 25 3c 34 30 30 20 80  20 6d 79 25 3e 31 37 35  |x%<400 . my%>175|
00001330  20 80 20 6d 79 25 3c 32  32 35 20 80 20 70 6c 61  | . my%<225 . pla|
00001340  79 65 72 73 25 3e 31 20  8c 20 68 74 65 78 74 24  |yers%>1 . htext$|
00001350  3d 22 63 6f 6d 70 33 22  0d 05 e6 4c 20 20 20 e7  |="comp3"...L   .|
00001360  20 6d 78 25 3e 34 30 30  20 80 20 6d 78 25 3c 38  | mx%>400 . mx%<8|
00001370  30 30 20 80 20 6d 79 25  3e 31 37 35 20 80 20 6d  |00 . my%>175 . m|
00001380  79 25 3c 32 32 35 20 80  20 70 6c 61 79 65 72 73  |y%<225 . players|
00001390  25 3e 32 20 8c 20 68 74  65 78 74 24 3d 22 63 6f  |%>2 . htext$="co|
000013a0  6d 70 34 22 0d 05 f0 3e  20 20 20 e7 20 6d 78 25  |mp4"...>   . mx%|
000013b0  3e 34 30 30 20 80 20 6d  78 25 3c 38 36 30 20 80  |>400 . mx%<860 .|
000013c0  20 6d 79 25 3e 37 36 30  20 80 20 6d 79 25 3c 39  | my%>760 . my%<9|
000013d0  36 30 20 8c 20 68 74 65  78 74 24 3d 22 6c 6f 67  |60 . htext$="log|
000013e0  6f 22 0d 05 fa 42 20 20  20 e7 20 6d 78 25 3e 36  |o"...B   . mx%>6|
000013f0  32 30 20 80 20 6d 78 25  3c 31 32 30 30 20 80 20  |20 . mx%<1200 . |
00001400  6d 79 25 3e 37 31 30 20  80 20 6d 79 25 3c 37 36  |my%>710 . my%<76|
00001410  30 20 8c 20 68 74 65 78  74 24 3d 22 64 6f 77 6e  |0 . htext$="down|
00001420  67 72 61 22 0d 06 04 2b  20 20 20 e7 20 6d 78 25  |gra"...+   . mx%|
00001430  3c 31 30 36 30 20 80 20  6d 79 25 3c 31 32 30 20  |<1060 . my%<120 |
00001440  8c 20 68 74 65 78 74 24  3d 22 68 65 6c 70 22 0d  |. htext$="help".|
00001450  06 0e 2c 20 20 20 e7 20  68 74 6f 6c 64 24 3c 3e  |..,   . htold$<>|
00001460  68 74 65 78 74 24 20 8c  20 f2 68 65 6c 70 5f 74  |htext$ . .help_t|
00001470  65 78 74 28 68 74 65 78  74 24 29 0d 06 18 14 20  |ext(htext$).... |
00001480  20 20 68 74 6f 6c 64 24  3d 68 74 65 78 74 24 0d  |  htold$=htext$.|
00001490  06 22 07 20 20 cd 0d 06  2c 17 20 20 e7 20 62 74  |.".  ...,.  . bt|
000014a0  6e 25 3d 30 20 8c 20 62  6f 6e 25 3d a3 0d 06 36  |n%=0 . bon%=...6|
000014b0  0e 20 fd 20 65 78 69 74  25 3d b9 0d 06 40 08 ef  |. . exit%=...@..|
000014c0  34 3a 87 0d 06 4a 05 e1  0d 06 54 04 0d 06 5e 04  |4:...J....T...^.|
000014d0  0d 06 68 10 dd 20 f2 69  6e 69 74 5f 67 61 6d 65  |..h.. .init_game|
000014e0  0d 06 72 0c 20 ea 20 78  25 2c 79 25 0d 06 7c 11  |..r. . x%,y%..|.|
000014f0  20 64 75 6d 6d 79 25 3d  b3 28 2d 91 29 0d 06 86  | dummy%=.(-.)...|
00001500  13 20 f2 69 6e 69 74 5f  63 6f 6c 74 61 62 6c 65  |. .init_coltable|
00001510  0d 06 90 0f 20 70 6c 61  79 65 72 73 25 3d 33 0d  |.... players%=3.|
00001520  06 9a 10 20 76 6f 6c 75  6d 65 25 3d 26 34 46 0d  |... volume%=&4F.|
00001530  06 a4 13 20 de 20 70 6c  61 79 74 65 78 74 24 28  |... . playtext$(|
00001540  33 29 0d 06 ae 2d 20 70  6c 61 79 74 65 78 74 24  |3)...- playtext$|
00001550  28 29 3d 22 42 6c 75 65  22 2c 22 47 72 65 65 6e  |()="Blue","Green|
00001560  22 2c 22 42 72 6f 77 6e  22 2c 22 52 65 64 22 0d  |","Brown","Red".|
00001570  06 b8 13 20 de 20 6d 61  78 6e 75 6d 25 28 37 2c  |... . maxnum%(7,|
00001580  37 29 0d 06 c2 0f 20 e3  20 78 25 3d 30 20 b8 20  |7).... . x%=0 . |
00001590  37 0d 06 cc 10 20 20 e3  20 79 25 3d 30 20 b8 20  |7....  . y%=0 . |
000015a0  37 0d 06 d6 17 20 20 20  6d 61 78 6e 75 6d 25 28  |7....   maxnum%(|
000015b0  78 25 2c 79 25 29 3d 33  0d 06 e0 23 20 20 20 e7  |x%,y%)=3...#   .|
000015c0  20 78 25 2a 79 25 3d 30  20 8c 20 6d 61 78 6e 75  | x%*y%=0 . maxnu|
000015d0  6d 25 28 78 25 2c 79 25  29 3d 32 0d 06 ea 20 20  |m%(x%,y%)=2...  |
000015e0  20 20 e7 20 78 25 3d 37  20 8c 20 6d 61 78 6e 75  |  . x%=7 . maxnu|
000015f0  6d 25 28 78 25 2c 79 25  29 3d 32 0d 06 f4 20 20  |m%(x%,y%)=2...  |
00001600  20 20 e7 20 79 25 3d 37  20 8c 20 6d 61 78 6e 75  |  . y%=7 . maxnu|
00001610  6d 25 28 78 25 2c 79 25  29 3d 32 0d 06 fe 27 20  |m%(x%,y%)=2...' |
00001620  20 20 e7 20 78 25 3d 30  20 80 20 79 25 3d 30 20  |  . x%=0 . y%=0 |
00001630  8c 20 6d 61 78 6e 75 6d  25 28 78 25 2c 79 25 29  |. maxnum%(x%,y%)|
00001640  3d 31 0d 07 08 27 20 20  20 e7 20 78 25 3d 30 20  |=1...'   . x%=0 |
00001650  80 20 79 25 3d 37 20 8c  20 6d 61 78 6e 75 6d 25  |. y%=7 . maxnum%|
00001660  28 78 25 2c 79 25 29 3d  31 0d 07 12 27 20 20 20  |(x%,y%)=1...'   |
00001670  e7 20 78 25 3d 37 20 80  20 79 25 3d 30 20 8c 20  |. x%=7 . y%=0 . |
00001680  6d 61 78 6e 75 6d 25 28  78 25 2c 79 25 29 3d 31  |maxnum%(x%,y%)=1|
00001690  0d 07 1c 27 20 20 20 e7  20 78 25 3d 37 20 80 20  |...'   . x%=7 . |
000016a0  79 25 3d 37 20 8c 20 6d  61 78 6e 75 6d 25 28 78  |y%=7 . maxnum%(x|
000016b0  25 2c 79 25 29 3d 31 0d  07 26 07 20 20 ed 0d 07  |%,y%)=1..&.  ...|
000016c0  30 06 20 ed 0d 07 3a 15  20 de 20 6e 75 6d 74 68  |0. ...:. . numth|
000016d0  65 72 65 25 28 37 2c 37  29 0d 07 44 1a 20 de 20  |ere%(7,7)..D. . |
000016e0  63 6f 6d 70 5f 6e 75 6d  74 68 65 72 65 25 28 37  |comp_numthere%(7|
000016f0  2c 37 29 0d 07 4e 18 20  de 20 70 6c 61 79 65 72  |,7)..N. . player|
00001700  74 68 65 72 65 25 28 37  2c 37 29 0d 07 58 1d 20  |there%(7,7)..X. |
00001710  de 20 63 6f 6d 70 5f 70  6c 61 79 65 72 74 68 65  |. comp_playerthe|
00001720  72 65 25 28 37 2c 37 29  0d 07 62 17 20 de 20 70  |re%(7,7)..b. . p|
00001730  6c 61 79 65 72 73 61 6c  69 76 65 25 28 33 29 0d  |layersalive%(3).|
00001740  07 6c 17 20 de 20 63 6f  6d 70 5f 70 6c 61 79 65  |.l. . comp_playe|
00001750  72 73 25 28 33 29 0d 07  76 13 20 de 20 63 6f 6d  |rs%(3)..v. . com|
00001760  70 75 74 65 72 25 28 33  29 0d 07 80 10 20 de 20  |puter%(3).... . |
00001770  64 69 66 66 28 37 2c 37  29 0d 07 8a 12 20 63 6f  |diff(7,7).... co|
00001780  6d 70 75 74 65 72 25 28  29 3d b9 0d 07 94 05 e1  |mputer%()=......|
00001790  0d 07 9e 04 0d 07 a8 10  dd 20 f2 70 6c 61 79 5f  |......... .play_|
000017a0  67 61 6d 65 0d 07 b2 4a  20 ea 20 6d 78 25 2c 6d  |game...J . mx%,m|
000017b0  79 25 2c 62 74 6e 25 2c  67 61 6d 65 6f 76 65 72  |y%,btn%,gameover|
000017c0  25 2c 77 68 6f 73 65 67  6f 25 2c 78 25 2c 79 25  |%,whosego%,x%,y%|
000017d0  2c 70 6c 61 79 63 6f 75  6e 74 25 2c 65 78 69 74  |,playcount%,exit|
000017e0  25 2c 6c 61 73 74 5f 70  6c 61 79 65 72 25 0d 07  |%,last_player%..|
000017f0  bc 08 20 ea 20 85 0d 07  c6 10 20 ee 20 85 20 ea  |.. . ..... . . .|
00001800  20 f7 20 85 3a e1 0d 07  d0 09 20 ef 35 3a 87 0d  | . .:..... .5:..|
00001810  07 da 10 20 67 61 6d 65  6f 76 65 72 25 3d a3 0d  |... gameover%=..|
00001820  07 e4 1d 20 77 68 6f 73  65 67 6f 25 3d b3 28 70  |... whosego%=.(p|
00001830  6c 61 79 65 72 73 25 2b  31 29 2d 31 0d 07 ee 11  |layers%+1)-1....|
00001840  20 70 6c 61 79 63 6f 75  6e 74 25 3d 30 0d 07 f8  | playcount%=0...|
00001850  06 20 f5 0d 08 02 07 20  20 f5 0d 08 0c 12 20 20  |. .....  .....  |
00001860  20 77 68 6f 73 65 67 6f  25 2b 3d 31 0d 08 16 27  | whosego%+=1...'|
00001870  20 20 20 e7 20 77 68 6f  73 65 67 6f 25 3e 70 6c  |   . whosego%>pl|
00001880  61 79 65 72 73 25 20 8c  20 77 68 6f 73 65 67 6f  |ayers% . whosego|
00001890  25 3d 30 0d 08 20 21 20  20 fd 20 70 6c 61 79 65  |%=0.. !  . playe|
000018a0  72 73 61 6c 69 76 65 25  28 77 68 6f 73 65 67 6f  |rsalive%(whosego|
000018b0  25 29 3d b9 0d 08 2a 13  20 20 70 6c 61 79 63 6f  |%)=...*.  playco|
000018c0  75 6e 74 25 2b 3d 31 0d  08 34 20 20 20 f2 70 6c  |unt%+=1..4   .pl|
000018d0  6f 74 5f 72 65 63 74 61  6e 67 6c 65 73 28 77 68  |ot_rectangles(wh|
000018e0  6f 73 65 67 6f 25 29 0d  08 3e 0d 20 20 65 78 69  |osego%)..>.  exi|
000018f0  74 25 3d a3 0d 08 48 1f  20 20 e7 20 63 6f 6d 70  |t%=...H.  . comp|
00001900  75 74 65 72 25 28 77 68  6f 73 65 67 6f 25 29 3d  |uter%(whosego%)=|
00001910  b9 20 8c 0d 08 52 0b 20  20 20 c8 97 20 ee 0d 08  |. ...R.   .. ...|
00001920  5c 08 20 20 20 f5 0d 08  66 16 20 20 20 c8 97 20  |\.   ...f.   .. |
00001930  6d 78 25 2c 6d 79 25 2c  62 74 6e 25 0d 08 70 14  |mx%,my%,btn%..p.|
00001940  20 20 20 20 78 25 3d 6d  78 25 20 81 20 31 30 30  |    x%=mx% . 100|
00001950  0d 08 7a 14 20 20 20 20  79 25 3d 6d 79 25 20 81  |..z.    y%=my% .|
00001960  20 31 30 30 0d 08 84 19  20 20 20 20 e7 20 78 25  | 100....    . x%|
00001970  3c 3d 37 20 80 20 79 25  3c 3d 37 20 8c 0d 08 8e  |<=7 . y%<=7 ....|
00001980  10 20 20 20 20 20 65 78  69 74 25 3d b9 0d 08 98  |.     exit%=....|
00001990  47 20 20 20 20 20 e7 20  70 6c 61 79 65 72 74 68  |G     . playerth|
000019a0  65 72 65 25 28 78 25 2c  79 25 29 3c 3e 77 68 6f  |ere%(x%,y%)<>who|
000019b0  73 65 67 6f 25 20 80 20  6e 75 6d 74 68 65 72 65  |sego% . numthere|
000019c0  25 28 78 25 2c 79 25 29  3e 30 20 8c 20 65 78 69  |%(x%,y%)>0 . exi|
000019d0  74 25 3d a3 0d 08 a2 09  20 20 20 20 cd 0d 08 ac  |t%=.....    ....|
000019e0  1b 20 20 20 20 e7 20 62  74 6e 25 3c 3e 34 20 8c  |.    . btn%<>4 .|
000019f0  20 65 78 69 74 25 3d a3  0d 08 b6 10 20 20 20 fd  | exit%=.....   .|
00001a00  20 65 78 69 74 25 3d b9  0d 08 c0 07 20 20 cc 0d  | exit%=.....  ..|
00001a10  08 ca 0b 20 20 20 c8 97  20 87 0d 08 d4 08 20 20  |...   .. .....  |
00001a20  20 f5 0d 08 de 0f 20 20  20 20 65 78 69 74 25 3d  | .....    exit%=|
00001a30  b9 0d 08 e8 14 20 20 20  20 f2 63 6f 6d 70 75 74  |.....    .comput|
00001a40  65 72 5f 67 6f 0d 08 f2  10 20 20 20 fd 20 65 78  |er_go....   . ex|
00001a50  69 74 25 3d b9 0d 08 fc  07 20 20 cd 0d 09 06 29  |it%=.....  ....)|
00001a60  20 20 c8 99 20 22 53 74  61 73 69 73 5f 53 6f 75  |  .. "Stasis_Sou|
00001a70  6e 64 22 2c 31 2c 31 2c  76 6f 6c 75 6d 65 25 2c  |nd",1,1,volume%,|
00001a80  26 37 30 30 30 0d 09 10  22 20 20 70 6c 61 79 65  |&7000..."  playe|
00001a90  72 74 68 65 72 65 25 28  78 25 2c 79 25 29 3d 77  |rthere%(x%,y%)=w|
00001aa0  68 6f 73 65 67 6f 25 0d  09 1a 19 20 20 6e 75 6d  |hosego%....  num|
00001ab0  74 68 65 72 65 25 28 78  25 2c 79 25 29 2b 3d 31  |there%(x%,y%)+=1|
00001ac0  0d 09 24 22 20 20 f2 70  6c 6f 74 5f 70 6c 61 79  |..$"  .plot_play|
00001ad0  65 72 28 78 25 2c 79 25  2c 77 68 6f 73 65 67 6f  |er(x%,y%,whosego|
00001ae0  25 29 0d 09 2e 42 20 20  e7 20 6e 75 6d 74 68 65  |%)...B  . numthe|
00001af0  72 65 25 28 78 25 2c 79  25 29 3e 6d 61 78 6e 75  |re%(x%,y%)>maxnu|
00001b00  6d 25 28 78 25 2c 79 25  29 20 8c 20 f2 65 78 70  |m%(x%,y%) . .exp|
00001b10  6c 6f 64 65 28 78 25 2c  79 25 2c 77 68 6f 73 65  |lode(x%,y%,whose|
00001b20  67 6f 25 29 0d 09 38 1d  20 20 e7 20 70 6c 61 79  |go%)..8.  . play|
00001b30  63 6f 75 6e 74 25 3e 70  6c 61 79 65 72 73 25 20  |count%>players% |
00001b40  8c 0d 09 42 11 20 20 20  e3 20 78 25 3d 30 20 b8  |...B.   . x%=0 .|
00001b50  20 33 0d 09 4c 2e 20 20  20 20 70 6c 61 79 65 72  | 3..L.    player|
00001b60  73 61 6c 69 76 65 25 28  78 25 29 3d a4 67 65 74  |salive%(x%)=.get|
00001b70  5f 70 6c 61 79 65 72 73  74 61 74 65 28 78 25 29  |_playerstate(x%)|
00001b80  0d 09 56 08 20 20 20 ed  0d 09 60 1f 20 20 20 67  |..V.   ...`.   g|
00001b90  61 6d 65 6f 76 65 72 25  3d a4 67 65 74 5f 67 61  |ameover%=.get_ga|
00001ba0  6d 65 73 74 61 74 65 0d  09 6a 07 20 20 cd 0d 09  |mestate..j.  ...|
00001bb0  74 12 20 fd 20 67 61 6d  65 6f 76 65 72 25 3d b9  |t. . gameover%=.|
00001bc0  0d 09 7e 16 20 e3 20 78  25 3d 30 20 b8 20 70 6c  |..~. . x%=0 . pl|
00001bd0  61 79 65 72 73 25 0d 09  88 2d 20 20 e7 20 70 6c  |ayers%...-  . pl|
00001be0  61 79 65 72 73 61 6c 69  76 65 25 28 78 25 29 3d  |ayersalive%(x%)=|
00001bf0  b9 20 8c 20 6c 61 73 74  5f 70 6c 61 79 65 72 25  |. . last_player%|
00001c00  3d 78 25 0d 09 92 06 20  ed 0d 09 9c 07 20 ef 34  |=x%.... ..... .4|
00001c10  0d 09 a6 1e 20 f2 70 6c  61 79 65 72 5f 77 6f 6e  |.... .player_won|
00001c20  28 6c 61 73 74 5f 70 6c  61 79 65 72 25 29 0d 09  |(last_player%)..|
00001c30  b0 08 20 f7 20 85 0d 09  ba 05 e1 0d 09 c4 04 0d  |.. . ...........|
00001c40  09 ce 04 0d 09 d8 11 dd  20 f2 73 74 61 72 74 5f  |........ .start_|
00001c50  67 61 6d 65 0d 09 e2 0c  20 ea 20 78 25 2c 79 25  |game.... . x%,y%|
00001c60  0d 09 ec 12 20 6e 75 6d  74 68 65 72 65 25 28 29  |.... numthere%()|
00001c70  3d 30 0d 09 f6 15 20 70  6c 61 79 65 72 74 68 65  |=0.... playerthe|
00001c80  72 65 25 28 29 3d 30 0d  0a 00 06 20 db 0d 0a 0a  |re%()=0.... ....|
00001c90  0f 20 e3 20 78 25 3d 30  20 b8 20 37 0d 0a 14 10  |. . x%=0 . 7....|
00001ca0  20 20 e3 20 79 25 3d 30  20 b8 20 37 0d 0a 1e 18  |  . y%=0 . 7....|
00001cb0  20 20 20 f2 70 6c 6f 74  5f 77 6f 6f 64 28 78 25  |   .plot_wood(x%|
00001cc0  2b 79 25 29 0d 0a 28 07  20 20 ed 0d 0a 32 06 20  |+y%)..(.  ...2. |
00001cd0  ed 0d 0a 3c 20 20 f2 70  6c 6f 74 5f 70 6c 61 79  |...<  .plot_play|
00001ce0  62 6f 78 65 73 28 70 6c  61 79 65 72 73 25 2c 31  |boxes(players%,1|
00001cf0  29 0d 0a 46 0f 20 e3 20  78 25 3d 30 20 b8 20 33  |)..F. . x%=0 . 3|
00001d00  0d 0a 50 19 20 20 70 6c  61 79 65 72 73 61 6c 69  |..P.  playersali|
00001d10  76 65 25 28 78 25 29 3d  b9 0d 0a 5a 06 20 ed 0d  |ve%(x%)=...Z. ..|
00001d20  0a 64 33 e3 20 78 25 3d  30 20 b8 20 33 3a e3 20  |.d3. x%=0 . 3:. |
00001d30  79 25 3d 34 20 b8 20 37  3a f2 70 6c 6f 74 5f 70  |y%=4 . 7:.plot_p|
00001d40  6c 61 79 65 72 28 78 25  2c 79 25 2c 31 29 3a ed  |layer(x%,y%,1):.|
00001d50  3a ed 0d 0a 6e 05 e1 0d  0a 78 04 0d 0a 82 15 dd  |:...n....x......|
00001d60  20 f2 70 6c 61 79 65 72  5f 77 6f 6e 28 70 25 29  | .player_won(p%)|
00001d70  0d 0a 8c 18 20 ea 20 6d  78 25 2c 6d 79 25 2c 62  |.... . mx%,my%,b|
00001d80  74 6e 25 2c 6b 65 79 25  0d 0a 96 1a 20 c8 99 20  |tn%,key%.... .. |
00001d90  22 4f 53 5f 53 65 74 43  6f 6c 6f 75 72 22 2c 30  |"OS_SetColour",0|
00001da0  2c 30 0d 0a a0 1a 20 c8  93 20 c8 90 20 35 35 30  |,0.... .. .. 550|
00001db0  2c 34 30 30 2c 35 30 30  2c 34 30 30 0d 0a aa 1c  |,400,500,400....|
00001dc0  20 c8 99 20 22 4f 53 5f  53 65 74 43 6f 6c 6f 75  | .. "OS_SetColou|
00001dd0  72 22 2c 30 2c 32 35 35  0d 0a b4 17 20 c8 93 20  |r",0,255.... .. |
00001de0  35 35 36 2c 34 30 36 2c  34 38 38 2c 33 38 38 0d  |556,406,488,388.|
00001df0  0a be 45 20 c8 99 20 22  4f 53 5f 53 70 72 69 74  |..E .. "OS_Sprit|
00001e00  65 4f 70 22 2c 33 34 2b  32 35 36 2c 61 72 65 61  |eOp",34+256,area|
00001e10  25 2c 22 70 6c 61 79 22  2b a4 67 65 74 5f 70 6c  |%,"play"+.get_pl|
00001e20  61 79 65 72 74 65 78 74  28 70 25 29 2c 36 30 30  |ayertext(p%),600|
00001e30  2c 35 35 30 0d 0a c8 07  20 ef 35 0d 0a d2 0e 20  |,550.... .5.... |
00001e40  ec 20 36 30 34 2c 35 30  30 0d 0a dc 1c 20 c8 99  |. 604,500.... ..|
00001e50  20 22 4f 53 5f 53 65 74  43 6f 6c 6f 75 72 22 2c  | "OS_SetColour",|
00001e60  30 2c 32 35 35 0d 0a e6  33 20 f1 20 22 54 68 65  |0,255...3 . "The|
00001e70  20 22 2b a4 67 65 74 5f  70 6c 61 79 65 72 74 65  | "+.get_playerte|
00001e80  78 74 28 70 25 29 2b 22  20 70 6c 61 79 65 72 20  |xt(p%)+" player |
00001e90  68 61 73 20 77 6f 6e 22  0d 0a f0 0e 20 ec 20 36  |has won".... . 6|
00001ea0  34 34 2c 34 36 38 0d 0a  fa 33 20 f1 20 22 77 69  |44,468...3 . "wi|
00001eb0  74 68 20 22 2b c3 28 a4  67 65 74 5f 6e 75 6d 63  |th "+.(.get_numc|
00001ec0  6f 75 6e 74 65 72 73 28  70 25 29 29 2b 22 20 63  |ounters(p%))+" c|
00001ed0  6f 75 6e 74 65 72 73 2e  22 0d 0b 04 06 20 f5 0d  |ounters.".... ..|
00001ee0  0b 0e 15 20 20 c8 97 20  6d 78 25 2c 6d 79 25 2c  |...  .. mx%,my%,|
00001ef0  62 74 6e 25 0d 0b 18 0f  20 20 6b 65 79 25 3d a6  |btn%....  key%=.|
00001f00  28 30 29 0d 0b 22 16 20  fd 20 6b 65 79 25 3e 30  |(0)..". . key%>0|
00001f10  20 84 20 62 74 6e 25 3e  30 0d 0b 2c 05 e1 0d 0b  | . btn%>0..,....|
00001f20  36 04 0d 0b 40 04 0d 0b  4a 04 0d 0b 54 1d dd 20  |6...@...J...T.. |
00001f30  f2 70 6c 6f 74 5f 70 6c  61 79 62 6f 78 65 73 28  |.plot_playboxes(|
00001f40  70 25 2c 68 76 25 29 0d  0b 5e 09 20 ea 20 78 25  |p%,hv%)..^. . x%|
00001f50  0d 0b 68 10 20 e3 20 78  25 3d 30 20 b8 20 70 25  |..h. . x%=0 . p%|
00001f60  0d 0b 72 0f 20 20 e7 20  68 76 25 3d 31 20 8c 0d  |..r.  . hv%=1 ..|
00001f70  0b 7c 4a 20 20 20 c8 99  20 22 4f 53 5f 53 70 72  |.|J   .. "OS_Spr|
00001f80  69 74 65 4f 70 22 2c 33  34 2b 32 35 36 2c 61 72  |iteOp",34+256,ar|
00001f90  65 61 25 2c 22 70 6c 61  79 22 2b a4 67 65 74 5f  |ea%,"play"+.get_|
00001fa0  70 6c 61 79 65 72 74 65  78 74 28 78 25 29 2c 38  |playertext(x%),8|
00001fb0  38 30 2c 32 32 35 2a 78  25 0d 0b 86 07 20 20 cc  |80,225*x%....  .|
00001fc0  0d 0b 90 16 20 20 20 e7  20 78 25 3d 30 20 84 20  |....   . x%=0 . |
00001fd0  78 25 3d 31 20 8c 0d 0b  9a 4b 20 20 20 20 c8 99  |x%=1 ....K    ..|
00001fe0  20 22 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 33  | "OS_SpriteOp",3|
00001ff0  34 2b 32 35 36 2c 61 72  65 61 25 2c 22 70 6c 61  |4+256,area%,"pla|
00002000  79 22 2b a4 67 65 74 5f  70 6c 61 79 65 72 74 65  |y"+.get_playerte|
00002010  78 74 28 78 25 29 2c 78  25 2a 34 30 30 2c 35 30  |xt(x%),x%*400,50|
00002020  30 0d 0b a4 08 20 20 20  cc 0d 0b ae 4f 20 20 20  |0....   ....O   |
00002030  20 c8 99 20 22 4f 53 5f  53 70 72 69 74 65 4f 70  | .. "OS_SpriteOp|
00002040  22 2c 33 34 2b 32 35 36  2c 61 72 65 61 25 2c 22  |",34+256,area%,"|
00002050  70 6c 61 79 22 2b a4 67  65 74 5f 70 6c 61 79 65  |play"+.get_playe|
00002060  72 74 65 78 74 28 78 25  29 2c 28 78 25 2d 32 29  |rtext(x%),(x%-2)|
00002070  2a 34 30 30 2c 32 32 35  0d 0b b8 08 20 20 20 cd  |*400,225....   .|
00002080  0d 0b c2 18 20 20 20 f2  70 72 69 6e 74 5f 70 6c  |....   .print_pl|
00002090  61 79 65 72 28 78 25 29  0d 0b cc 07 20 20 cd 0d  |ayer(x%)....  ..|
000020a0  0b d6 06 20 ed 0d 0b e0  05 e1 0d 0b ea 04 0d 0b  |... ............|
000020b0  f4 18 dd 20 f2 65 78 70  6c 6f 64 65 28 78 25 2c  |... .explode(x%,|
000020c0  79 25 2c 70 25 29 0d 0b  fe 0f 20 ea 20 74 25 2c  |y%,p%).... . t%,|
000020d0  6f 76 65 72 25 0d 0c 08  1d 20 67 61 6d 65 6f 76  |over%.... gameov|
000020e0  65 72 25 3d a4 67 65 74  5f 67 61 6d 65 73 74 61  |er%=.get_gamesta|
000020f0  74 65 0d 0c 12 16 20 e7  20 67 61 6d 65 6f 76 65  |te.... . gameove|
00002100  72 25 3d b9 20 8c 20 e1  0d 0c 1c 2a 20 6f 76 65  |r%=. . ....* ove|
00002110  72 25 3d 6e 75 6d 74 68  65 72 65 25 28 78 25 2c  |r%=numthere%(x%,|
00002120  79 25 29 2d 6d 61 78 6e  75 6d 25 28 78 25 2c 79  |y%)-maxnum%(x%,y|
00002130  25 29 0d 0c 26 17 20 6e  75 6d 74 68 65 72 65 25  |%)..&. numthere%|
00002140  28 78 25 2c 79 25 29 3d  30 0d 0c 30 16 20 f2 70  |(x%,y%)=0..0. .p|
00002150  6c 6f 74 5f 77 6f 6f 64  28 78 25 2b 79 25 29 0d  |lot_wood(x%+y%).|
00002160  0c 3a 3e 20 c8 99 20 22  4f 53 5f 53 70 72 69 74  |.:> .. "OS_Sprit|
00002170  65 4f 70 22 2c 33 34 2b  32 35 36 2c 61 72 65 61  |eOp",34+256,area|
00002180  25 2c 22 65 78 70 6c 6f  73 69 6f 6e 22 2c 78 25  |%,"explosion",x%|
00002190  2a 31 30 30 2c 79 25 2a  31 30 30 2c 38 0d 0c 44  |*100,y%*100,8..D|
000021a0  28 20 c8 99 20 22 53 74  61 73 69 73 5f 53 6f 75  |( .. "Stasis_Sou|
000021b0  6e 64 22 2c 31 2c 32 2c  76 6f 6c 75 6d 65 25 2c  |nd",1,2,volume%,|
000021c0  26 33 35 30 30 0d 0c 4e  09 20 74 25 3d 91 0d 0c  |&3500..N. t%=...|
000021d0  58 0f 20 f5 3a fd 91 2d  74 25 3e 32 30 0d 0c 62  |X. .:..-t%>20..b|
000021e0  16 20 f2 70 6c 6f 74 5f  77 6f 6f 64 28 78 25 2b  |. .plot_wood(x%+|
000021f0  79 25 29 0d 0c 6c 0d 20  e7 20 78 25 3e 30 20 8c  |y%)..l. . x%>0 .|
00002200  0d 0c 76 1f 20 20 6e 75  6d 74 68 65 72 65 25 28  |..v.  numthere%(|
00002210  78 25 2d 31 2c 79 25 29  2b 3d 6f 76 65 72 25 0d  |x%-1,y%)+=over%.|
00002220  0c 80 1e 20 20 70 6c 61  79 65 72 74 68 65 72 65  |...  playerthere|
00002230  25 28 78 25 2d 31 2c 79  25 29 3d 70 25 0d 0c 8a  |%(x%-1,y%)=p%...|
00002240  1e 20 20 f2 70 6c 6f 74  5f 70 6c 61 79 65 72 28  |.  .plot_player(|
00002250  78 25 2d 31 2c 79 25 2c  70 25 29 0d 0c 94 42 20  |x%-1,y%,p%)...B |
00002260  20 e7 20 6e 75 6d 74 68  65 72 65 25 28 78 25 2d  | . numthere%(x%-|
00002270  31 2c 79 25 29 3e 6d 61  78 6e 75 6d 25 28 78 25  |1,y%)>maxnum%(x%|
00002280  2d 31 2c 79 25 29 20 8c  20 f2 65 78 70 6c 6f 64  |-1,y%) . .explod|
00002290  65 28 78 25 2d 31 2c 79  25 2c 70 25 29 0d 0c 9e  |e(x%-1,y%,p%)...|
000022a0  06 20 cd 0d 0c a8 0d 20  e7 20 78 25 3c 37 20 8c  |. ..... . x%<7 .|
000022b0  0d 0c b2 1f 20 20 6e 75  6d 74 68 65 72 65 25 28  |....  numthere%(|
000022c0  78 25 2b 31 2c 79 25 29  2b 3d 6f 76 65 72 25 0d  |x%+1,y%)+=over%.|
000022d0  0c bc 1e 20 20 70 6c 61  79 65 72 74 68 65 72 65  |...  playerthere|
000022e0  25 28 78 25 2b 31 2c 79  25 29 3d 70 25 0d 0c c6  |%(x%+1,y%)=p%...|
000022f0  1e 20 20 f2 70 6c 6f 74  5f 70 6c 61 79 65 72 28  |.  .plot_player(|
00002300  78 25 2b 31 2c 79 25 2c  70 25 29 0d 0c d0 42 20  |x%+1,y%,p%)...B |
00002310  20 e7 20 6e 75 6d 74 68  65 72 65 25 28 78 25 2b  | . numthere%(x%+|
00002320  31 2c 79 25 29 3e 6d 61  78 6e 75 6d 25 28 78 25  |1,y%)>maxnum%(x%|
00002330  2b 31 2c 79 25 29 20 8c  20 f2 65 78 70 6c 6f 64  |+1,y%) . .explod|
00002340  65 28 78 25 2b 31 2c 79  25 2c 70 25 29 0d 0c da  |e(x%+1,y%,p%)...|
00002350  06 20 cd 0d 0c e4 0d 20  e7 20 79 25 3e 30 20 8c  |. ..... . y%>0 .|
00002360  0d 0c ee 1f 20 20 6e 75  6d 74 68 65 72 65 25 28  |....  numthere%(|
00002370  78 25 2c 79 25 2d 31 29  2b 3d 6f 76 65 72 25 0d  |x%,y%-1)+=over%.|
00002380  0c f8 1e 20 20 70 6c 61  79 65 72 74 68 65 72 65  |...  playerthere|
00002390  25 28 78 25 2c 79 25 2d  31 29 3d 70 25 0d 0d 02  |%(x%,y%-1)=p%...|
000023a0  1e 20 20 f2 70 6c 6f 74  5f 70 6c 61 79 65 72 28  |.  .plot_player(|
000023b0  78 25 2c 79 25 2d 31 2c  70 25 29 0d 0d 0c 42 20  |x%,y%-1,p%)...B |
000023c0  20 e7 20 6e 75 6d 74 68  65 72 65 25 28 78 25 2c  | . numthere%(x%,|
000023d0  79 25 2d 31 29 3e 6d 61  78 6e 75 6d 25 28 78 25  |y%-1)>maxnum%(x%|
000023e0  2c 79 25 2d 31 29 20 8c  20 f2 65 78 70 6c 6f 64  |,y%-1) . .explod|
000023f0  65 28 78 25 2c 79 25 2d  31 2c 70 25 29 0d 0d 16  |e(x%,y%-1,p%)...|
00002400  06 20 cd 0d 0d 20 0d 20  e7 20 79 25 3c 37 20 8c  |. ... . . y%<7 .|
00002410  0d 0d 2a 1f 20 20 6e 75  6d 74 68 65 72 65 25 28  |..*.  numthere%(|
00002420  78 25 2c 79 25 2b 31 29  2b 3d 6f 76 65 72 25 0d  |x%,y%+1)+=over%.|
00002430  0d 34 1e 20 20 70 6c 61  79 65 72 74 68 65 72 65  |.4.  playerthere|
00002440  25 28 78 25 2c 79 25 2b  31 29 3d 70 25 0d 0d 3e  |%(x%,y%+1)=p%..>|
00002450  1e 20 20 f2 70 6c 6f 74  5f 70 6c 61 79 65 72 28  |.  .plot_player(|
00002460  78 25 2c 79 25 2b 31 2c  70 25 29 0d 0d 48 42 20  |x%,y%+1,p%)..HB |
00002470  20 e7 20 6e 75 6d 74 68  65 72 65 25 28 78 25 2c  | . numthere%(x%,|
00002480  79 25 2b 31 29 3e 6d 61  78 6e 75 6d 25 28 78 25  |y%+1)>maxnum%(x%|
00002490  2c 79 25 2b 31 29 20 8c  20 f2 65 78 70 6c 6f 64  |,y%+1) . .explod|
000024a0  65 28 78 25 2c 79 25 2b  31 2c 70 25 29 0d 0d 52  |e(x%,y%+1,p%)..R|
000024b0  06 20 cd 0d 0d 5c 05 e1  0d 0d 66 04 0d 0d 70 04  |. ...\....f...p.|
000024c0  0d 0d 7a 14 dd 20 f2 69  6e 69 74 5f 63 6f 6c 74  |..z.. .init_colt|
000024d0  61 62 6c 65 0d 0d 84 11  20 de 20 63 6f 6c 73 6f  |able.... . colso|
000024e0  6e 25 28 33 29 0d 0d 8e  12 20 de 20 63 6f 6c 73  |n%(3).... . cols|
000024f0  6f 66 66 25 28 33 29 0d  0d 98 1b 20 63 6f 6c 73  |off%(3).... cols|
00002500  6f 6e 25 28 29 3d 31 33  39 2c 36 35 2c 35 39 2c  |on%()=139,65,59,|
00002510  32 33 0d 0d a2 1b 20 63  6f 6c 73 6f 66 66 25 28  |23.... colsoff%(|
00002520  29 3d 31 32 38 2c 33 32  2c 37 2c 31 36 0d 0d ac  |)=128,32,7,16...|
00002530  05 e1 0d 0d b6 04 0d 0d  c0 1a dd 20 f2 70 6c 6f  |........... .plo|
00002540  74 5f 72 65 63 74 61 6e  67 6c 65 73 28 70 25 29  |t_rectangles(p%)|
00002550  0d 0d ca 0e 20 ea 20 78  25 2c 63 6f 6c 25 0d 0d  |.... . x%,col%..|
00002560  d4 16 20 e3 20 78 25 3d  30 20 b8 20 70 6c 61 79  |.. . x%=0 . play|
00002570  65 72 73 25 0d 0d de 0f  20 20 e7 20 78 25 3d 70  |ers%....  . x%=p|
00002580  25 20 8c 0d 0d e8 0f 20  20 20 63 6f 6c 25 3d 32  |% .....   col%=2|
00002590  35 35 0d 0d f2 07 20 20  cc 0d 0d fc 0d 20 20 20  |55....  .....   |
000025a0  63 6f 6c 25 3d 30 0d 0e  06 07 20 20 cd 0d 0e 10  |col%=0....  ....|
000025b0  1b 20 20 c8 99 20 22 4f  53 5f 53 65 74 43 6f 6c  |.  .. "OS_SetCol|
000025c0  6f 75 72 22 2c 30 2c 30  0d 0e 1a 21 20 20 c8 93  |our",0,0...!  ..|
000025d0  20 c8 90 20 38 38 34 2c  78 25 2a 32 32 35 2b 31  | .. 884,x%*225+1|
000025e0  37 35 2c 33 39 30 2c 34  30 0d 0e 24 1d 20 20 e7  |75,390,40..$.  .|
000025f0  20 70 6c 61 79 65 72 73  61 6c 69 76 65 25 28 78  | playersalive%(x|
00002600  25 29 3d b9 20 8c 0d 0e  2e 26 20 20 20 c8 99 20  |%)=. ....&   .. |
00002610  22 4f 53 5f 53 65 74 43  6f 6c 6f 75 72 22 2c 30  |"OS_SetColour",0|
00002620  2c 63 6f 6c 73 6f 6e 25  28 78 25 29 0d 0e 38 1c  |,colson%(x%)..8.|
00002630  20 20 20 c8 93 20 38 38  30 2c 78 25 2a 32 32 35  |   .. 880,x%*225|
00002640  2c 33 39 38 2c 32 32 33  0d 0e 42 1e 20 20 20 c8  |,398,223..B.   .|
00002650  93 20 38 38 32 2c 78 25  2a 32 32 35 2b 32 2c 33  |. 882,x%*225+2,3|
00002660  39 34 2c 32 31 39 0d 0e  4c 15 20 20 20 ec 20 38  |94,219..L.   . 8|
00002670  38 32 2c 78 25 2a 32 32  35 2b 32 0d 0e 56 1f 20  |82,x%*225+2..V. |
00002680  20 20 c8 99 20 22 4f 53  5f 53 65 74 43 6f 6c 6f  |  .. "OS_SetColo|
00002690  75 72 22 2c 30 2c 63 6f  6c 25 0d 0e 60 1c 20 20  |ur",0,col%..`.  |
000026a0  20 c8 99 20 22 4f 53 5f  50 6c 6f 74 22 2c 35 37  | .. "OS_Plot",57|
000026b0  2c 33 39 34 2c 30 0d 0e  6a 1c 20 20 20 c8 99 20  |,394,0..j.   .. |
000026c0  22 4f 53 5f 50 6c 6f 74  22 2c 35 37 2c 30 2c 32  |"OS_Plot",57,0,2|
000026d0  31 39 0d 0e 74 1d 20 20  20 c8 99 20 22 4f 53 5f  |19..t.   .. "OS_|
000026e0  50 6c 6f 74 22 2c 35 37  2c 2d 33 39 34 2c 30 0d  |Plot",57,-394,0.|
000026f0  0e 7e 1d 20 20 20 c8 99  20 22 4f 53 5f 50 6c 6f  |.~.   .. "OS_Plo|
00002700  74 22 2c 35 37 2c 30 2c  2d 32 31 39 0d 0e 88 26  |t",57,0,-219...&|
00002710  20 20 20 c8 99 20 22 4f  53 5f 53 65 74 43 6f 6c  |   .. "OS_SetCol|
00002720  6f 75 72 22 2c 30 2c 63  6f 6c 73 6f 6e 25 28 78  |our",0,colson%(x|
00002730  25 29 0d 0e 92 17 20 20  20 ec 20 39 32 30 2c 78  |%)....   . 920,x|
00002740  25 2a 32 32 35 2b 32 30  30 0d 0e 9c 2e 20 20 20  |%*225+200....   |
00002750  f1 20 22 43 6f 75 6e 74  65 72 73 20 3a 20 22 2b  |. "Counters : "+|
00002760  c3 28 a4 67 65 74 5f 6e  75 6d 63 6f 75 6e 74 65  |.(.get_numcounte|
00002770  72 73 28 78 25 29 29 0d  0e a6 16 20 20 20 f2 70  |rs(x%))....   .p|
00002780  72 69 6e 74 5f 63 6f 6d  70 28 78 25 29 0d 0e b0  |rint_comp(x%)...|
00002790  07 20 20 cc 0d 0e ba 26  20 20 20 c8 99 20 22 4f  |.  ....&   .. "O|
000027a0  53 5f 53 65 74 43 6f 6c  6f 75 72 22 2c 30 2c 63  |S_SetColour",0,c|
000027b0  6f 6c 73 6f 6e 25 28 78  25 29 0d 0e c4 17 20 20  |olson%(x%)....  |
000027c0  20 ec 20 39 32 30 2c 78  25 2a 32 32 35 2b 32 30  | . 920,x%*225+20|
000027d0  30 0d 0e ce 17 20 20 20  f1 20 22 43 6f 75 6e 74  |0....   . "Count|
000027e0  65 72 73 20 3a 20 30 22  0d 0e d8 16 20 20 20 f2  |ers : 0"....   .|
000027f0  70 72 69 6e 74 5f 63 6f  6d 70 28 78 25 29 0d 0e  |print_comp(x%)..|
00002800  e2 27 20 20 20 c8 99 20  22 4f 53 5f 53 65 74 43  |.'   .. "OS_SetC|
00002810  6f 6c 6f 75 72 22 2c 30  2c 63 6f 6c 73 6f 66 66  |olour",0,colsoff|
00002820  25 28 78 25 29 0d 0e ec  23 20 20 20 86 20 38 38  |%(x%)...#   . 88|
00002830  30 2c 78 25 2a 32 32 35  2c 31 32 37 38 2c 78 25  |0,x%*225,1278,x%|
00002840  2a 32 32 35 2b 32 32 33  0d 0e f6 23 20 20 20 86  |*225+223...#   .|
00002850  20 38 38 30 2c 78 25 2a  32 32 35 2b 32 32 33 2c  | 880,x%*225+223,|
00002860  31 32 37 38 2c 78 25 2a  32 32 35 0d 0f 00 25 20  |1278,x%*225...% |
00002870  20 20 86 20 38 38 30 2c  78 25 2a 32 32 35 2b 32  |  . 880,x%*225+2|
00002880  2c 31 32 37 38 2c 78 25  2a 32 32 35 2b 32 32 35  |,1278,x%*225+225|
00002890  0d 0f 0a 25 20 20 20 86  20 38 38 30 2c 78 25 2a  |...%   . 880,x%*|
000028a0  32 32 35 2b 32 32 35 2c  31 32 37 38 2c 78 25 2a  |225+225,1278,x%*|
000028b0  32 32 35 2b 32 0d 0f 14  25 20 20 20 86 20 38 38  |225+2...%   . 88|
000028c0  30 2c 78 25 2a 32 32 35  2d 32 2c 31 32 37 38 2c  |0,x%*225-2,1278,|
000028d0  78 25 2a 32 32 35 2b 32  32 31 0d 0f 1e 25 20 20  |x%*225+221...%  |
000028e0  20 86 20 38 38 30 2c 78  25 2a 32 32 35 2b 32 32  | . 880,x%*225+22|
000028f0  31 2c 31 32 37 38 2c 78  25 2a 32 32 35 2d 32 0d  |1,1278,x%*225-2.|
00002900  0f 28 07 20 20 cd 0d 0f  32 06 20 ed 0d 0f 3c 05  |.(.  ...2. ...<.|
00002910  e1 0d 0f 46 04 0d 0f 50  1c dd 20 f2 70 6c 6f 74  |...F...P.. .plot|
00002920  5f 70 6c 61 79 65 72 28  78 25 2c 79 25 2c 70 25  |_player(x%,y%,p%|
00002930  29 0d 0f 5a 0d 20 ea 20  73 70 24 2c 63 25 0d 0f  |)..Z. . sp$,c%..|
00002940  64 16 20 f2 70 6c 6f 74  5f 77 6f 6f 64 28 78 25  |d. .plot_wood(x%|
00002950  2b 79 25 29 0d 0f 6e 0c  20 73 70 24 3d 22 63 22  |+y%)..n. sp$="c"|
00002960  0d 0f 78 18 20 63 25 3d  6e 75 6d 74 68 65 72 65  |..x. c%=numthere|
00002970  25 28 78 25 2c 79 25 29  0d 0f 82 12 20 e7 20 63  |%(x%,y%).... . c|
00002980  25 3e 34 20 8c 20 63 25  3d 34 0d 0f 8c 0d 20 e7  |%>4 . c%=4.... .|
00002990  20 63 25 3e 30 20 8c 0d  0f 96 27 20 20 73 70 24  | c%>0 ....'  sp$|
000029a0  3d 73 70 24 2b c3 28 63  25 29 2b a4 67 65 74 5f  |=sp$+.(c%)+.get_|
000029b0  70 6c 61 79 65 72 74 65  78 74 28 70 25 29 0d 0f  |playertext(p%)..|
000029c0  a0 37 20 20 c8 99 20 22  4f 53 5f 53 70 72 69 74  |.7  .. "OS_Sprit|
000029d0  65 4f 70 22 2c 33 34 2b  32 35 36 2c 61 72 65 61  |eOp",34+256,area|
000029e0  25 2c 73 70 24 2c 78 25  2a 31 30 30 2c 79 25 2a  |%,sp$,x%*100,y%*|
000029f0  31 30 30 2c 38 0d 0f aa  06 20 cd 0d 0f b4 05 e1  |100,8.... ......|
00002a00  0d 0f be 04 0d 0f c8 16  dd 20 f2 70 6c 6f 74 5f  |......... .plot_|
00002a10  77 6f 6f 64 28 73 75 6d  25 29 0d 0f d2 14 20 e7  |wood(sum%).... .|
00002a20  20 73 75 6d 25 20 83 20  32 20 3e 30 20 8c 0d 0f  | sum% . 2 >0 ...|
00002a30  dc 3c 20 20 c8 99 20 22  4f 53 5f 53 70 72 69 74  |.<  .. "OS_Sprit|
00002a40  65 4f 70 22 2c 33 34 2b  32 35 36 2c 61 72 65 61  |eOp",34+256,area|
00002a50  25 2c 22 63 31 62 61 63  6b 22 2c 78 25 2a 31 30  |%,"c1back",x%*10|
00002a60  30 2c 79 25 2a 31 30 30  2c 38 0d 0f e6 06 20 cc  |0,y%*100,8.... .|
00002a70  0d 0f f0 3c 20 20 c8 99  20 22 4f 53 5f 53 70 72  |...<  .. "OS_Spr|
00002a80  69 74 65 4f 70 22 2c 33  34 2b 32 35 36 2c 61 72  |iteOp",34+256,ar|
00002a90  65 61 25 2c 22 63 32 62  61 63 6b 22 2c 78 25 2a  |ea%,"c2back",x%*|
00002aa0  31 30 30 2c 79 25 2a 31  30 30 2c 38 0d 0f fa 06  |100,y%*100,8....|
00002ab0  20 cd 0d 10 04 05 e1 0d  10 0e 04 0d 10 18 1a dd  | ...............|
00002ac0  20 a4 67 65 74 5f 6e 75  6d 63 6f 75 6e 74 65 72  | .get_numcounter|
00002ad0  73 28 70 25 29 0d 10 22  13 20 ea 20 78 25 2c 79  |s(p%)..". . x%,y|
00002ae0  25 2c 63 6f 75 6e 74 25  0d 10 2c 0d 20 63 6f 75  |%,count%..,. cou|
00002af0  6e 74 25 3d 30 0d 10 36  0f 20 e3 20 78 25 3d 30  |nt%=0..6. . x%=0|
00002b00  20 b8 20 37 0d 10 40 10  20 20 e3 20 79 25 3d 30  | . 7..@.  . y%=0|
00002b10  20 b8 20 37 0d 10 4a 21  20 20 20 e7 20 70 6c 61  | . 7..J!   . pla|
00002b20  79 65 72 74 68 65 72 65  25 28 78 25 2c 79 25 29  |yerthere%(x%,y%)|
00002b30  3d 70 25 20 8c 0d 10 54  20 20 20 20 20 63 6f 75  |=p% ...T     cou|
00002b40  6e 74 25 2b 3d 6e 75 6d  74 68 65 72 65 25 28 78  |nt%+=numthere%(x|
00002b50  25 2c 79 25 29 0d 10 5e  08 20 20 20 cd 0d 10 68  |%,y%)..^.   ...h|
00002b60  07 20 20 ed 0d 10 72 06  20 ed 0d 10 7c 0b 3d 63  |.  ...r. ...|.=c|
00002b70  6f 75 6e 74 25 0d 10 86  04 0d 10 90 1a dd 20 a4  |ount%......... .|
00002b80  67 65 74 5f 70 6c 61 79  65 72 73 74 61 74 65 28  |get_playerstate(|
00002b90  70 25 29 0d 10 9a 0c 20  ea 20 78 25 2c 79 25 0d  |p%).... . x%,y%.|
00002ba0  10 a4 0f 20 e3 20 78 25  3d 30 20 b8 20 37 0d 10  |... . x%=0 . 7..|
00002bb0  ae 10 20 20 e3 20 79 25  3d 30 20 b8 20 37 0d 10  |..  . y%=0 . 7..|
00002bc0  b8 39 20 20 20 e7 20 70  6c 61 79 65 72 74 68 65  |.9   . playerthe|
00002bd0  72 65 25 28 78 25 2c 79  25 29 3d 70 25 20 80 20  |re%(x%,y%)=p% . |
00002be0  6e 75 6d 74 68 65 72 65  25 28 78 25 2c 79 25 29  |numthere%(x%,y%)|
00002bf0  3e 30 20 8c 20 3d b9 0d  10 c2 07 20 20 ed 0d 10  |>0 . =.....  ...|
00002c00  cc 06 20 ed 0d 10 d6 06  3d a3 0d 10 e0 04 0d 10  |.. .....=.......|
00002c10  ea 14 dd 20 a4 67 65 74  5f 67 61 6d 65 73 74 61  |... .get_gamesta|
00002c20  74 65 0d 10 f4 15 20 ea  20 78 25 2c 79 25 2c 70  |te.... . x%,y%,p|
00002c30  6c 61 79 6f 6e 65 25 0d  10 fe 10 20 70 6c 61 79  |layone%.... play|
00002c40  6f 6e 65 25 3d 2d 31 0d  11 08 0f 20 e3 20 78 25  |one%=-1.... . x%|
00002c50  3d 30 20 b8 20 37 0d 11  12 10 20 20 e3 20 79 25  |=0 . 7....  . y%|
00002c60  3d 30 20 b8 20 37 0d 11  1c 1d 20 20 20 e7 20 6e  |=0 . 7....   . n|
00002c70  75 6d 74 68 65 72 65 25  28 78 25 2c 79 25 29 3e  |umthere%(x%,y%)>|
00002c80  30 20 8c 0d 11 26 17 20  20 20 20 e7 20 70 6c 61  |0 ...&.    . pla|
00002c90  79 6f 6e 65 25 3d 2d 31  20 8c 0d 11 30 25 20 20  |yone%=-1 ...0%  |
00002ca0  20 20 20 70 6c 61 79 6f  6e 65 25 3d 70 6c 61 79  |   playone%=play|
00002cb0  65 72 74 68 65 72 65 25  28 78 25 2c 79 25 29 0d  |erthere%(x%,y%).|
00002cc0  11 3a 09 20 20 20 20 cc  0d 11 44 2d 20 20 20 20  |.:.    ...D-    |
00002cd0  20 e7 20 70 6c 61 79 6f  6e 65 25 3c 3e 70 6c 61  | . playone%<>pla|
00002ce0  79 65 72 74 68 65 72 65  25 28 78 25 2c 79 25 29  |yerthere%(x%,y%)|
00002cf0  20 8c 20 3d a3 0d 11 4e  09 20 20 20 20 cd 0d 11  | . =...N.    ...|
00002d00  58 08 20 20 20 cd 0d 11  62 07 20 20 ed 0d 11 6c  |X.   ...b.  ...l|
00002d10  06 20 ed 0d 11 76 06 3d  b9 0d 11 80 04 0d 11 8a  |. ...v.=........|
00002d20  04 0d 11 94 1e dd 20 a4  67 65 74 5f 70 6c 61 79  |...... .get_play|
00002d30  65 72 74 65 78 74 28 70  6c 61 79 65 72 25 29 0d  |ertext(player%).|
00002d40  11 9e 11 20 c8 8e 20 70  6c 61 79 65 72 25 20 ca  |... .. player% .|
00002d50  0d 11 a8 11 20 20 c9 20  30 3a 3d 22 62 6c 75 65  |....  . 0:="blue|
00002d60  22 0d 11 b2 12 20 20 c9  20 31 3a 3d 22 67 72 65  |"....  . 1:="gre|
00002d70  65 6e 22 0d 11 bc 12 20  20 c9 20 32 3a 3d 22 62  |en"....  . 2:="b|
00002d80  72 6f 77 6e 22 0d 11 c6  10 20 20 c9 20 33 3a 3d  |rown"....  . 3:=|
00002d90  22 72 65 64 22 0d 11 d0  06 20 cb 0d 11 da 0a 3d  |"red".... .....=|
00002da0  22 72 65 64 22 0d 11 e4  04 0d 11 ee 04 0d 11 f8  |"red"...........|
00002db0  04 0d 12 02 0a dd 20 f2  65 6e 64 0d 12 0c 0a 20  |...... .end.... |
00002dc0  fb 20 31 32 37 0d 12 16  06 20 db 0d 12 20 09 20  |. 127.... ... . |
00002dd0  ef 34 3a 87 0d 12 2a 36  20 f1 22 54 68 61 6e 6b  |.4:...*6 ."Thank|
00002de0  79 6f 75 20 66 6f 72 20  70 6c 61 79 69 6e 67 20  |you for playing |
00002df0  21 52 65 61 63 74 69 6f  6e 20 62 79 20 50 68 69  |!Reaction by Phi|
00002e00  6c 20 4e 6f 72 6d 61 6e  2e 22 0d 12 34 1e 20 f1  |l Norman."..4. .|
00002e10  22 49 20 68 6f 70 65 20  79 6f 75 20 65 6e 6a 6f  |"I hope you enjo|
00002e20  79 65 64 20 69 74 2e 22  0d 12 3e 55 20 f1 27 22  |yed it."..>U .'"|
00002e30  49 66 20 79 6f 75 20 68  61 76 65 20 61 6e 79 20  |If you have any |
00002e40  71 75 65 72 69 65 73 2c  20 6f 72 20 77 61 6e 74  |queries, or want|
00002e50  20 74 6f 20 6d 61 6b 65  20 61 6e 79 20 73 75 67  | to make any sug|
00002e60  67 65 73 74 69 6f 6e 73  2c 20 70 6c 65 61 73 65  |gestions, please|
00002e70  20 63 6f 6e 74 61 63 74  20 6d 65 2e 22 0d 12 48  | contact me."..H|
00002e80  28 20 f1 22 4d 79 20 61  64 64 72 65 73 73 20 69  |( ."My address i|
00002e90  73 20 69 6e 20 74 68 65  20 21 48 65 6c 70 20 66  |s in the !Help f|
00002ea0  69 6c 65 2e 22 0d 12 52  35 20 f1 22 20 20 20 20  |ile."..R5 ."    |
00002eb0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002ec0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 50 68  |              Ph|
00002ed0  69 6c 20 4e 6f 72 6d 61  6e 22 0d 12 5c 59 20 f1  |il Norman"..\Y .|
00002ee0  27 22 54 68 69 73 20 70  72 6f 67 72 61 6d 20 77  |'"This program w|
00002ef0  61 73 20 63 6f 6e 76 65  72 74 65 64 20 74 6f 20  |as converted to |
00002f00  72 75 6e 20 6f 6e 20 70  72 65 2d 52 49 53 43 20  |run on pre-RISC |
00002f10  50 43 20 6d 61 63 68 69  6e 65 73 20 62 79 20 4d  |PC machines by M|
00002f20  61 74 74 68 65 77 20 53  6f 6d 65 72 76 69 6c 6c  |atthew Somervill|
00002f30  65 2e 22 0d 12 66 32 20  f1 27 22 41 6e 64 20 49  |e."..f2 .'"And I|
00002f40  20 61 64 64 65 64 20 61  20 63 6f 6d 70 75 74 65  | added a compute|
00002f50  72 20 70 6c 61 79 20 6d  6f 64 65 20 61 73 20 77  |r play mode as w|
00002f60  65 6c 6c 21 22 0d 12 70  55 20 f1 27 22 49 66 20  |ell!"..pU .'"If |
00002f70  79 6f 75 20 77 69 73 68  20 74 6f 20 63 6f 6e 74  |you wish to cont|
00002f80  61 63 74 20 6d 65 2c 20  49 20 68 61 76 65 20 77  |act me, I have w|
00002f90  72 69 74 74 65 6e 20 61  20 21 48 65 6c 70 20 66  |ritten a !Help f|
00002fa0  69 6c 65 20 2d 20 61 73  20 74 68 65 72 65 20 69  |ile - as there i|
00002fb0  73 6e 27 74 20 6f 6e 65  21 22 0d 12 7a 26 20 f1  |sn't one!"..z& .|
00002fc0  22 50 2e 53 2e 20 50 68  69 6c 20 4e 6f 72 6d 61  |"P.S. Phil Norma|
00002fd0  6e 20 2d 20 47 72 65 61  74 20 67 61 6d 65 21 22  |n - Great game!"|
00002fe0  0d 12 84 06 20 f1 0d 12  8e 2b 20 f1 22 50 72 65  |.... ....+ ."Pre|
00002ff0  73 73 20 61 20 6b 65 79  20 74 6f 20 72 65 74 75  |ss a key to retu|
00003000  72 6e 20 74 6f 20 64 65  73 6b 74 6f 70 2e 2e 2e  |rn to desktop...|
00003010  22 0d 12 98 0e 20 fb 20  30 20 20 c8 9c 20 30 0d  |".... . 0  .. 0.|
00003020  12 a2 0c 20 71 75 69 74  25 3d b9 0d 12 ac 0c 20  |... quit%=..... |
00003030  65 78 69 74 25 3d b9 0d  12 b6 05 e1 0d 12 c0 04  |exit%=..........|
00003040  0d 12 ca 04 0d 12 d4 16  dd 20 f2 68 65 6c 70 5f  |......... .help_|
00003050  74 65 78 74 28 70 6f 73  24 29 0d 12 de 0e 20 ea  |text(pos$).... .|
00003060  20 74 31 24 2c 74 32 24  0d 12 e8 0f 20 20 c8 8e  | t1$,t2$....  ..|
00003070  20 70 6f 73 24 20 ca 0d  12 f2 20 20 20 20 c9 20  | pos$ ....    . |
00003080  22 22 20 20 20 20 20 20  20 3a 74 31 24 3d 22 22  |""       :t1$=""|
00003090  3a 74 32 24 3d 22 22 0d  12 fc 4f 20 20 20 c9 20  |:t2$=""...O   . |
000030a0  22 68 65 6c 70 22 20 20  20 3a 74 31 24 3d 22 54  |"help"   :t1$="T|
000030b0  68 69 73 20 69 73 20 74  68 65 20 68 65 6c 70 20  |his is the help |
000030c0  74 65 78 74 20 73 65 63  74 69 6f 6e 2e 20 20 28  |text section.  (|
000030d0  59 6f 75 27 72 65 20 6c  6f 6f 6b 69 6e 67 20 61  |You're looking a|
000030e0  74 20 69 74 29 22 0d 13  06 5c 20 20 20 20 20 20  |t it)"...\      |
000030f0  20 20 20 20 20 20 20 20  20 20 20 20 74 32 24 3d  |            t2$=|
00003100  22 4d 6f 76 65 20 74 68  65 20 6d 6f 75 73 65 20  |"Move the mouse |
00003110  70 6f 69 6e 74 65 72 20  6f 76 65 72 20 73 6f 6d  |pointer over som|
00003120  65 74 68 69 6e 67 20 69  6e 74 65 72 65 73 74 69  |ething interesti|
00003130  6e 67 20 49 27 6c 6c 20  68 65 6c 70 20 79 6f 75  |ng I'll help you|
00003140  2e 22 0d 13 10 30 20 20  20 c9 20 22 61 72 6c 65  |."...0   . "arle|
00003150  66 74 22 20 3a 74 31 24  3d 22 54 68 69 73 20 69  |ft" :t1$="This i|
00003160  73 20 74 68 65 20 6c 65  66 74 20 61 72 72 6f 77  |s the left arrow|
00003170  2e 22 0d 13 1a 4d 20 20  20 20 20 20 20 20 20 20  |."...M          |
00003180  20 20 20 20 20 20 20 20  74 32 24 3d 22 43 6c 69  |        t2$="Cli|
00003190  63 6b 20 6f 6e 20 74 68  69 73 20 74 6f 20 64 65  |ck on this to de|
000031a0  63 72 65 6d 65 6e 74 20  74 68 65 20 6e 75 6d 62  |crement the numb|
000031b0  65 72 20 6f 66 20 70 6c  61 79 65 72 73 2e 22 0d  |er of players.".|
000031c0  13 24 6a 20 20 20 20 20  20 20 20 20 20 20 20 20  |.$j             |
000031d0  20 20 20 20 20 e7 20 70  6c 61 79 65 72 73 25 3d  |     . players%=|
000031e0  31 20 8c 20 74 32 24 3d  22 54 68 69 73 20 77 69  |1 . t2$="This wi|
000031f0  6c 6c 20 64 6f 20 6e 6f  74 68 69 6e 67 2c 20 73  |ll do nothing, s|
00003200  69 6e 63 65 20 79 6f 75  20 63 61 6e 27 74 20 68  |ince you can't h|
00003210  61 76 65 20 6c 65 73 73  20 74 68 61 6e 20 32 20  |ave less than 2 |
00003220  70 6c 61 79 65 72 73 2e  22 0d 13 2e 31 20 20 20  |players."...1   |
00003230  c9 20 22 61 72 72 69 67  68 74 22 3a 74 31 24 3d  |. "arright":t1$=|
00003240  22 54 68 69 73 20 69 73  20 74 68 65 20 72 69 67  |"This is the rig|
00003250  68 74 20 61 72 72 6f 77  2e 22 0d 13 38 4d 20 20  |ht arrow."..8M  |
00003260  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003270  74 32 24 3d 22 43 6c 69  63 6b 20 6f 6e 20 74 68  |t2$="Click on th|
00003280  69 73 20 74 6f 20 69 6e  63 72 65 6d 65 6e 74 20  |is to increment |
00003290  74 68 65 20 6e 75 6d 62  65 72 20 6f 66 20 70 6c  |the number of pl|
000032a0  61 79 65 72 73 2e 22 0d  13 42 6a 20 20 20 20 20  |ayers."..Bj     |
000032b0  20 20 20 20 20 20 20 20  20 20 20 20 20 e7 20 70  |             . p|
000032c0  6c 61 79 65 72 73 25 3d  33 20 8c 20 74 32 24 3d  |layers%=3 . t2$=|
000032d0  22 54 68 69 73 20 77 69  6c 6c 20 64 6f 20 6e 6f  |"This will do no|
000032e0  74 68 69 6e 67 2c 20 73  69 6e 63 65 20 79 6f 75  |thing, since you|
000032f0  20 63 61 6e 27 74 20 68  61 76 65 20 6d 6f 72 65  | can't have more|
00003300  20 74 68 61 6e 20 34 20  70 6c 61 79 65 72 73 2e  | than 4 players.|
00003310  22 0d 13 4c 37 20 20 20  c9 20 22 70 6c 61 79 6c  |"..L7   . "playl|
00003320  65 76 22 3a 74 31 24 3d  22 54 68 69 73 20 69 73  |ev":t1$="This is|
00003330  20 74 68 65 20 70 6c 61  79 65 72 73 20 69 6e 64  | the players ind|
00003340  69 63 61 74 6f 72 2e 22  0d 13 56 4c 20 20 20 20  |icator."..VL    |
00003350  20 20 20 20 20 20 20 20  20 20 20 20 20 20 74 32  |              t2|
00003360  24 3d 22 49 74 20 73 68  6f 77 73 20 74 68 65 20  |$="It shows the |
00003370  63 75 72 72 65 6e 74 20  6e 75 6d 62 65 72 20 6f  |current number o|
00003380  66 20 70 6c 61 79 65 72  73 20 73 65 6c 65 63 74  |f players select|
00003390  65 64 2e 22 0d 13 60 36  20 20 20 c9 20 22 76 6f  |ed."..`6   . "vo|
000033a0  6c 6c 65 76 22 20 3a 74  31 24 3d 22 54 68 69 73  |llev" :t1$="This|
000033b0  20 69 73 20 74 68 65 20  76 6f 6c 75 6d 65 20 69  | is the volume i|
000033c0  6e 64 69 63 61 74 6f 72  2e 22 0d 13 6a 3e 20 20  |ndicator."..j>  |
000033d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000033e0  74 32 24 3d 22 49 74 20  73 68 6f 77 73 20 74 68  |t2$="It shows th|
000033f0  65 20 63 75 72 72 65 6e  74 20 76 6f 6c 75 6d 65  |e current volume|
00003400  20 6c 65 76 65 6c 2e 22  0d 13 74 38 20 20 20 c9  | level."..t8   .|
00003410  20 22 76 6f 6c 6c 65 66  74 22 3a 74 31 24 3d 22  | "volleft":t1$="|
00003420  54 68 69 73 20 62 75 74  74 6f 6e 20 72 65 64 75  |This button redu|
00003430  63 65 73 20 74 68 65 20  76 6f 6c 75 6d 65 2e 22  |ces the volume."|
00003440  0d 13 7e 3c 20 20 20 20  20 20 20 20 20 20 20 20  |..~<            |
00003450  20 20 20 20 20 20 74 32  24 3d 22 54 68 65 20 76  |      t2$="The v|
00003460  6f 6c 75 6d 65 20 6c 65  76 65 6c 20 69 73 20 73  |olume level is s|
00003470  68 6f 77 6e 20 62 65 6c  6f 77 2e 22 0d 13 88 44  |hown below."...D|
00003480  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003490  20 20 e7 20 76 6f 6c 75  6d 65 25 3d 30 20 8c 20  |  . volume%=0 . |
000034a0  74 32 24 3d 22 54 68 65  20 76 6f 6c 75 6d 65 20  |t2$="The volume |
000034b0  69 73 20 6e 6f 77 20 6d  69 6e 69 6d 75 6d 2e 22  |is now minimum."|
000034c0  0d 13 92 3a 20 20 20 c9  20 22 76 6f 6c 72 67 68  |...:   . "volrgh|
000034d0  74 22 3a 74 31 24 3d 22  54 68 69 73 20 62 75 74  |t":t1$="This but|
000034e0  74 6f 6e 20 69 6e 63 72  65 61 73 65 73 20 74 68  |ton increases th|
000034f0  65 20 76 6f 6c 75 6d 65  2e 22 0d 13 9c 3c 20 20  |e volume."...<  |
00003500  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003510  74 32 24 3d 22 54 68 65  20 76 6f 6c 75 6d 65 20  |t2$="The volume |
00003520  6c 65 76 65 6c 20 69 73  20 73 68 6f 77 6e 20 62  |level is shown b|
00003530  65 6c 6f 77 2e 22 0d 13  a6 47 20 20 20 20 20 20  |elow."...G      |
00003540  20 20 20 20 20 20 20 20  20 20 20 20 e7 20 76 6f  |            . vo|
00003550  6c 75 6d 65 25 3e 3d 31  32 37 20 8c 20 74 32 24  |lume%>=127 . t2$|
00003560  3d 22 54 68 65 20 76 6f  6c 75 6d 65 20 69 73 20  |="The volume is |
00003570  6e 6f 77 20 6d 61 78 69  6d 75 6d 2e 22 0d 13 b0  |now maximum."...|
00003580  31 20 20 20 c9 20 22 71  75 69 74 22 20 20 20 3a  |1   . "quit"   :|
00003590  74 31 24 3d 22 54 68 69  73 20 69 73 20 74 68 65  |t1$="This is the|
000035a0  20 71 75 69 74 20 62 75  74 74 6f 6e 2e 22 0d 13  | quit button."..|
000035b0  ba 3f 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.?              |
000035c0  20 20 20 20 74 32 24 3d  22 43 6c 69 63 6b 20 6f  |    t2$="Click o|
000035d0  6e 20 74 68 69 73 20 74  6f 20 72 65 74 75 72 6e  |n this to return|
000035e0  20 74 6f 20 64 65 73 6b  74 6f 70 2e 22 0d 13 c4  | to desktop."...|
000035f0  31 20 20 20 c9 20 22 70  6c 61 79 22 20 20 20 3a  |1   . "play"   :|
00003600  74 31 24 3d 22 54 68 69  73 20 69 73 20 74 68 65  |t1$="This is the|
00003610  20 70 6c 61 79 20 62 75  74 74 6f 6e 2e 22 0d 13  | play button."..|
00003620  ce 39 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.9              |
00003630  20 20 20 20 74 32 24 3d  22 43 6c 69 63 6b 20 6f  |    t2$="Click o|
00003640  6e 20 74 68 69 73 20 74  6f 20 70 6c 61 79 20 61  |n this to play a|
00003650  20 67 61 6d 65 2e 22 0d  13 d8 40 20 20 20 c9 20  | game."...@   . |
00003660  22 70 6c 61 79 65 72 31  22 3a 74 31 24 3d 22 54  |"player1":t1$="T|
00003670  68 69 73 20 73 68 6f 77  73 20 74 68 65 20 63 6f  |his shows the co|
00003680  6c 6f 75 72 20 75 73 65  64 20 62 79 20 70 6c 61  |lour used by pla|
00003690  79 65 72 20 31 2e 22 0d  13 e2 47 20 20 20 20 20  |yer 1."...G     |
000036a0  20 20 20 20 20 20 20 20  20 20 20 20 20 74 32 24  |             t2$|
000036b0  3d 22 43 6c 69 63 6b 20  74 6f 20 74 6f 67 67 6c  |="Click to toggl|
000036c0  65 20 68 6f 77 20 70 6c  61 79 65 72 20 31 20 69  |e how player 1 i|
000036d0  73 20 63 6f 6e 74 72 6f  6c 6c 65 64 2e 22 0d 13  |s controlled."..|
000036e0  ec 40 20 20 20 c9 20 22  70 6c 61 79 65 72 32 22  |.@   . "player2"|
000036f0  3a 74 31 24 3d 22 54 68  69 73 20 73 68 6f 77 73  |:t1$="This shows|
00003700  20 74 68 65 20 63 6f 6c  6f 75 72 20 75 73 65 64  | the colour used|
00003710  20 62 79 20 70 6c 61 79  65 72 20 32 2e 22 0d 13  | by player 2."..|
00003720  f6 47 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.G              |
00003730  20 20 20 20 74 32 24 3d  22 43 6c 69 63 6b 20 74  |    t2$="Click t|
00003740  6f 20 74 6f 67 67 6c 65  20 68 6f 77 20 70 6c 61  |o toggle how pla|
00003750  79 65 72 20 32 20 69 73  20 63 6f 6e 74 72 6f 6c  |yer 2 is control|
00003760  6c 65 64 2e 22 0d 14 00  40 20 20 20 c9 20 22 70  |led."...@   . "p|
00003770  6c 61 79 65 72 33 22 3a  74 31 24 3d 22 54 68 69  |layer3":t1$="Thi|
00003780  73 20 73 68 6f 77 73 20  74 68 65 20 63 6f 6c 6f  |s shows the colo|
00003790  75 72 20 75 73 65 64 20  62 79 20 70 6c 61 79 65  |ur used by playe|
000037a0  72 20 33 2e 22 0d 14 0a  47 20 20 20 20 20 20 20  |r 3."...G       |
000037b0  20 20 20 20 20 20 20 20  20 20 20 74 32 24 3d 22  |           t2$="|
000037c0  43 6c 69 63 6b 20 74 6f  20 74 6f 67 67 6c 65 20  |Click to toggle |
000037d0  68 6f 77 20 70 6c 61 79  65 72 20 33 20 69 73 20  |how player 3 is |
000037e0  63 6f 6e 74 72 6f 6c 6c  65 64 2e 22 0d 14 14 40  |controlled."...@|
000037f0  20 20 20 c9 20 22 70 6c  61 79 65 72 34 22 3a 74  |   . "player4":t|
00003800  31 24 3d 22 54 68 69 73  20 73 68 6f 77 73 20 74  |1$="This shows t|
00003810  68 65 20 63 6f 6c 6f 75  72 20 75 73 65 64 20 62  |he colour used b|
00003820  79 20 70 6c 61 79 65 72  20 34 2e 22 0d 14 1e 47  |y player 4."...G|
00003830  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003840  20 20 74 32 24 3d 22 43  6c 69 63 6b 20 74 6f 20  |  t2$="Click to |
00003850  74 6f 67 67 6c 65 20 68  6f 77 20 70 6c 61 79 65  |toggle how playe|
00003860  72 20 34 20 69 73 20 63  6f 6e 74 72 6f 6c 6c 65  |r 4 is controlle|
00003870  64 2e 22 0d 14 28 34 20  20 20 c9 20 22 6c 6f 67  |d."..(4   . "log|
00003880  6f 22 20 20 20 3a 74 31  24 3d 22 54 68 69 73 20  |o"   :t1$="This |
00003890  69 73 20 74 68 65 20 21  52 65 61 63 74 69 6f 6e  |is the !Reaction|
000038a0  20 6c 6f 67 6f 2e 22 0d  14 32 38 20 20 20 20 20  | logo."..28     |
000038b0  20 20 20 20 20 20 20 20  20 20 20 20 20 74 32 24  |             t2$|
000038c0  3d 22 49 74 20 73 69 74  73 20 74 68 65 72 65 20  |="It sits there |
000038d0  64 6f 69 6e 67 20 6e 6f  74 68 69 6e 67 2e 22 0d  |doing nothing.".|
000038e0  14 3c 50 20 20 20 c9 20  22 64 6f 77 6e 67 72 61  |.<P   . "downgra|
000038f0  22 3a 74 31 24 3d 22 54  68 65 20 70 65 72 73 6f  |":t1$="The perso|
00003900  6e 20 77 68 6f 20 6c 65  74 20 69 74 20 77 6f 72  |n who let it wor|
00003910  6b 20 6f 6e 20 79 6f 75  72 20 70 72 65 2d 52 49  |k on your pre-RI|
00003920  53 43 20 50 43 20 6d 61  63 68 69 6e 65 2e 22 0d  |SC PC machine.".|
00003930  14 46 3f 20 20 20 20 20  20 20 20 20 20 20 20 20  |.F?             |
00003940  20 20 20 20 20 74 32 24  3d 22 52 65 61 64 20 74  |     t2$="Read t|
00003950  68 65 20 21 48 65 6c 70  20 66 69 6c 65 20 66 6f  |he !Help file fo|
00003960  72 20 6d 79 20 61 64 64  72 65 73 73 2e 22 0d 14  |r my address."..|
00003970  50 51 20 20 20 c9 20 22  63 6f 6d 70 31 22 20 20  |PQ   . "comp1"  |
00003980  3a 74 31 24 3d 22 54 68  69 73 20 73 68 6f 77 73  |:t1$="This shows|
00003990  20 74 68 61 74 20 70 6c  61 79 65 72 20 31 20 69  | that player 1 i|
000039a0  73 20 63 6f 6e 74 72 6f  6c 6c 65 64 20 62 79 20  |s controlled by |
000039b0  22 2b a4 68 65 6c 70 5f  63 6f 6d 70 28 30 29 0d  |"+.help_comp(0).|
000039c0  14 5a 4a 20 20 20 20 20  20 20 20 20 20 20 20 20  |.ZJ             |
000039d0  20 20 20 20 20 74 32 24  3d 22 43 6c 69 63 6b 20  |     t2$="Click |
000039e0  6f 6e 20 74 68 65 20 70  69 63 74 75 72 65 20 6f  |on the picture o|
000039f0  72 20 6f 6e 20 74 68 65  20 6e 61 6d 65 20 74 6f  |r on the name to|
00003a00  20 74 6f 67 67 6c 65 2e  22 0d 14 64 51 20 20 20  | toggle."..dQ   |
00003a10  c9 20 22 63 6f 6d 70 32  22 20 20 3a 74 31 24 3d  |. "comp2"  :t1$=|
00003a20  22 54 68 69 73 20 73 68  6f 77 73 20 74 68 61 74  |"This shows that|
00003a30  20 70 6c 61 79 65 72 20  32 20 69 73 20 63 6f 6e  | player 2 is con|
00003a40  74 72 6f 6c 6c 65 64 20  62 79 20 22 2b a4 68 65  |trolled by "+.he|
00003a50  6c 70 5f 63 6f 6d 70 28  31 29 0d 14 6e 4a 20 20  |lp_comp(1)..nJ  |
00003a60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003a70  74 32 24 3d 22 43 6c 69  63 6b 20 6f 6e 20 74 68  |t2$="Click on th|
00003a80  65 20 70 69 63 74 75 72  65 20 6f 72 20 6f 6e 20  |e picture or on |
00003a90  74 68 65 20 6e 61 6d 65  20 74 6f 20 74 6f 67 67  |the name to togg|
00003aa0  6c 65 2e 22 0d 14 78 51  20 20 20 c9 20 22 63 6f  |le."..xQ   . "co|
00003ab0  6d 70 33 22 20 20 3a 74  31 24 3d 22 54 68 69 73  |mp3"  :t1$="This|
00003ac0  20 73 68 6f 77 73 20 74  68 61 74 20 70 6c 61 79  | shows that play|
00003ad0  65 72 20 33 20 69 73 20  63 6f 6e 74 72 6f 6c 6c  |er 3 is controll|
00003ae0  65 64 20 62 79 20 22 2b  a4 68 65 6c 70 5f 63 6f  |ed by "+.help_co|
00003af0  6d 70 28 32 29 0d 14 82  4a 20 20 20 20 20 20 20  |mp(2)...J       |
00003b00  20 20 20 20 20 20 20 20  20 20 20 74 32 24 3d 22  |           t2$="|
00003b10  43 6c 69 63 6b 20 6f 6e  20 74 68 65 20 70 69 63  |Click on the pic|
00003b20  74 75 72 65 20 6f 72 20  6f 6e 20 74 68 65 20 6e  |ture or on the n|
00003b30  61 6d 65 20 74 6f 20 74  6f 67 67 6c 65 2e 22 0d  |ame to toggle.".|
00003b40  14 8c 51 20 20 20 c9 20  22 63 6f 6d 70 34 22 20  |..Q   . "comp4" |
00003b50  20 3a 74 31 24 3d 22 54  68 69 73 20 73 68 6f 77  | :t1$="This show|
00003b60  73 20 74 68 61 74 20 70  6c 61 79 65 72 20 34 20  |s that player 4 |
00003b70  69 73 20 63 6f 6e 74 72  6f 6c 6c 65 64 20 62 79  |is controlled by|
00003b80  20 22 2b a4 68 65 6c 70  5f 63 6f 6d 70 28 33 29  | "+.help_comp(3)|
00003b90  0d 14 96 4a 20 20 20 20  20 20 20 20 20 20 20 20  |...J            |
00003ba0  20 20 20 20 20 20 74 32  24 3d 22 43 6c 69 63 6b  |      t2$="Click|
00003bb0  20 6f 6e 20 74 68 65 20  70 69 63 74 75 72 65 20  | on the picture |
00003bc0  6f 72 20 6f 6e 20 74 68  65 20 6e 61 6d 65 20 74  |or on the name t|
00003bd0  6f 20 74 6f 67 67 6c 65  2e 22 0d 14 a0 07 20 20  |o toggle."....  |
00003be0  cb 0d 14 aa 1b 20 20 c8  99 20 22 4f 53 5f 53 65  |.....  .. "OS_Se|
00003bf0  74 43 6f 6c 6f 75 72 22  2c 30 2c 30 0d 14 b4 18  |tColour",0,0....|
00003c00  20 20 c8 93 20 c8 90 20  30 2c 30 2c 31 30 35 30  |  .. .. 0,0,1050|
00003c10  2c 31 32 30 0d 14 be 20  20 20 c8 99 20 22 46 6f  |,120...   .. "Fo|
00003c20  6e 74 5f 53 65 74 46 6f  6e 74 22 2c 66 68 61 6e  |nt_SetFont",fhan|
00003c30  64 6c 65 25 0d 14 c8 23  20 20 c8 99 20 22 46 6f  |dle%...#  .. "Fo|
00003c40  6e 74 5f 50 61 69 6e 74  22 2c 2c 74 31 24 2c 26  |nt_Paint",,t1$,&|
00003c50  31 34 2c 30 2c 38 30 0d  14 d2 23 20 20 c8 99 20  |14,0,80...#  .. |
00003c60  22 46 6f 6e 74 5f 50 61  69 6e 74 22 2c 2c 74 32  |"Font_Paint",,t2|
00003c70  24 2c 26 31 34 2c 30 2c  33 30 0d 14 dc 05 e1 0d  |$,&14,0,30......|
00003c80  14 e6 05 3a 0d 14 f0 42  f4 20 2a 2a 2a 20 41 6e  |...:...B. *** An|
00003c90  79 74 68 69 6e 67 20 62  65 6c 6f 77 20 68 65 72  |ything below her|
00003ca0  65 20 69 73 20 77 72 69  74 74 65 6e 20 62 79 20  |e is written by |
00003cb0  4d 61 74 74 68 65 77 20  53 6f 6d 65 72 76 69 6c  |Matthew Somervil|
00003cc0  6c 65 20 2a 2a 2a 0d 14  fa 05 3a 0d 15 04 17 dd  |le ***....:.....|
00003cd0  20 f2 70 72 69 6e 74 5f  70 6c 61 79 65 72 28 78  | .print_player(x|
00003ce0  25 29 0d 15 0e 17 e7 20  63 6f 6d 70 75 74 65 72  |%)..... computer|
00003cf0  25 28 78 25 29 3d b9 20  8c 0d 15 18 0d 20 e7 20  |%(x%)=. ..... . |
00003d00  78 25 3c 32 20 8c 0d 15  22 31 20 20 c8 99 20 22  |x%<2 ..."1  .. "|
00003d10  46 6f 6e 74 5f 50 61 69  6e 74 22 2c 2c 22 48 75  |Font_Paint",,"Hu|
00003d20  6d 61 6e 22 2c 26 31 34  2c 78 25 2a 34 30 30 2b  |man",&14,x%*400+|
00003d30  31 35 30 2c 34 35 30 0d  15 2c 06 20 cc 0d 15 36  |150,450..,. ...6|
00003d40  35 20 20 c8 99 20 22 46  6f 6e 74 5f 50 61 69 6e  |5  .. "Font_Pain|
00003d50  74 22 2c 2c 22 48 75 6d  61 6e 22 2c 26 31 34 2c  |t",,"Human",&14,|
00003d60  28 78 25 2d 32 29 2a 34  30 30 2b 31 35 30 2c 31  |(x%-2)*400+150,1|
00003d70  37 35 0d 15 40 06 20 cd  0d 15 4a 05 cc 0d 15 54  |75..@. ...J....T|
00003d80  0d 20 e7 20 78 25 3c 32  20 8c 0d 15 5e 34 20 20  |. . x%<2 ...^4  |
00003d90  c8 99 20 22 46 6f 6e 74  5f 50 61 69 6e 74 22 2c  |.. "Font_Paint",|
00003da0  2c 22 43 6f 6d 70 75 74  65 72 22 2c 26 31 34 2c  |,"Computer",&14,|
00003db0  78 25 2a 34 30 30 2b 31  32 35 2c 34 35 30 0d 15  |x%*400+125,450..|
00003dc0  68 06 20 cc 0d 15 72 38  20 20 c8 99 20 22 46 6f  |h. ...r8  .. "Fo|
00003dd0  6e 74 5f 50 61 69 6e 74  22 2c 2c 22 43 6f 6d 70  |nt_Paint",,"Comp|
00003de0  75 74 65 72 22 2c 26 31  34 2c 28 78 25 2d 32 29  |uter",&14,(x%-2)|
00003df0  2a 34 30 30 2b 31 32 35  2c 31 37 35 0d 15 7c 06  |*400+125,175..|.|
00003e00  20 cd 0d 15 86 05 cd 0d  15 90 05 e1 0d 15 9a 05  | ...............|
00003e10  3a 0d 15 a4 14 dd 20 a4  68 65 6c 70 5f 63 6f 6d  |:..... .help_com|
00003e20  70 28 78 25 29 0d 15 ae  32 e7 20 63 6f 6d 70 75  |p(x%)...2. compu|
00003e30  74 65 72 25 28 78 25 29  3d b9 20 8c 20 3d 22 61  |ter%(x%)=. . ="a|
00003e40  20 68 75 6d 61 6e 2e 22  20 8b 20 3d 22 63 6f 6d  | human." . ="com|
00003e50  70 75 74 65 72 2e 22 0d  15 b8 05 3a 0d 15 c2 15  |puter."....:....|
00003e60  dd 20 f2 70 72 69 6e 74  5f 63 6f 6d 70 28 78 25  |. .print_comp(x%|
00003e70  29 0d 15 cc 17 e7 20 63  6f 6d 70 75 74 65 72 25  |)..... computer%|
00003e80  28 78 25 29 3d b9 20 8c  0d 15 d6 1f 20 ec 20 31  |(x%)=. ..... . 1|
00003e90  31 39 30 2c 78 25 2a 32  32 35 2b 31 38 33 3a f1  |190,x%*225+183:.|
00003ea0  22 48 75 6d 61 6e 22 0d  15 e0 05 cc 0d 15 ea 22  |"Human"........"|
00003eb0  20 ec 20 31 31 34 30 2c  78 25 2a 32 32 35 2b 31  | . 1140,x%*225+1|
00003ec0  38 33 3a f1 22 43 6f 6d  70 75 74 65 72 22 0d 15  |83:."Computer"..|
00003ed0  f4 05 cd 0d 15 fe 05 e1  0d 16 08 05 3a 0d 16 12  |............:...|
00003ee0  12 dd 20 f2 63 6f 6d 70  75 74 65 72 5f 67 6f 0d  |.. .computer_go.|
00003ef0  16 1c 2e 74 75 72 6e 25  3d 28 70 6c 61 79 63 6f  |...turn%=(playco|
00003f00  75 6e 74 25 2b 70 6c 61  79 65 72 73 25 29 20 81  |unt%+players%) .|
00003f10  20 28 70 6c 61 79 65 72  73 25 2b 31 29 0d 16 26  | (players%+1)..&|
00003f20  0e c8 8e 20 74 75 72 6e  25 20 ca 0d 16 30 1a c9  |... turn% ...0..|
00003f30  20 31 20 20 20 20 3a 20  f2 74 6f 74 61 6c 5f 72  | 1    : .total_r|
00003f40  61 6e 64 6f 6d 0d 16 3a  1a c9 20 32 20 20 20 20  |andom..:.. 2    |
00003f50  3a 20 f2 73 6f 72 74 61  5f 72 61 6e 64 6f 6d 0d  |: .sorta_random.|
00003f60  16 44 07 7f 20 3a 0d 16  4e 11 20 72 6e 64 3d b3  |.D.. :..N. rnd=.|
00003f70  28 31 30 30 29 2d 31 0d  16 58 0d 20 64 69 66 66  |(100)-1..X. diff|
00003f80  28 29 3d 30 0d 16 62 0a  20 66 64 25 3d a3 0d 16  |()=0..b. fd%=...|
00003f90  6c 0f 20 e3 20 69 25 3d  30 20 b8 20 37 0d 16 76  |l. . i%=0 . 7..v|
00003fa0  10 20 20 e3 20 6a 25 3d  30 20 b8 20 37 0d 16 80  |.  . j%=0 . 7...|
00003fb0  31 20 20 20 50 25 3d 70  6c 61 79 65 72 74 68 65  |1   P%=playerthe|
00003fc0  72 65 25 28 69 25 2c 6a  25 29 3a 4e 25 3d 6e 75  |re%(i%,j%):N%=nu|
00003fd0  6d 74 68 65 72 65 25 28  69 25 2c 6a 25 29 0d 16  |mthere%(i%,j%)..|
00003fe0  8a 30 20 20 20 e7 20 28  4e 25 3d 30 20 84 20 28  |.0   . (N%=0 . (|
00003ff0  50 25 3d 77 68 6f 73 65  67 6f 25 20 80 20 4e 25  |P%=whosego% . N%|
00004000  3e 30 29 29 20 80 20 ac  20 66 64 25 20 8c 0d 16  |>0)) . . fd% ...|
00004010  94 2a 20 20 20 20 63 6f  6d 70 5f 70 6c 61 79 65  |.*    comp_playe|
00004020  72 74 68 65 72 65 25 28  29 3d 70 6c 61 79 65 72  |rthere%()=player|
00004030  74 68 65 72 65 25 28 29  0d 16 9e 24 20 20 20 20  |there%()...$    |
00004040  63 6f 6d 70 5f 6e 75 6d  74 68 65 72 65 25 28 29  |comp_numthere%()|
00004050  3d 6e 75 6d 74 68 65 72  65 25 28 29 0d 16 a8 27  |=numthere%()...'|
00004060  20 20 20 20 63 6f 6d 70  5f 70 6c 61 79 65 72 73  |    comp_players|
00004070  25 28 29 3d 70 6c 61 79  65 72 73 61 6c 69 76 65  |%()=playersalive|
00004080  25 28 29 0d 16 b2 29 20  20 20 20 63 6f 6d 70 5f  |%()...)    comp_|
00004090  70 6c 61 79 65 72 74 68  65 72 65 25 28 69 25 2c  |playerthere%(i%,|
000040a0  6a 25 29 3d 77 68 6f 73  65 67 6f 25 0d 16 bc 20  |j%)=whosego%... |
000040b0  20 20 20 20 63 6f 6d 70  5f 6e 75 6d 74 68 65 72  |    comp_numther|
000040c0  65 25 28 69 25 2c 6a 25  29 2b 3d 31 0d 16 c6 4e  |e%(i%,j%)+=1...N|
000040d0  20 20 20 20 e7 20 63 6f  6d 70 5f 6e 75 6d 74 68  |    . comp_numth|
000040e0  65 72 65 25 28 69 25 2c  6a 25 29 3e 6d 61 78 6e  |ere%(i%,j%)>maxn|
000040f0  75 6d 25 28 69 25 2c 6a  25 29 20 8c 20 f2 63 6f  |um%(i%,j%) . .co|
00004100  6d 70 5f 65 78 70 6c 6f  64 65 28 69 25 2c 6a 25  |mp_explode(i%,j%|
00004110  2c 77 68 6f 73 65 67 6f  25 29 0d 16 d0 15 20 20  |,whosego%)....  |
00004120  20 20 64 69 66 66 28 69  25 2c 6a 25 29 3d 30 0d  |  diff(i%,j%)=0.|
00004130  16 da 0d 20 20 20 20 66  64 25 3d b9 0d 16 e4 1a  |...    fd%=.....|
00004140  20 20 20 20 e3 20 6c 70  25 3d 30 20 b8 20 70 6c  |    . lp%=0 . pl|
00004150  61 79 65 72 73 25 0d 16  ee 29 20 20 20 20 20 61  |ayers%...)     a|
00004160  6d 6f 75 6e 74 25 3d a4  67 65 74 5f 63 6f 6d 70  |mount%=.get_comp|
00004170  6e 75 6d 73 71 75 61 72  65 73 28 6c 70 25 29 0d  |numsquares(lp%).|
00004180  16 f8 19 20 20 20 20 20  e7 20 6c 70 25 3d 77 68  |...     . lp%=wh|
00004190  6f 73 65 67 6f 25 20 8c  0d 17 02 20 20 20 20 20  |osego% ....     |
000041a0  20 20 64 69 66 66 28 69  25 2c 6a 25 29 2d 3d 61  |  diff(i%,j%)-=a|
000041b0  6d 6f 75 6e 74 25 2b 31  0d 17 0c 0a 20 20 20 20  |mount%+1....    |
000041c0  20 cc 0d 17 16 1e 20 20  20 20 20 20 64 69 66 66  | .....      diff|
000041d0  28 69 25 2c 6a 25 29 2b  3d 61 6d 6f 75 6e 74 25  |(i%,j%)+=amount%|
000041e0  0d 17 20 1b 20 20 20 20  20 20 e7 20 61 6d 6f 75  |.. .      . amou|
000041f0  6e 74 25 3e 30 20 66 64  25 3d a3 0d 17 2a 0a 20  |nt%>0 fd%=...*. |
00004200  20 20 20 20 cd 0d 17 34  09 20 20 20 20 ed 0d 17  |    ...4.    ...|
00004210  3e 1d 20 20 20 20 e7 20  66 64 25 20 8c 20 66 78  |>.    . fd% . fx|
00004220  25 3d 69 25 3a 66 79 25  3d 6a 25 0d 17 48 08 20  |%=i%:fy%=j%..H. |
00004230  20 20 cc 0d 17 52 15 20  20 20 20 64 69 66 66 28  |  ...R.    diff(|
00004240  69 25 2c 6a 25 29 3d 30  0d 17 5c 08 20 20 20 cd  |i%,j%)=0..\.   .|
00004250  0d 17 66 07 20 20 ed 0d  17 70 06 20 ed 0d 17 7a  |..f.  ...p. ...z|
00004260  0d 20 6d 64 25 3d 31 30  30 30 0d 17 84 0a 20 6d  |. md%=1000.... m|
00004270  74 25 3d 30 0d 17 8e 0c  20 e7 20 66 64 25 20 8c  |t%=0.... . fd% .|
00004280  0d 17 98 0c 20 20 78 25  3d 66 78 25 0d 17 a2 0c  |....  x%=fx%....|
00004290  20 20 79 25 3d 66 79 25  0d 17 ac 06 20 cc 0d 17  |  y%=fy%.... ...|
000042a0  b6 10 20 20 e3 20 69 25  3d 30 20 b8 20 37 0d 17  |..  . i%=0 . 7..|
000042b0  c0 11 20 20 20 e3 20 6a  25 3d 30 20 b8 20 37 0d  |..   . j%=0 . 7.|
000042c0  17 ca 5f 20 20 20 20 e7  20 28 6e 75 6d 74 68 65  |.._    . (numthe|
000042d0  72 65 25 28 69 25 2c 6a  25 29 3d 30 20 80 20 72  |re%(i%,j%)=0 . r|
000042e0  6e 64 3c 31 30 29 20 84  20 28 70 6c 61 79 65 72  |nd<10) . (player|
000042f0  74 68 65 72 65 25 28 69  25 2c 6a 25 29 3d 77 68  |there%(i%,j%)=wh|
00004300  6f 73 65 67 6f 25 20 80  20 6e 75 6d 74 68 65 72  |osego% . numther|
00004310  65 25 28 69 25 2c 6a 25  29 3e 30 29 20 8c 0d 17  |e%(i%,j%)>0) ...|
00004320  d4 40 20 20 20 20 20 e7  20 64 69 66 66 28 69 25  |.@     . diff(i%|
00004330  2c 6a 25 29 3c 6d 64 25  20 8c 20 6d 64 25 3d 64  |,j%)<md% . md%=d|
00004340  69 66 66 28 69 25 2c 6a  25 29 3a 6d 74 25 3d 30  |iff(i%,j%):mt%=0|
00004350  3a 78 6d 25 3d 69 25 3a  79 6d 25 3d 6a 25 0d 17  |:xm%=i%:ym%=j%..|
00004360  de 33 20 20 20 20 20 e7  20 64 69 66 66 28 69 25  |.3     . diff(i%|
00004370  2c 6a 25 29 3d 6d 64 25  20 8c 20 6d 64 25 3d 64  |,j%)=md% . md%=d|
00004380  69 66 66 28 69 25 2c 6a  25 29 3a 6d 74 25 2b 3d  |iff(i%,j%):mt%+=|
00004390  31 0d 17 e8 09 20 20 20  20 cd 0d 17 f2 08 20 20  |1....    .....  |
000043a0  20 ed 0d 17 fc 07 20 20  ed 0d 18 06 0f 20 20 e7  | .....  .....  .|
000043b0  20 6d 74 25 3d 31 20 8c  0d 18 10 0d 20 20 20 78  | mt%=1 .....   x|
000043c0  25 3d 78 6d 25 0d 18 1a  0d 20 20 20 79 25 3d 79  |%=xm%....   y%=y|
000043d0  6d 25 0d 18 24 07 20 20  cc 0d 18 2e 0c 20 20 20  |m%..$.  .....   |
000043e0  70 63 6b 3d a3 0d 18 38  11 20 20 20 70 70 25 3d  |pck=...8.   pp%=|
000043f0  b3 28 6d 74 25 29 0d 18  42 0a 20 20 20 78 3d 30  |.(mt%)..B.   x=0|
00004400  0d 18 4c 0a 20 20 20 79  3d 30 0d 18 56 08 20 20  |..L.   y=0..V.  |
00004410  20 f5 0d 18 60 59 20 20  20 20 e7 20 28 6e 75 6d  | ...`Y    . (num|
00004420  74 68 65 72 65 25 28 78  2c 79 29 3d 30 20 80 20  |there%(x,y)=0 . |
00004430  72 6e 64 3c 31 30 29 20  84 20 28 70 6c 61 79 65  |rnd<10) . (playe|
00004440  72 74 68 65 72 65 25 28  78 2c 79 29 3d 77 68 6f  |rthere%(x,y)=who|
00004450  73 65 67 6f 25 20 80 20  6e 75 6d 74 68 65 72 65  |sego% . numthere|
00004460  25 28 78 2c 79 29 3e 30  29 20 8c 0d 18 6a 1a 20  |%(x,y)>0) ...j. |
00004470  20 20 20 20 e7 20 64 69  66 66 28 78 2c 79 29 3d  |    . diff(x,y)=|
00004480  6d 64 25 20 8c 0d 18 74  10 20 20 20 20 20 20 70  |md% ...t.      p|
00004490  70 25 2d 3d 31 0d 18 7e  0e 20 20 20 20 20 20 78  |p%-=1..~.      x|
000044a0  25 3d 78 0d 18 88 0e 20  20 20 20 20 20 79 25 3d  |%=x....      y%=|
000044b0  79 0d 18 92 0a 20 20 20  20 20 cd 0d 18 9c 09 20  |y....     ..... |
000044c0  20 20 20 cd 0d 18 a6 0c  20 20 20 20 78 2b 3d 31  |   .....    x+=1|
000044d0  0d 18 b0 18 20 20 20 20  e7 20 78 3d 38 20 8c 20  |....    . x=8 . |
000044e0  78 3d 30 3a 79 2b 3d 31  0d 18 ba 0e 20 20 20 fd  |x=0:y+=1....   .|
000044f0  20 70 70 25 3d 30 0d 18  c4 07 20 20 cd 0d 18 ce  | pp%=0....  ....|
00004500  06 20 cd 0d 18 d8 05 cb  0d 18 e2 05 e1 0d 18 ec  |. ..............|
00004510  05 3a 0d 18 f6 13 dd 20  f2 74 6f 74 61 6c 5f 72  |.:..... .total_r|
00004520  61 6e 64 6f 6d 0d 19 00  11 61 3d a6 28 37 35 2b  |andom....a=.(75+|
00004530  b3 28 35 30 29 29 0d 19  0a 05 f5 0d 19 14 20 20  |.(50))........  |
00004540  78 25 3d b3 28 38 29 2d  31 3a 79 25 3d b3 28 38  |x%=.(8)-1:y%=.(8|
00004550  29 2d 31 3a 65 78 69 74  25 3d b9 0d 19 1e 43 20  |)-1:exit%=....C |
00004560  e7 20 70 6c 61 79 65 72  74 68 65 72 65 25 28 78  |. playerthere%(x|
00004570  25 2c 79 25 29 3c 3e 77  68 6f 73 65 67 6f 25 20  |%,y%)<>whosego% |
00004580  80 20 6e 75 6d 74 68 65  72 65 25 28 78 25 2c 79  |. numthere%(x%,y|
00004590  25 29 3e 30 20 8c 20 65  78 69 74 25 3d a3 0d 19  |%)>0 . exit%=...|
000045a0  28 0d fd 20 65 78 69 74  25 3d b9 0d 19 32 05 e1  |(.. exit%=...2..|
000045b0  0d 19 3c 05 3a 0d 19 46  13 dd 20 f2 73 6f 72 74  |..<.:..F.. .sort|
000045c0  61 5f 72 61 6e 64 6f 6d  0d 19 50 11 e7 20 b3 28  |a_random..P.. .(|
000045d0  31 30 30 29 3e 35 30 20  8c 0d 19 5a 12 20 f2 74  |100)>50 ...Z. .t|
000045e0  6f 74 61 6c 5f 72 61 6e  64 6f 6d 0d 19 64 05 cc  |otal_random..d..|
000045f0  0d 19 6e 12 20 61 3d a6  28 37 35 2b b3 28 35 30  |..n. a=.(75+.(50|
00004600  29 29 0d 19 78 0c 20 65  78 69 74 25 3d a3 0d 19  |))..x. exit%=...|
00004610  82 0a 20 78 25 3d 2d 31  0d 19 8c 09 20 79 25 3d  |.. x%=-1.... y%=|
00004620  30 0d 19 96 06 20 f5 0d  19 a0 0b 20 20 78 25 2b  |0.... .....  x%+|
00004630  3d 31 0d 19 aa 19 20 20  e7 20 78 25 3d 38 20 8c  |=1....  . x%=8 .|
00004640  20 78 25 3d 30 3a 79 25  2b 3d 31 0d 19 b4 43 20  | x%=0:y%+=1...C |
00004650  20 e7 20 70 6c 61 79 65  72 74 68 65 72 65 25 28  | . playerthere%(|
00004660  78 25 2c 79 25 29 3d 77  68 6f 73 65 67 6f 25 20  |x%,y%)=whosego% |
00004670  80 20 6e 75 6d 74 68 65  72 65 25 28 78 25 2c 79  |. numthere%(x%,y|
00004680  25 29 3e 30 20 8c 20 65  78 69 74 25 3d b9 0d 19  |%)>0 . exit%=...|
00004690  be 0e 20 fd 20 65 78 69  74 25 3d b9 0d 19 c8 05  |.. . exit%=.....|
000046a0  cd 0d 19 d2 05 e1 0d 19  dc 05 3a 0d 19 e6 1d dd  |..........:.....|
000046b0  20 f2 63 6f 6d 70 5f 65  78 70 6c 6f 64 65 28 78  | .comp_explode(x|
000046c0  25 2c 79 25 2c 70 25 29  0d 19 f0 0f 20 ea 20 74  |%,y%,p%).... . t|
000046d0  25 2c 6f 76 65 72 25 0d  19 fa 21 20 67 61 6d 65  |%,over%...! game|
000046e0  6f 76 65 72 25 3d a4 67  65 74 5f 63 6f 6d 70 67  |over%=.get_compg|
000046f0  61 6d 65 73 74 61 74 65  0d 1a 04 16 20 e7 20 67  |amestate.... . g|
00004700  61 6d 65 6f 76 65 72 25  3d b9 20 8c 20 e1 0d 1a  |ameover%=. . ...|
00004710  0e 2f 20 6f 76 65 72 25  3d 63 6f 6d 70 5f 6e 75  |./ over%=comp_nu|
00004720  6d 74 68 65 72 65 25 28  78 25 2c 79 25 29 2d 6d  |mthere%(x%,y%)-m|
00004730  61 78 6e 75 6d 25 28 78  25 2c 79 25 29 0d 1a 18  |axnum%(x%,y%)...|
00004740  1c 20 63 6f 6d 70 5f 6e  75 6d 74 68 65 72 65 25  |. comp_numthere%|
00004750  28 78 25 2c 79 25 29 3d  30 0d 1a 22 0d 20 e7 20  |(x%,y%)=0..". . |
00004760  78 25 3e 30 20 8c 0d 1a  2c 24 20 20 63 6f 6d 70  |x%>0 ...,$  comp|
00004770  5f 6e 75 6d 74 68 65 72  65 25 28 78 25 2d 31 2c  |_numthere%(x%-1,|
00004780  79 25 29 2b 3d 6f 76 65  72 25 0d 1a 36 23 20 20  |y%)+=over%..6#  |
00004790  63 6f 6d 70 5f 70 6c 61  79 65 72 74 68 65 72 65  |comp_playerthere|
000047a0  25 28 78 25 2d 31 2c 79  25 29 3d 70 25 0d 1a 40  |%(x%-1,y%)=p%..@|
000047b0  4c 20 20 e7 20 63 6f 6d  70 5f 6e 75 6d 74 68 65  |L  . comp_numthe|
000047c0  72 65 25 28 78 25 2d 31  2c 79 25 29 3e 6d 61 78  |re%(x%-1,y%)>max|
000047d0  6e 75 6d 25 28 78 25 2d  31 2c 79 25 29 20 8c 20  |num%(x%-1,y%) . |
000047e0  f2 63 6f 6d 70 5f 65 78  70 6c 6f 64 65 28 78 25  |.comp_explode(x%|
000047f0  2d 31 2c 79 25 2c 70 25  29 0d 1a 4a 06 20 cd 0d  |-1,y%,p%)..J. ..|
00004800  1a 54 0d 20 e7 20 78 25  3c 37 20 8c 0d 1a 5e 24  |.T. . x%<7 ...^$|
00004810  20 20 63 6f 6d 70 5f 6e  75 6d 74 68 65 72 65 25  |  comp_numthere%|
00004820  28 78 25 2b 31 2c 79 25  29 2b 3d 6f 76 65 72 25  |(x%+1,y%)+=over%|
00004830  0d 1a 68 23 20 20 63 6f  6d 70 5f 70 6c 61 79 65  |..h#  comp_playe|
00004840  72 74 68 65 72 65 25 28  78 25 2b 31 2c 79 25 29  |rthere%(x%+1,y%)|
00004850  3d 70 25 0d 1a 72 4c 20  20 e7 20 63 6f 6d 70 5f  |=p%..rL  . comp_|
00004860  6e 75 6d 74 68 65 72 65  25 28 78 25 2b 31 2c 79  |numthere%(x%+1,y|
00004870  25 29 3e 6d 61 78 6e 75  6d 25 28 78 25 2b 31 2c  |%)>maxnum%(x%+1,|
00004880  79 25 29 20 8c 20 f2 63  6f 6d 70 5f 65 78 70 6c  |y%) . .comp_expl|
00004890  6f 64 65 28 78 25 2b 31  2c 79 25 2c 70 25 29 0d  |ode(x%+1,y%,p%).|
000048a0  1a 7c 06 20 cd 0d 1a 86  0d 20 e7 20 79 25 3e 30  |.|. ..... . y%>0|
000048b0  20 8c 0d 1a 90 24 20 20  63 6f 6d 70 5f 6e 75 6d  | ....$  comp_num|
000048c0  74 68 65 72 65 25 28 78  25 2c 79 25 2d 31 29 2b  |there%(x%,y%-1)+|
000048d0  3d 6f 76 65 72 25 0d 1a  9a 23 20 20 63 6f 6d 70  |=over%...#  comp|
000048e0  5f 70 6c 61 79 65 72 74  68 65 72 65 25 28 78 25  |_playerthere%(x%|
000048f0  2c 79 25 2d 31 29 3d 70  25 0d 1a a4 4c 20 20 e7  |,y%-1)=p%...L  .|
00004900  20 63 6f 6d 70 5f 6e 75  6d 74 68 65 72 65 25 28  | comp_numthere%(|
00004910  78 25 2c 79 25 2d 31 29  3e 6d 61 78 6e 75 6d 25  |x%,y%-1)>maxnum%|
00004920  28 78 25 2c 79 25 2d 31  29 20 8c 20 f2 63 6f 6d  |(x%,y%-1) . .com|
00004930  70 5f 65 78 70 6c 6f 64  65 28 78 25 2c 79 25 2d  |p_explode(x%,y%-|
00004940  31 2c 70 25 29 0d 1a ae  06 20 cd 0d 1a b8 0d 20  |1,p%).... ..... |
00004950  e7 20 79 25 3c 37 20 8c  0d 1a c2 24 20 20 63 6f  |. y%<7 ....$  co|
00004960  6d 70 5f 6e 75 6d 74 68  65 72 65 25 28 78 25 2c  |mp_numthere%(x%,|
00004970  79 25 2b 31 29 2b 3d 6f  76 65 72 25 0d 1a cc 23  |y%+1)+=over%...#|
00004980  20 20 63 6f 6d 70 5f 70  6c 61 79 65 72 74 68 65  |  comp_playerthe|
00004990  72 65 25 28 78 25 2c 79  25 2b 31 29 3d 70 25 0d  |re%(x%,y%+1)=p%.|
000049a0  1a d6 4c 20 20 e7 20 63  6f 6d 70 5f 6e 75 6d 74  |..L  . comp_numt|
000049b0  68 65 72 65 25 28 78 25  2c 79 25 2b 31 29 3e 6d  |here%(x%,y%+1)>m|
000049c0  61 78 6e 75 6d 25 28 78  25 2c 79 25 2b 31 29 20  |axnum%(x%,y%+1) |
000049d0  8c 20 f2 63 6f 6d 70 5f  65 78 70 6c 6f 64 65 28  |. .comp_explode(|
000049e0  78 25 2c 79 25 2b 31 2c  70 25 29 0d 1a e0 06 20  |x%,y%+1,p%).... |
000049f0  cd 0d 1a ea 05 e1 0d 1a  f4 05 3a 0d 1a fe 18 dd  |..........:.....|
00004a00  20 a4 67 65 74 5f 63 6f  6d 70 67 61 6d 65 73 74  | .get_compgamest|
00004a10  61 74 65 0d 1b 08 15 20  ea 20 78 25 2c 79 25 2c  |ate.... . x%,y%,|
00004a20  70 6c 61 79 6f 6e 65 25  0d 1b 12 10 20 70 6c 61  |playone%.... pla|
00004a30  79 6f 6e 65 25 3d 2d 31  0d 1b 1c 0f 20 e3 20 78  |yone%=-1.... . x|
00004a40  25 3d 30 20 b8 20 37 0d  1b 26 10 20 20 e3 20 79  |%=0 . 7..&.  . y|
00004a50  25 3d 30 20 b8 20 37 0d  1b 30 22 20 20 20 e7 20  |%=0 . 7..0"   . |
00004a60  63 6f 6d 70 5f 6e 75 6d  74 68 65 72 65 25 28 78  |comp_numthere%(x|
00004a70  25 2c 79 25 29 3e 30 20  8c 0d 1b 3a 17 20 20 20  |%,y%)>0 ...:.   |
00004a80  20 e7 20 70 6c 61 79 6f  6e 65 25 3d 2d 31 20 8c  | . playone%=-1 .|
00004a90  0d 1b 44 2a 20 20 20 20  20 70 6c 61 79 6f 6e 65  |..D*     playone|
00004aa0  25 3d 63 6f 6d 70 5f 70  6c 61 79 65 72 74 68 65  |%=comp_playerthe|
00004ab0  72 65 25 28 78 25 2c 79  25 29 0d 1b 4e 09 20 20  |re%(x%,y%)..N.  |
00004ac0  20 20 cc 0d 1b 58 32 20  20 20 20 20 e7 20 70 6c  |  ...X2     . pl|
00004ad0  61 79 6f 6e 65 25 3c 3e  63 6f 6d 70 5f 70 6c 61  |ayone%<>comp_pla|
00004ae0  79 65 72 74 68 65 72 65  25 28 78 25 2c 79 25 29  |yerthere%(x%,y%)|
00004af0  20 8c 20 3d a3 0d 1b 62  09 20 20 20 20 cd 0d 1b  | . =...b.    ...|
00004b00  6c 08 20 20 20 cd 0d 1b  76 07 20 20 ed 0d 1b 80  |l.   ...v.  ....|
00004b10  06 20 ed 0d 1b 8a 06 3d  b9 0d 1b 94 05 3a 0d 1b  |. .....=.....:..|
00004b20  9e 1d dd 20 a4 67 65 74  5f 63 6f 6d 70 6e 75 6d  |... .get_compnum|
00004b30  73 71 75 61 72 65 73 28  70 25 29 0d 1b a8 13 20  |squares(p%).... |
00004b40  ea 20 78 25 2c 79 25 2c  63 6f 75 6e 74 25 0d 1b  |. x%,y%,count%..|
00004b50  b2 0d 20 63 6f 75 6e 74  25 3d 30 0d 1b bc 0f 20  |.. count%=0.... |
00004b60  e3 20 78 25 3d 30 20 b8  20 37 0d 1b c6 10 20 20  |. x%=0 . 7....  |
00004b70  e3 20 79 25 3d 30 20 b8  20 37 0d 1b d0 4a 20 20  |. y%=0 . 7...J  |
00004b80  20 e7 20 63 6f 6d 70 5f  70 6c 61 79 65 72 74 68  | . comp_playerth|
00004b90  65 72 65 25 28 78 25 2c  79 25 29 3d 70 25 20 80  |ere%(x%,y%)=p% .|
00004ba0  20 63 6f 6d 70 5f 6e 75  6d 74 68 65 72 65 25 28  | comp_numthere%(|
00004bb0  78 25 2c 79 25 29 3e 30  20 8c 20 63 6f 75 6e 74  |x%,y%)>0 . count|
00004bc0  25 2b 3d 31 0d 1b da 07  20 20 ed 0d 1b e4 06 20  |%+=1....  ..... |
00004bd0  ed 0d 1b ee 0b 3d 63 6f  75 6e 74 25 0d ff        |.....=count%..|
00004bde