Home » Archimedes archive » Acorn User » AU 1994-01.adf » !FigureIt_FigureIt » !FigureIt/!RunImage
!FigureIt/!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 1994-01.adf » !FigureIt_FigureIt |
Filename: | !FigureIt/!RunImage |
Read OK: | ✔ |
File size: | 721D bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM !FigureIt - Martin Goldberg 20MODE 15 30ON ERROR PROCReport:STOP 40VDU23;8202;0;0;0; 50*fx200,1 60*DIR <OBEY$DIR> 70*!PalFig 80*RoundSet 90PROCLoadSprites 100VDU5 120PROCStart 121time=TIME 130REPEAT UNTIL TIME-time>300 140PROCSetUp 150PROCMain 160*<OBEY$DIR>.!PalDef 170*<Obey$DIR>.Default 180*fx200,0 190VDU4 200CLS 210PRINTTAB(28,10)"Hope you figured it out!"'' 220END 230 240DEFPROCMain 250LOCAL mx%,my%,mst 260end=FALSE 270MOUSE ON 1 280REPEAT 290 REPEAT MOUSE mx%,my%,mst: UNTIL mst=0 300 REPEAT 310 MOUSE mx%,my%,mst 320 UNTIL mst<>0 330 IF mx%<160 PROCMenuControl(mx%,my%) 340 IF mx%>159 AND mx%<gridx%+width%*80 PROCNumGrid(mx%,my%) 350 IF mx%>gridx%+width%*80-1 PROCMove(mx%,my%) 360UNTIL end 370ENDPROC 380 390DEFPROCStart 451GCOL0,191 TINT 64:CLS 480DIMscale% 100 490scale%!8=60:scale%!12=60 510FORl%=1TO60 540 !scale%=l%:scale%!4=l% 550 SYS&2E,308,S%,"intro",640-(l%*9.666),750-(l%*1.666),0,scale% 570 WAIT 580NEXTl% 581FORy%=650 TO 400 STEP -4 582 SYS&2E,256+34,S%,"intro",60,y% 583 WAIT 584NEXTy% 610ENDPROC 620 630DEFPROCMenuControl(mx%,my%) 640LOCAL ch% 650PROCMenuChoice(curr%,mx%,my%,ch%) 660IF curr%=1 THEN 670 CASE ch% OF 680 WHEN 1: PROCUser(0):ch%=0 690 WHEN 2: PROCSeries 700 WHEN 3: PROCHelp 710 WHEN 4: PROCGames 720 WHEN 5: PROCSave(0):ch%=0 730 WHEN 6: PROCInfo 740 WHEN 7: IF FNYesNo("EXIT TO DESKTOP") THEN 750 end=TRUE 760 ENDPROC 770 ELSE 780 PROCTitle("Main Menu") 790 ENDIF 800 ENDCASE 810ENDIF 820IF curr%=2 THEN 830 flag=FALSE 840 FORi%=1 TO 4 850 IF ch%=i% THEN 860 flag(i%)=NOTflag(i%) 870 flag=TRUE 880 IF NOT flag(i%) PROCClearDots(i%):PROCOnOff 890 ENDIF 900 NEXTi% 910 IF flag PROCShowDots(0):PROCOnOff 920 CASE ch% OF 930 WHEN 5: flag(5)=NOT flag(5) 940 IF flag(5) THEN 950 PROCMultiples 960 ELSE 970 mult%=0 980 GCOL0,63 TINT 0:RECTANGLE FILL 120,400,54,40 990 PROCDrawNums 1000 ENDIF 1010 WHEN 6: curr%=1:PROCMenuSet(1) 1020 ENDCASE 1030ENDIF 1040IF curr%=3 THEN 1050 CASE ch% OF 1060 WHEN 1: PROCUser(ch%) 1070 WHEN 2: PROCUser(ch%) 1080 WHEN 3: PROCGoto 1090 WHEN 4: PROCClear 1100 WHEN 5: curr%=1:PROCMenuSet(1) 1110 ENDCASE 1120ENDIF 1130IF curr%=4 THEN 1140 IF ch%>0 AND ch%<8 PROCHelpInfo(ch%) 1150 IF ch%=8 curr%=1:PROCMenuSet(1) 1160ENDIF 1170IF curr%=5 THEN 1180 IF ch%>0 AND ch%<6 PROCSave(ch%) 1190 IF ch%=6 PROCSaveGrid 1200 IF ch%=7 PROCRange 1210 IF ch%=8 curr%=1:PROCMenuSet(1) 1220ENDIF 1230IF curr%=8 THEN 1240 IF ch%=1 comp=TRUE:curr%=6:ch%=0:PROCMenuSet(6) 1250 IF ch%=2 comp=FALSE:curr%=6:ch%=0:PROCMenuSet(6) 1260 IF ch%=3 curr%=1:PROCMenuSet(1) 1270ENDIF 1280IF curr%=6 THEN 1290 p1%=0:p2%=0 1300 CASE ch% OF 1310 WHEN 1,2,3,4: REPEAT 1320 PROCDisplay 1330 curr%=7:PROCFours(ch%) 1340 UNTIL NOT encore 1350 WHEN 5: g%=FALSE:curr%=8:PROCMenuSet(8) 1360 ENDCASE 1370 GCOL0,63 TINT 0 1380 RECTANGLE FILL 1000,400,280,250 1390ENDIF 1400IF curr%=7 THEN 1410 IF ch%=1 THEN 1420 MOVE 200,18:MOVE1000,200 1430 SYS "OS_SpriteOp",256+14,S%,"box" 1440 IF FNYesNo("Terminate Game") THEN 1450 ch%=0:curr%=6 1460 encore=FALSE 1470 ELSE 1480 SYS "OS_SpriteOp",256+34,S%,"box",200,18 1490 ch%=0 1500 ENDIF 1510 ENDIF 1520ENDIF 1530ENDPROC 1540 1550DEFPROCDisplay 1560 GCOL0,63 TINT 0 1570 RECTANGLE FILL 1000,400,280,250 1580 GCOL0,0 TINT 0 1590 MOVE 1068,600:PRINT"LEVEL ";STR$(ch%) 1600 GCOL 0,3 TINT 192 1610 MOVE 1040,550:PRINT"PLAYER 1: ";STR$(p1%) 1620 GCOL 0,12 TINT 192 1630 MOVE 1040,500 1640 IF NOT comp PRINT"PLAYER 2: ";STR$(p2%) 1650 IF comp PRINT"COMPUTER: ";STR$(p2%) 1660ENDPROC 1670 1680DEFPROCFours(gm%) 1690LOCAL pg%,f%,mx%,my%,fx%,fy%,mst,tf1,ax,ay 1700dummy=RND(-TIME) 1710g%=TRUE:win=FALSE 1720oldw%=width%:oldh%=height%:oldd%=digit%:oldn%=num1%:oldx%=xg% 1730oldy%=yg% 1740four%()=0:s%()=0:b()=0:ax=0:ay=0:pg%=1 1750width%=10:height%=10:digit%=111:num1%=1 1760PROCMenuSet(7) 1770PROCDrawGrid 1780PROCDrawNums 1790IF gm%=1 f$="2345A" 1800IF gm%=2 f$="3456789ABC" 1810IF gm%=3 f$="D3456789ABCD" 1820IF gm%=4 f$="ED3456789ABCDE" 1830REPEAT 1840 FORpg%=1TO2 1850 REPEAT MOUSE mx%,my%,mst:UNTIL mst=0 1860 IF pg%=1 OR NOT comp PROCTitle("FOURS - Player "+STR$(pg%)) 1870 IF pg%=2 AND comp PROCTitle("FOURS - My Turn") 1880 REPEAT 1890 f%=EVAL("&"+MID$(f$,RND(LEN(f$)),1)) 1900 UNTIL FNok(f%) 1910 GCOL0,0 TINT 0 1920 MOVE448,92 1930 x$="Click on " 1940 IF comp AND pg%=2 x$="Finding: " 1950 IF f%=14 PRINT x$;"a Prime Number" 1960 IF f%=13 PRINT x$;"a Square Number" 1970 IF f%<13 PRINT x$;"a multiple of ";STR$(f%) 1980 ENDIF 1990 GCOL0,3+(pg%-1)*9 TINT 192 2000 RECTANGLEFILL 300,80,40,40 2010 RECTANGLEFILL 940,80,40,40 2020 IF pg%=1 OR NOT comp THEN 2030 REPEAT 2040 tf1=FALSE 2050 REPEAT MOUSE mx%,my%,mst:UNTIL mst<>0 2060 PROCMenuControl(mx%,my%) 2070 IF curr%=6 PROCWin(0):ENDPROC 2080 PROCNumGrid(mx%,my%) 2090 fx%=(digit%-num1%) MOD width% 2100 fy%=(digit%-num1%) DIV height% 2110 IF f%<13 AND digit%/f%=INT(digit%/f%) tf1=TRUE 2120 IF f%=13 AND FNSquare(digit%) tf1=TRUE 2130 IF f%=14 AND FNPrime(digit%) tf1=TRUE 2140 UNTIL tf1 AND four%(fx%,fy%)=0 AND digit%<>111 2150 ENDIF 2160 IF pg%=2 AND comp PROCArcGo 2170 mx%=gridx%+(fx%)*80 2180 my%=gridy%-(fy%)*80 2190 GCOL0,3+(pg%-1)*9 TINT 192 2200 RECTANGLEFILL mx%+4,my%-8,72,-64 2210 four%(fx%,fy%)=pg%:b(fx%+5,fy%+5)=pg% 2220 digit%=111 2230 PROCCheck(pg%) 2240 IF win pg%=2 2250 NEXTpg% 2260UNTIL win 2270ENDPROC 2280 2290DEFPROCArcGo 2300MOUSE OFF 2310PROCScore 2320bm=-1:sc=0 2330FORi=5TO14 2340 FORj=5TO14 2350 sc=s%(j,i) 2360 digit%=num1%+j-5+(i-5)*width% 2370 IF f%<13 AND digit%/f%=INT(digit%/f%) THEN 2380 IF sc>bm AND b(j,i)=0 bm=sc:ax=j:ay=i 2390 ENDIF 2400 IF f%=13 AND FNSquare(digit%) THEN 2410 IF sc>bm AND b(j,i)=0 bm=sc:ax=j:ay=i 2420 ENDIF 2430 IF f%=14 AND FNPrime(digit%) THEN 2440 IF sc>bm AND b(j,i)=0 bm=sc:ax=j:ay=i 2450 ENDIF 2460 NEXTj 2470NEXTi 2480fx%=ax-5:fy%=ay-5 2490rx%=gridx%+fx%*80 2500ry%=gridy%-fy%*80 2510GCOL3,8 TINT 192 2520FORfla=1 TO 10 2530 RECTANGLEFILL rx%,ry%,80,-80 2540 a=INKEY(10) 2550NEXTfla 2560MOUSE ON 2570ENDPROC 2580 2590DEFPROCScore 2600LOCAL i%,j% 2610usc%=0:asc%=0 2620FORi%=5TO14 2630 FORj%=5TO14 2640 rx%=gridx%+(j%-5)*80 2650 ry%=gridy%-(i%-5)*80 2660 GCOL3,8 TINT 192 2670 RECTANGLEFILL rx%,ry%,80,-80 2680 IF b(j%,i%)=0 THEN 2690 FORc%=0TO3 2700 sc11%=0:sc21%=0:sc12%=0:sc22%=0:sc13%=0 2710 sc23%=0:sc14%=0:sc24%=0 2720 FORk%=-3+c% TO c% 2730 IF b(j%+k%,i%)=1 sc11%+=1 2740 IF b(j%+k%,i%)=2 sc21%+=1 2750 IF b(j%,i%+k%)=1 sc12%+=1 2760 IF b(j%,i%+k%)=2 sc22%+=1 2770 IF b(j%+k%,i%+k%)=1 sc13%+=1 2780 IF b(j%+k%,i%+k%)=2 sc23%+=1 2790 IF b(j%+k%,i%-k%)=1 sc14%+=1 2800 IF b(j%+k%,i%-k%)=2 sc24%+=1 2810 NEXTk% 2820 asc%+=as%(sc21%)+as%(sc22%)+as%(sc23%)+as%(sc24%) 2830 usc%+=us%(sc11%)+us%(sc12%)+us%(sc13%)+us%(sc14%) 2840 NEXTc% 2850 ENDIF 2860 RECTANGLEFILL rx%,ry%,80,-80 2870 s%(j%,i%)=usc%^2+asc%^2 2880 usc%=0:asc%=0 2890 NEXTj% 2900NEXTi% 2910ENDPROC 2920 2930DEFPROCCheck(p%) 2940LOCAL cnt%,i%,j% 2950cnt%=0 2960FORj%=0TOheight%-1 2970 FORi%=0TOwidth%-1 2980 IF four%(i%,j%)=p% THEN 2990 cnt%+=1 3000 IF cnt%=4 PROCWin(p%) 3010 ENDIF 3020 IF four%(i%,j%)<>p% cnt%=0 3030 NEXTi% 3040 cnt%=0 3050NEXTj% 3060FORi%=0TOwidth%-1 3070 FORj%=0TOheight%-1 3080 IF four%(i%,j%)=p% THEN 3090 cnt%+=1 3100 IF cnt%=4 AND NOT win PROCWin(p%) 3110 ENDIF 3120 IF four%(i%,j%)<>p% cnt%=0 3130 NEXTj% 3140 cnt%=0 3150NEXTi% 3160FORj%=0TOheight%-1 3170 FORi%=0TOwidth%-1 3180 IF i%>2 AND j%<height%-3 THEN 3190 IF four%(i%,j%)=p% AND four%(i%-1,j%+1)=p% AND four%(i%-2,j%+2)=p% AND four%(i%-3,j%+3)=p% AND NOT win THEN PROCWin(p%) 3200 ENDIF 3210 IF i%<width%-3 AND j%<height%-3 THEN 3220 IF four%(i%,j%)=p% AND four%(i%+1,j%+1)=p% AND four%(i%+2,j%+2)=p% AND four%(i%+3,j%+3)=p% AND NOT win THEN PROCWin(p%) 3230 ENDIF 3240 NEXTi% 3250NEXTj% 3260ENDPROC 3270 3280DEFFNok(fg%) 3290LOCAL i%,j%,n% 3300i%=-1:j%=0 3310IF fg%<13 THEN 3320 REPEAT 3330 IF i%=width%-1 j%+=1:i%=-1 3340 i%+=1 3350 n%=num1%+i%+j%*width% 3360 UNTIL n% MOD fg%=0 AND four%(i%,j%)=0 OR j%=height% 3370ENDIF 3380IF fg%=13 THEN 3390 REPEAT 3400 IF i%=width%-1 j%+=1:i%=-1 3410 i%+=1 3420 n%=num1%+i%+j%*width% 3430 UNTIL SQR(n%)=INT(SQR(n%)) AND four%(i%,j%)=0 OR j%=height% 3440ENDIF 3450IF fg%=14 THEN 3460 REPEAT 3470 IF i%=width%-1 j%+=1:i%=-1 3480 i%+=1 3490 n%=num1%+i%+j%*width% 3500 UNTIL FNPrime(n%) AND four%(i%,j%)=0 OR j%=height% 3510ENDIF 3520IF j%<height% =TRUE 3530IF j%=height% =FALSE 3540 3550DEFPROCWin(p%) 3560IF p%<>0 THEN 3570 PRINTCHR$(7) 3580 IF p%=1 OR NOT comp PROCTitle("**** CONGRATULATIONS ****") 3590 IF p%=2 AND comp PROCTitle("*** I WON THAT ONE!!! ***") 3600 IF p%=1 p1%+=1 ELSE p2%+=1 3610 GCOL0,3 TINT 192 3620 MOVE502,92 3630 IF p%=1 OR NOT comp PRINT "Player ";STR$(p%);" has WON!" 3640 GCOL0,3+(pg%-1)*9 TINT 192 3650 RECTANGLEFILL 300,80,40,40 3660 RECTANGLEFILL 940,80,40,40 3670 time=TIME:REPEAT UNTIL TIME-time>250 3680 PROCDisplay 3690 IF FNYesNo("Play Again") encore=TRUE ELSE encore=FALSE:curr%=6 3700ENDIF 3710win=TRUE 3720width%=oldw%:height%=oldh%:num1%=oldn% 3730xg%=oldx%:yg%=oldy%:g%=FALSE:digit%=oldd% 3740IF NOT encore THEN 3750 PROCMenuSet(6) 3760 PROCDrawGrid 3770 PROCDrawNums 3780 PROCShowDots(0) 3790ENDIF 3800ENDPROC 3810 3820DEFPROCGames 3830PROCMenuSet(8) 3840curr%=8:ch%=0 3850ENDPROC 3860 3870DEFPROCSave(st%) 3880LOCAL file%,i%,n$ 3890PROCMenuSet(5) 3900curr%=5:n$="":name$="" 3910IF st%<>0 THEN 3920 IF NOT FNYesNo("SAVE") PROCMenuSet(5):ENDPROC 3930 *DIR <OBEY$DIR> 3940 *UP 3950 name$=f$(st%) 3960 GCOL0,3 TINT 192 3970 RECTANGLEFILL 42,12,1196,132 3980 GCOL 127 TINT 192 3990 MOVE 496,92:PRINT"SAVING IN PROGRESS" 4000 file%=OPENOUT(name$) 4010 BPUT#file%,"Information" 4020 BPUT#file%,"===========" 4030 BPUT#file%,name$ 4040 BPUT#file%,"" 4050 FORi%=rmin% TO rmax% 4060 CASE st% OF 4070 WHEN 1: IF FNFibonacci(i%) PROCGeneral(i%) 4080 WHEN 2: IF FNPrime(i%) PROCGeneral(i%) 4090 WHEN 3: IF FNSquare(i%) PROCGeneral(i%) 4100 WHEN 4: IF FNTriangle(i%) PROCGeneral(i%) 4110 WHEN 5: PROCGeneral(i%) 4120 ENDCASE 4130 NEXTi% 4140 IF st%=1 THEN 4150 *SETTYPE Fibonacci FFF 4160 ENDIF 4170 IF st%=2 THEN 4180 *SETTYPE Primes FFF 4190 ENDIF 4200 IF st%=3 THEN 4210 *SETTYPE Squares FFF 4220 ENDIF 4230 IF st%=4 THEN 4240 *SETTYPE Triangles FFF 4250 ENDIF 4260 IF st%=5 THEN 4270 *SETTYPE General FFF 4280 ENDIF 4290 CLOSE#file% 4300 PROCMenuSet(5) 4310ENDIF 4320ENDPROC 4330 4340DEFFNYesNo(a$) 4350LOCAL mx%,my%,mst 4360PRINTCHR$(7) 4370PROCTitle(a$+" - "+"CONFIRM") 4380SYS "OS_SpriteOp",256+34,S%,"yes",512,20 4390SYS "OS_SpriteOp",256+34,S%,"no",690,20 4400REPEAT 4410MOUSE RECTANGLE 500,20,260,100 4420REPEAT MOUSE mx%,my%,mst:UNTIL mst=0 4430REPEAT 4440 MOUSE mx%,my%,mst 4450UNTIL mst<>0 4460MOUSE RECTANGLE 0,0,1280,1024 4470IF mx%>512 AND mx%<580 AND my%>20 AND my%<90 =TRUE 4480IF mx%>690 AND mx%<758 AND my%>20 AND my%<90 =FALSE 4490UNTIL FALSE 4500 4510DEFPROCRange 4520ok$="0123456789" 4530REPEAT 4540 PROCMenuSet(5) 4550 GCOL0,0 TINT 0:MOVE 448,108:PRINT"Current range: ";STR$(rmin%);" to ";STR$(rmax%) 4560 PROCEnter(76,ok$,3,"Enter lower value of range:",num$) 4570UNTIL VAL(num$)>0 AND VAL(num$)<1000 4580rmin%=VAL(num$) 4590REPEAT 4600 PROCMenuSet(5) 4610 GCOL0,0 TINT 0:MOVE 448,108:PRINT"Current range: ";STR$(rmin%);" to ";STR$(rmax%) 4620 PROCEnter(76,ok$,4,"Enter upper value of range:",num$) 4630UNTIL VAL(num$)>rmin% AND VAL(num$)<1001 4640rmax%=VAL(num$) 4650PROCMenuSet(5) 4660GCOL0,0 TINT 0:MOVE 448,108:PRINT"Current range: ";STR$(rmin%);" to ";STR$(rmax%) 4670ENDPROC 4680 4690DEFPROCPut(n%) 4700LOCAL add$ 4710IF LEN(n$)>70 THEN BPUT#file%,n$:n$="" 4720add$=STR$(n%) 4730WHILE LEN(add$)<>5 4740 add$=" "+add$ 4750ENDWHILE 4760n$=n$+add$ 4770ENDPROC 4780 4790DEFPROCGeneral(n1%) 4800LOCALi%,fact$ 4810n$="FACTORS: " 4820fact$="NUMBER "+STR$(n1%)+": " 4830IF FNPrime(n1%) fact$+="PRIME " 4840IF FNSquare(n1%) fact$+="SQUARE ("+STR$(INT(SQR(n1%)))+"�) " 4850IF FNTriangle(n1%) fact$+="TRIANGLE " 4860IF n1%=6 OR n1%=28 OR n1%=496 fact$+="PERFECT " 4870BPUT#file%,fact$ 4880PROCFactors(n1%,z%) 4890FORi%=1 TO z%*2-2 4900 IF LEN(n$)=5 n$=" "+n$ 4910 IF fact%(i%)<>0 PROCPut(fact%(i%)) 4920NEXTi% 4930IF n$<>"" BPUT#file%,n$ 4940IF n1%<>1 PROCPrimeFact(z%) 4950BPUT#file%,"---------------------------------------------------------------------------" 4960ENDPROC 4970 4980DEFPROCHelpInfo(ch%) 4990PROCTitle(help$(ch%,1)) 5000GCOL0,0 TINT 0 5010MOVE60,108 5020PRINThelp$(ch%,2) 5030MOVE60,76 5040PRINThelp$(ch%,3) 5050MOVE60,44 5060GCOL0,3 TINT 192 5070PRINThelp$(ch%,4) 5080ENDPROC 5090 5100DEFPROCGoto 5110LOCAL y% 5120REPEAT 5130 PROCTitle("Jump to a Number") 5140 ok$="0123456789" 5150 q$="Which number do you wish to go to (1-900) ?":y%=80 5160 PROCEnter(y%,ok$,3,q$,num$) 5170UNTIL VAL(num$)>0 AND VAL(num$)<901 OR num$="" 5180IF num$="" num$=STR$(num1%) 5190num%=VAL(num$) 5200digit%=num% 5210WHILE (num% MOD width%)<>1:num%-=1:ENDWHILE 5220num1%=num% 5230PROCDrawGrid 5240PROCDrawNums 5250PROCShowDots(0) 5260PROCTitle("Grid Options") 5270ENDPROC 5280 5290DEFPROCClear 5300flag()=FALSE:mult%=-1 5310PROCDrawGrid 5320PROCDrawNums 5330ENDPROC 5340 5350DEFPROCMultiples 5360REPEAT 5370 PROCTitle("Displaying Multiples of a Number") 5380 q$="Multiple of what number (2-99) ?" 5390 ok$="0123456789" 5400 PROCEnter(80,ok$,2,q$,num$) 5410UNTIL VAL(num$)>1 AND VAL(num$)<100 OR num$="" 5420mult%=VAL(num$) 5430IF mult%>0 PROCDrawNums ELSE flag(5)=FALSE 5440GCOL0,3 TINT 192:MOVE 130,428:PRINTnum$ 5450PROCTitle("Display Number Series") 5460ENDPROC 5470 5480DEFPROCOnOff 5490LOCALi% 5500FORi%=1 TO 4 5510 GCOL0,col%(i%) TINT tint%(i%) 5520 IF NOT flag(i%) GCOL0,191-128 TINT 0 5530 RECTANGLEFILL 140,menu%(1,i%,1)-30,16,16 5540NEXTi% 5550ENDPROC 5560 5570DEFPROCShowDots(u%) 5580LOCAL m%,i%,j%,xt%,yt%,n%,s%,h% 5590xt%=gridx%:yt%=gridy%:s%=1:h%=height% 5600IF u%=1 s%=height%:yt%=gridy%-80*(height%-1) 5610IF u%=-1 h%=1 5620FOR j%=s% TO h% 5630 FOR i%=1 TO width% 5640 n%=num1%+i%-1+(j%-1)*width% 5650 IF flag(1) THEN 5660 FORm%=1TO16 5670 IF fib%(m%)=n% THEN 5680 GCOL0,35 TINT 192 5690 RECTANGLEFILL xt%+6,yt%-8,16,-16 5700 ENDIF 5710 NEXTm% 5720 ENDIF 5730 IF flag(2) THEN 5740 IF FNPrime(n%) THEN 5750 GCOL0,3 TINT 192 5760 RECTANGLEFILL xt%+58,yt%-56,16,-16 5770 ENDIF 5780 ENDIF 5790 IF flag(3) THEN 5800 IF FNSquare(n%) THEN 5810 GCOL0,12 TINT 0 5820 RECTANGLEFILL xt%+58,yt%-8,16,-16 5830 ENDIF 5840 ENDIF 5850 IF flag(4) THEN 5860 IF FNTriangle(n%) THEN 5870 GCOL0,33 TINT 192 5880 RECTANGLEFILL xt%+6,yt%-56,16,-16 5890 ENDIF 5900 ENDIF 5910 xt%+=80 5920 NEXTi% 5930 xt%=gridx%:yt%-=80 5940NEXTj% 5950ENDPROC 5960 5970DEFPROCClearDots(fl%) 5980GCOL0,127 TINT 192 5990xt%=gridx%:yt%=gridy% 6000FOR j%=1 TO height% 6010 FOR i%=1 TO width% 6020 n%=num1%+i%-1+(j%-1)*width% 6030 IF fl%=1 THEN 6040 FORm%=1TO16 6050 IF fib%(m%)=n% THEN 6060 RECTANGLEFILL xt%+6,yt%-8,16,-16 6070 ENDIF 6080 NEXTm% 6090 ENDIF 6100 IF fl%=2 THEN 6110 IF FNPrime(n%) THEN 6120 RECTANGLEFILL xt%+58,yt%-56,16,-16 6130 ENDIF 6140 ENDIF 6150 IF fl%=3 THEN 6160 IF FNSquare(n%) THEN 6170 RECTANGLEFILL xt%+58,yt%-8,16,-16 6180 ENDIF 6190 ENDIF 6200 IF fl%=4 THEN 6210 IF FNTriangle(n%) THEN 6220 RECTANGLEFILL xt%+6,yt%-56,16,-16 6230 ENDIF 6240 ENDIF 6250 xt%+=80 6260 NEXTi% 6270 xt%=gridx%:yt%-=80 6280NEXTj% 6290ENDPROC 6300 6310DEFPROCInfo 6320LOCAL fact$,y% 6330fact$="":y%=108 6340PROCTitle("Information on Number "+STR$(digit%)) 6350GCOL0,0 TINT 0 6360PROCFactors(digit%,j%) 6370MOVE100,y%:PRINT"FACTORS: "; 6380FORi%=1TOj%*2-2 6390 IF fact%(i%)<>0 fact$+=STR$(fact%(i%))+" " 6400 IF LEN(fact$)>58 PRINTfact$:fl%=LEN(fact$):fact$="":y%=76 6410NEXTi% 6420IF y%=76 MOVE (244+fl%*16)-LEN(fact$)*16,y% 6430IF fact$<>"" PRINTfact$ 6440MOVE100,76 6450GCOL0,7 TINT 192 6460IF digit%/2=INT(digit%/2) PRINT"EVEN "; ELSE PRINT"ODD "; 6470GCOL0,48 TINT 192 6480IF FNPerfect(digit%) PRINT"PERFECT "; 6490GCOL0,3 TINT 192 6500IF FNPrime(digit%) PRINT"PRIME "; 6510GCOL0,12 TINT 0 6520IF FNSquare(digit%) PRINT"SQUARE (";STR$(INT(SQR(digit%)));"�) "; 6530GCOL0,33 TINT 192 6540IF FNTriangle(digit%) PRINT"TRIANGLE " 6550MOVE100,44 6560GCOL0,0 TINT 0 6570IF digit%<>1 PROCPrimeFact(j%) 6580ENDPROC 6590 6600DEFPROCPrimeFact(j%) 6610LOCAL k%,cnt%,d%,pfact$ 6620cnt%=1:pfact$="":d%=digit% 6630IF curr%=5 d%=n1% 6640FORk%=2TOj%*2-3 6650 IF FNPrime(fact%(k%)) pfact%(cnt%)=fact%(k%):cnt%+=1 6660NEXTk% 6670FORk%=(cnt%-1)TO1 STEP-1 6680 REPEAT 6690 IF (d% MOD pfact%(k%))=0 THEN 6700 pfact$=pfact$+STR$(pfact%(k%))+" x " 6710 d%=d%/pfact%(k%) 6720 ENDIF 6730 UNTIL (d% MOD pfact%(k%)<>0) OR d%=1 6740NEXTk% 6750pfact$=LEFT$(LEFT$(pfact$)) 6760IF curr%=1 PRINT"Prime Factors: ";pfact$ 6770IF curr%=5 BPUT#file%,"Prime Factors: "+pfact$ 6780ENDPROC 6790 6800DEFPROCUser(ch%) 6810LOCAL num$ 6820IF ch%=0 THEN 6830 PROCMenuSet(3) 6840 curr%=3 6850ENDIF 6860PROCTitle("Grid Options") 6870OK$="0123456789" 6880opt$="Width ":IF ch%=2 opt$="Height " 6890IF ch%=1 OR ch%=2 THEN 6900 REPEAT 6910 PROCTitle("Grid Options - Set "+opt$) 6920 q$="New "+opt$+" (3-10) ?" 6930 PROCEnter(80,OK$,2,q$,num$) 6940 UNTIL VAL(num$)>2 AND VAL(num$)<11 OR num$="" 6950 IF ch%=1 AND VAL(num$)<>0 THEN width%=VAL(num$) 6960 IF ch%=2 AND VAL(num$)<>0 THEN height%=VAL(num$) 6970 WHILE (num1% MOD width%)<>1:num1%-=1:ENDWHILE 6980 PROCDrawGrid 6990 PROCDrawNums 7000 PROCShowDots(0) 7010 xg%=0:yg%=0 7020ENDIF 7030PROCTitle("Grid Options") 7040ENDPROC 7050 7060DEFPROCEnter(y%,ok$,l%,ques$, RETURN word$) 7070*fx15,0 7080word$="" 7090MOUSE OFF 7100x%=640-(LEN(ques$)+l%+1)*8 7110GCOL0,0 TINT 0 7120MOVEx%,y%:PRINTques$ 7130x%+=(LEN(ques$)+l%)*16-8 7140REPEAT 7150 c$=INKEY$(5) 7160 GCOL 8 TINT 192:LINE x%,y%-36,x%+16,y%-36:GCOL0,0 TINT 0 7170 IF c$<>"" AND INSTR(ok$,c$)<>0 AND LEN(word$)<l% THEN 7180 GCOL 127 TINT 192:LINE x%,y%-36,x%+16,y%-36:GCOL0,0 TINT 0 7190 MOVE x%,y% 7200 PRINT c$ 7210 word$=word$+c$ 7220 x%+=16 7230 ENDIF 7240 IF INKEY(-113) word$="":MOUSE ON:ENDPROC 7250 IF INKEY(-90) AND LEN(word$)>0 THEN 7260 GCOL 127 TINT 192 7270 x%-=16 7280 RECTANGLEFILL x%,y%,64,-40 7290 word$=LEFT$(word$) 7300 *fx15,0 7310 GCOL0,0 TINT 0 7320 ENDIF 7330UNTIL c$=CHR$(13) 7340MOUSE ON 7350ENDPROC 7360 7370DEFPROCSeries 7380PROCMenuSet(2) 7390curr%=2:ch%=0 7400PROCOnOff 7410ENDPROC 7420 7430DEFPROCHelp 7440PROCMenuSet(4) 7450curr%=4:ch%=0 7460ENDPROC 7470 7480DEFPROCTitle(t$) 7490LOCAL l% 7500GCOL0,127 TINT 192 7510RECTANGLEFILL 42,12,1196,132 7520l%=640-LEN(t$)*8 7530GCOL0,18 TINT 192 7540MOVE l%,140 7550PRINTt$ 7560ENDPROC 7570 7580DEFPROCNumGrid(mx%,my%) 7590IF NOT(mx%>gridx% AND mx%<gridx%+width%*80 AND my%<gridy% AND my%>gridy%-height%*80) ENDPROC 7600GCOL0,0 TINT 0 7610xg%=gridx%+((digit%-num1%) MOD width%)*80 7620yg%=gridy%-((digit%-num1%) DIV width%)*80-80 7630IF digit%>=num1% AND digit%<num1%+width%*height% THEN 7640 RECTANGLE xg%,yg%,80,80 7650 GCOL0,127 TINT 192 7660 RECTANGLE xg%+2,yg%+4,76,72 7670ENDIF 7680xg%=gridx%+((mx%-gridx%) DIV 80)*80 7690yg%=gridy%-((gridy%-my%) DIV 80)*80-80 7700digit%=num1%+((mx%-gridx%) DIV 80)+width%*((gridy%-my%)DIV80) 7710IF NOT g% THEN 7720 GCOL0,18 TINT 192 7730 RECTANGLE xg%,yg%,80,80:RECTANGLE xg%+2,yg%+4,76,72 7740ENDIF 7750ENDPROC 7760 7770DEFPROCMove(mx%,my%) 7780LOCAL x1%,x2%,y1%,y2% 7790x1%=gridx%+width%*80+8:x2%=x1% 7800y1%=gridy%-48:y2%=gridy%-height%*80 7810move%=0 7820IF mx%>x1% AND mx%<x1%+48 AND my%>y1% AND my%<y1%+48 AND num1%>1 move%=-1 7830IF mx%>x2% AND mx%<x2%+48 AND my%>y2% AND my%<y2%+48 AND num1%+height%*width%<1000 move%=1 7840IF move%=1 OR move%=-1 THEN 7850 num1%+=width%*move% 7860 IF move%=1 THEN 7870 MOVE gridx%,gridy%-80:MOVEgridx%+width%*80,gridy%-80-(height%-1)*80 7880 SYS "OS_SpriteOp",256+14,S%,"box" 7890 SYS "OS_SpriteOp",256+34,S%,"box",gridx%,gridy%-(height%-1)*80,0 7900 PROCUpdate(move%) 7910 ENDIF 7920 IF move%=-1 THEN 7930 MOVE gridx%,gridy%:MOVEgridx%+width%*80,gridy%-(height%-1)*80 7940 SYS "OS_SpriteOp",256+14,S%,"box" 7950 SYS "OS_SpriteOp",256+34,S%,"box",gridx%,gridy%-(height%)*80,0 7960 PROCUpdate(move%) 7970 ENDIF 7980ENDIF 7990ENDPROC 8000 8010DEFPROCMenuChoice(men%,mx%,my%,RETURN ch%) 8020LOCAL x%,y% 8030ch%=0 8040item%=1 8050REPEAT 8060 y%=menu%(men%,item%,1) 8070 IF mx%>50 AND mx%<118 AND my%>y% AND my%<y%+68 THEN ch%=item% 8080 item%+=1 8090UNTIL ch%<>0 OR item%=10 8100ENDPROC 8110 8120DEFPROCSetUp 8130maxstack%=50 8140DIM menu%(10,9,1),fact%(100),flag(10),fib%(16),col%(4),tint%(4) 8150DIM help$(8,4),f$(6),four%(15,15),pfact%(10),da% 24000 8160DIM stack%(maxstack%),b(20,20),us%(3),as%(3),s%(20,20) 8170GCOL0,191 TINT 0:CLG 8180REM *** READ MENU DATA *** 8190FOR men%=1 TO 8 8200 cnt%=1 8210 READ y% 8220 REPEAT 8230 READ n% 8240 menu%(men%,cnt%,0)=n% 8250 menu%(men%,cnt%,1)=y%-(cnt%-1)*100 8260 cnt%+=1 8270 UNTIL n%=999 8280NEXT men% 8290REM *** Fibonacci Series *** 8300FOR i%=1 TO 16 8310 READ fib%(i%) 8320NEXTi% 8330FORi%=1TO4 8340 READ col%(i%),tint%(i%) 8350NEXTi% 8360REM *** Help Text on Series etc *** 8370FOR i%=1TO7 8380 READ help$(i%,1),help$(i%,2),help$(i%,3),help$(i%,4) 8390NEXTi% 8400FORi%=1TO5 8410 READ f$(i%) 8420NEXTi% 8430PROCMenuSet(1) 8440SYS "OS_SpriteOp",256+34,S%,"title",1032,700,0 8450REM *** GLOBAL VARIABLES *** 8460maxnum%=1000:width%=10:height%=10:num1%=1:curr%=1:xg%=0:yg%=0 8470digit%=1:flag()=FALSE:mult%=-1:rmin%=1:rmax%=100:g%=FALSE 8480gridx%=180:gridy%=960:encore=FALSE 8490us%(1)=11:us%(2)=70:us%(3)=1000:as%(1)=18:as%(2)=120:as%(3)=10000 8500PROCDrawGrid 8510PROCDrawNums 8520GCOL0,0 TINT 0 8530RECTANGLE 40,8,1200,140 8540ENDPROC 8550 8560DEFPROCUpdate(m%) 8570LOCALx%,y%,h% 8580h%=1 8590x%=gridx%:y%=gridy%-80 8600IF m%=1 THEN 8610 y%=gridy%-height%*80 8620 h%=height% 8630ENDIF 8640GCOL0,127 TINT 192 8650RECTANGLEFILL x%,y%,80*width%,80 8660GCOL0,0 TINT 0 8670FORi%=1TOwidth% 8680 RECTANGLE x%+(i%-1)*80,y%,80,80 8690NEXTi% 8700x%+=40:y%+=52 8710FORi%=1TOwidth% 8720 num%=num1%+i%+(h%-1)*width%-1 8730 IF mult%>0 THEN 8740 IF (num% MOD mult%)=0 GCOL0,48 TINT 0 8750 ENDIF 8760 xp%=x%-(LEN(STR$(num%))*16)/2 8770 MOVExp%,y% 8780 PRINTSTR$(num%) 8790 GCOL0,0 TINT 0 8800 x%+=80 8810NEXTi% 8820PROCShowDots(m%) 8830IF digit%>=num1% AND digit%<num1%+width% AND m%=-1 THEN 8840 x%=gridx%+((digit%-num1%) MOD width%)*80 8850 y%=gridy%-80 8860 GCOL0,18 TINT 192 8870 RECTANGLE x%,y%,80,80:RECTANGLE x%+2,y%+4,76,72 8880ENDIF 8890IF digit%>=num1%+(height%-1)*width% AND digit%<num1%+height%*width% AND m%=1 THEN 8900 x%=gridx%+((digit%-num1%) MOD width%)*80 8910 y%=gridy%-height%*80 8920 GCOL0,18 TINT 192 8930 RECTANGLE x%,y%,80,80:RECTANGLE x%+2,y%+4,76,72 8940ENDIF 8950ENDPROC 8960 8970DEFPROCDrawNums 8980LOCAL num%,i%,j%,x%,y% 8990GCOL0,0 TINT 0 9000x%=gridx%+40:y%=gridy%-28 9010FORj%=1TOheight% 9020 FORi%=1TOwidth% 9030 num%=num1%+i%+(j%-1)*width%-1 9040 IF mult%>0 THEN 9050 IF (num% MOD mult%)=0 AND NOT g% GCOL0,48 TINT 0 9060 ENDIF 9070 IF mult%=0 GCOL0,0 TINT 0 9080 xp%=x%-(LEN(STR$(num%))*16)/2 9090 MOVExp%,y% 9100 PRINTSTR$(num%) 9110 GCOL0,0 TINT 0 9120 x%+=80 9130 NEXTi% 9140 x%=gridx%+40 9150 y%-=80 9160NEXTj% 9170IF digit%>=num1% AND digit%<num1%+height%*width% THEN 9180 x%=gridx%+((digit%-num1%) MOD width%)*80 9190 y%=gridy%-((digit%-num1%) DIV width%)*80-80 9200 GCOL0,18 TINT 192 9210 RECTANGLE x%,y%,80,80:RECTANGLE x%+2,y%+4,76,72 9220ENDIF 9230ENDPROC 9240 9250DEFPROCDrawGrid 9260LOCAL x%,y% 9270GCOL0,191-128 TINT 0 9280RECTANGLEFILL 180,960,860,-800 9290GCOL0,127 TINT 192 9300gridx%=580-(width%*80)/2 9310gridy%=560+(height%*80)/2 9320RECTANGLEFILL gridx%,gridy%,width%*80,-height%*80 9330GCOL0,0 TINT 0 9340y%=gridy%-80 9350FORi%=1TOheight% 9360 FOR x%=1 TO width% 9370 RECTANGLE gridx%+(x%-1)*80,y%,80,80 9380 NEXTx% 9390 y%-=80 9400NEXTi% 9410IF NOT g% THEN 9420 SYS "OS_SpriteOp",256+34,S%,"up",gridx%+width%*80+8,gridy%-48,0 9430 SYS "OS_SpriteOp",256+34,S%,"down",gridx%+width%*80+8,gridy%-height%*80,0 9440ENDIF 9450ENDPROC 9460 9470DEFPROCMenuSet(m%) 9480LOCAL cnt%,x%,y%,icon$ 9490GCOL0,191-128 TINT 0 9500RECTANGLEFILL 40,160,130,900 9510cnt%=1:x%=50 9520WHILE menu%(m%,cnt%,0)<>999 9530 icon$=STR$(menu%(m%,cnt%,0)) 9540 y%=menu%(m%,cnt%,1) 9550 SYS "OS_SpriteOp",256+34,S%,icon$,x%,y%,0 9560 cnt%+=1 9570ENDWHILE 9580CASE m% OF 9590 WHEN 1: PROCTitle("Main Menu") 9600 WHEN 2: PROCTitle("Display Number Series") 9610 IF flag(5) THEN 9620 GCOL0,3 TINT 192 9630 MOVE 130,428 9640 PRINTSTR$(mult%) 9650 ENDIF 9660 WHEN 4: PROCTitle("Helpful Information") 9670 WHEN 5: PROCTitle("Information Saving") 9680 GCOL0,0 TINT 0 9690 MOVE 448,108 9700 PRINT"Current range: ";STR$(rmin%);" to ";STR$(rmax%) 9710 WHEN 6: PROCTitle("Games Menu") 9720ENDCASE 9730ENDPROC 9740 9750DEFPROCLoadSprites 9760COLOUR 127 TINT 192 9770PRINTTAB(30,14)"Loading - Please wait" 9780s$="Sprites" 9790file%=OPENIN(s$) 9800L%=EXT#file%+64 9810CLOSE#file% 9820DIM S% L%+100*1024 9830S%!0=L%+100*1024 9840SYS "OS_SpriteOp",256+9,S% 9850SYS "OS_SpriteOp",256+10,S%,s$ 9860ENDPROC 9870 9880REM *** Maths Stuff *** 9890 9900DEFFNPrime(num%) 9910LOCALsq,i% 9920sq=SQR(num%) 9930tf=TRUE 9940i%=3 9950IF (num%/2)=INT(num%/2) tf=FALSE 9960WHILE tf AND i%<=sq 9970 IF (num%/i%)=INT(num%/i%) tf=FALSE 9980 i%+=2 9990ENDWHILE 10000IF num%=2 tf=TRUE 10010IF num%=1 tf=FALSE 10020=tf 10030: 10040DEFPROCFactors(num%,RETURN j%) 10050LOCALi% 10060j%=1:fact%()=0 10070IF num%=1 fact%(1)=1:ENDPROC 10080IF FNPrime(num%) THEN fact%(1)=1:fact%(2)=num%:j%+=1:ENDPROC 10090i%=1 10100sq%=SQR(num%) 10110REPEAT 10120 IF (num%/i%)=INT(num%/i%) fact%(j%)=i%:j%+=1 10130 i%+=1 10140UNTIL i%>sq% 10150off%=0 10160FORi%=1TOj%-1 10170 fact%(j%+i%+off%)=num%/fact%(j%-i%) 10180 IF fact%(j%+i%)=SQR(num%) off%=-1 10190NEXTi% 10200j%+=1 10210ENDPROC 10220: 10230DEFFNPerfect(num%) 10240LOCALi% 10250tf=FALSE:tot%=0 10260FORi%=1TOj%*2-2:tot%=tot%+fact%(i%):NEXTi% 10270IFtot%=2*num% THEN tf=TRUE 10280=tf 10290: 10300DEFFNSquare(num%) 10310tf=FALSE 10320IF SQR(num%)=INT(SQR(num%)) tf=TRUE 10330=tf 10340: 10350DEFFNFibonacci(num%) 10360LOCAL i% 10370tf=FALSE 10380FOR i%=1 TO 16 10390 IF fib%(i%)=num% tf=TRUE:i%=16 10400NEXTi% 10410=tf 10420 10430DEFFNTriangle(num%) 10440LOCALi% 10450tf=FALSE 10460i%=1:tot%=0 10470REPEAT 10480 tot%+=i% 10490 i%+=1 10500 IF tot%=num% THEN tf=TRUE 10510UNTIL tf OR tot%>num% 10520=tf 10530 10540REM *** Menu Data *** 10550DATA 830,1,2,3,5,6,7,8,999 10560DATA 780,9,10,11,12,15,16,999 10570DATA 730,17,18,20,19,16,999 10580DATA 880,9,10,11,12,14,13,4,16,999 10590DATA 880,9,10,11,12,7,1,21,16,999 10600DATA 730,24,25,26,27,16,999 10610DATA 530,16,999 10620DATA 630,29,28,16,999 10630 10640REM *** Fibonnaci Series Cheat *** 10650DATA 1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987 10660 10670REM *** Dot Data *** 10680DATA 35,192,3,192,12,0,33,192 10690 10700REM *** Helpful Information *** 10710DATA "FIBONACCI SERIES" 10720DATA "Each number in the Fibonacci Series is produced by adding together" 10730DATA "the two previous numbers in the series." 10740DATA "eg) 1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987" 10750 10760DATA "PRIME NUMBERS" 10770DATA "The definition of a PRIME number is any whole number greater then 1, that" 10780DATA "can only be divided by itself and 1." 10790DATA "eg) 13 can only be divided by 13 and 1 without a remainder" 10800 10810DATA "SQUARE NUMBERS" 10820DATA "A number is 'square' if 2 identical whole numbers can be multiplied" 10830DATA "together to produce this number." 10840DATA "eg) 25 is square as 5x5=25 (This can be written 5�=25)" 10850 10860DATA "TRIANGLE NUMBERS" 10870DATA "A triangle number is formed by adding together successive numbers" 10880DATA "starting from the number 1." 10890DATA "eg) The 5th triangle number is 15 because 1+2+3+4+5=15" 10900 10910DATA "EVEN NUMBERS" 10920DATA "An even number is any number that can be divided by 2 without" 10930DATA "leaving any remainder." 10940DATA "eg) 16 is even as 16�2=8 with NO remainder" 10950 10960DATA "ODD NUMBERS" 10970DATA "An odd number is any number that when divided by 2 always leaves a" 10980DATA "remainder of 1." 10990DATA "eg) 19 is odd as 19�2=9 remainder 1" 11000 11010DATA "PERFECT NUMBERS" 11020DATA "A perfect number is one where all its factors (excluding the number" 11030DATA "itself) when added together equals the number." 11040DATA "eg) 28 is perfect as 1+2+4+7+14=28" 11050DATA "Fibonacci","Primes","Squares","Triangles","General" 11060 11070REM *** DrawFile Saving Routines etc.. *** 11080 11090DEFPROCSaveGrid 11100*DIR<OBEY$DIR> 11110*UP 11120draw_p%=da% 11130IF NOT FNYesNo("SAVE GRID") PROCMenuSet(5):ENDPROC 11140PROCstartdraw 11150PROCstartgroup("line") 11160GCOL0,3 TINT 192 11170RECTANGLEFILL 42,12,1196,132 11180GCOL 127 TINT 192 11190MOVE 520,92:PRINT"SAVING DRAWFILE" 11200PROCbox 11210PROCmarks 11220PROCendgroup 11230PROCenddraw 11240file$=STR$(num1%)+"-"+STR$(num1%+width%*height%-1) 11250PROCsave_draw(file$) 11260PROCMenuSet(5) 11270ENDPROC 11280 11290DEF PROCbox 11300LOCAL tx%,ty%,t$ 11310xw%=width%:yw%=height% 11320PROCstartpath(0,2512,-1,&FF,1) 11330FORi%=0TOyw%*100 STEP 100 11340 PROCpm(0,i%) 11350 PROCpp(xw%*100,i%) 11360NEXTi% 11370FORi%=0 TO xw%*100 STEP 100 11380 PROCpm(i%,yw%*100) 11390 PROCpp(i%,0) 11400NEXTi% 11410PROCendpath 11420FORj%=1TOyw% 11430 FORi%=1TOxw% 11440 t$=STR$(num1%+i%-1+(j%-1)*xw%) 11450 tx%=(i%*100-50-LEN(t$)*8)*200+50000 11460 ty%=(yw%*100-42)*200 11470 IF mult%>0 THEN 11480 IF (VAL(t$) MOD mult%)=0 THEN 11490 PROCtextl(tx%,ty%,8000,FNcolour(6),t$) 11500 ELSE 11510 PROCtextl(tx%,ty%,8000,&FF,t$) 11520 ENDIF 11530 ELSE 11540 PROCtextl(tx%,ty%,8000,&FF,t$) 11550 ENDIF 11560 NEXTi% 11570 yw%-=1 11580NEXTj% 11590yw%=height% 11600ENDPROC 11610 11620DEFPROCmarks 11630FORj%=1TOyw% 11640 FORi%=1TOxw% 11650 tx%=i%*100-85 11660 ty%=yw%*100+10 11670 n%=num1%+i%-1+(j%-1)*width% 11680 IF flag(2) AND FNPrime(n%) THEN 11690 PROCcircle(tx%+70,ty%-70,10,FNcolour(1),FNcolour(1),1) 11700 ENDIF 11710 IF flag(1) AND FNFibonacci(n%) THEN 11720 PROCcircle(tx%,ty%,10,FNcolour(2),FNcolour(2),1) 11730 ENDIF 11740 IF flag(3) AND FNSquare(n%) THEN 11750 PROCcircle(tx%+70,ty%,10,FNcolour(3),FNcolour(3),1) 11760 ENDIF 11770 IF flag(4) AND FNTriangle(n%) THEN 11780 PROCcircle(tx%,ty%-70,10,FNcolour(4),FNcolour(4),1) 11790 ENDIF 11800 NEXTi% 11810 yw%-=1 11820NEXTj% 11830tx%=(width%*100+100)*200+50000:hy%=50 11840IF flag(1) THEN 11850 t$="FIBONACCI" 11860 ty%=hy%*200 11870 PROCtextl(tx%,ty%,8000,&FF,t$) 11880 PROCcircle(width%*100+50,hy%+20,10,FNcolour(2),FNcolour(2),1) 11890 hy%+=50 11900ENDIF 11910IF flag(2) THEN 11920 t$="PRIME" 11930 ty%=hy%*200 11940 PROCtextl(tx%,ty%,8000,&FF,t$) 11950 PROCcircle(width%*100+50,hy%+20,10,FNcolour(1),FNcolour(1),1) 11960 hy%+=50 11970ENDIF 11980IF flag(3) THEN 11990 t$="SQUARE" 12000 ty%=hy%*200 12010 PROCtextl(tx%,ty%,8000,&FF,t$) 12020 PROCcircle(width%*100+50,hy%+20,10,FNcolour(3),FNcolour(3),1) 12030 hy%+=50 12040ENDIF 12050IF flag(4) THEN 12060 t$="TRIANGLE" 12070 ty%=hy%*200 12080 PROCtextl(tx%,ty%,8000,&FF,t$) 12090 PROCcircle(width%*100+50,hy%+20,10,FNcolour(4),FNcolour(4),1) 12100ENDIF 12110ENDPROC 12120 12130DEF PROCpm(x%,y%) 12140IF x% >=0 AND x% <= 1280 AND y% >= -200 AND y% <= 1200 THEN 12150 PROCmt(50000+x%*200,5000+y%*200) 12160 move% = FALSE 12170ENDIF 12180ENDPROC 12190 12200DEF PROCpp(x%,y%) 12210 move% = FALSE 12220 IF y% > -150 AND y% < 1100 AND x% >=0 AND x% <= 1280 THEN 12230 PROCdrawto(50000+x%*200,5000+y%*200) 12240 ELSE 12250 move% = TRUE 12260 ENDIF 12270ENDPROC 12280 12290DEFPROCpush(P%) 12300IFstack%>=maxstack%:ERROR99,"MathGraph stack full" 12310stack%(stack%)=P% 12320stack%+=1 12330ENDPROC 12340 12350DEFPROCpull(RETURN P%) 12360IFstack%<=0:ERROR99,"MathGraph stack empty" 12370stack%-=1 12380P%=stack%(stack%) 12390ENDPROC 12400 12410DEFPROCstartobj(T%) 12420LOCALP% 12430P%=draw_p% 12440PROCpush(P%) 12450!P%=T%:P%!4=0:P%!8=0:P%!12=0:P%!16=0:P%!20=0:draw_p%+=24 12460ENDPROC 12470 12480DEFPROCendobj 12490LOCALP% 12500PROCpull(P%) 12510P%!4=draw_p%-P% 12520IFP%!8<da%!24da%!24=P%!8 12530IFP%!12<da%!28da%!28=P%!12 12540IFP%!16>da%!32da%!32=P%!16 12550IFP%!20>da%!36da%!36=P%!20 12560ENDPROC 12570 12580DEFPROCstartdraw 12590$da%="Draw":da%!4=201:da%!8=0 12600$(da%+12)="!Graph " 12610da%!24=0:da%!28=0:da%!32=230400 12620da%!36=184320:dstt%=da%:draw_p%=da%+40 12630stack%=0 12640ENDPROC 12650 12660DEFPROCenddraw 12670IFstack%<>0 ERROR99,"The drawing has gone wrong" 12680dend%=draw_p%-4 12690ENDPROC 12700 12710DEFPROCstartgroup(T$) 12720PROCstartobj(6) 12730$draw_p%=LEFT$(T$+STRING$(12," "),12) 12740draw_p%+=12 12750ENDPROC 12760 12770DEFPROCendgroup 12780PROCendobj 12790ENDPROC 12800 12810DEFPROCtextl(X%,Y%,H%,C%,A$) 12820PROCstartobj(1) 12830!draw_p%=C%:draw_p%!4=&FFFFFF00:draw_p%!8=0:draw_p%+=12:!draw_p%=H%DIV2 12840draw_p%!4=H%:draw_p%+=8:!draw_p%=X%:draw_p%!4=Y%:draw_p%+=8 12850H%=4-LENA$MOD4:$draw_p%=A$+STRING$(H%,CHR$0):draw_p%+=LENA$+H% 12860PROCendobj 12870ENDPROC 12880 12890DEFPROCstartpath(X%,Y%,fillcol%,linecol%,linethick%) 12900PROCstartobj(2) 12910!draw_p%=fillcol%:draw_p%!4=linecol%:draw_p%+=8 12920!draw_p%=linethick%:draw_p%!4=2^6:draw_p%+=8:!draw_p%=2 12930draw_p%!4=X%:draw_p%!8=Y%:draw_p%+=12 12940ENDPROC 12950 12960DEFPROCdrawto(X%,Y%) 12970!draw_p%=8:draw_p%!4=X%:draw_p%!8=Y%:draw_p%+=12 12980ENDPROC 12990 13000DEFPROCmt(X%,Y%) 13010!draw_p%=2:draw_p%!4=X%:draw_p%!8=Y%:draw_p%+=12 13020ENDPROC 13030 13040DEFPROCendpath 13050!draw_p%=0:draw_p%+=4:PROCendobj 13060ENDPROC 13070 13080DEFPROCclosepath 13090!draw_p%=5:draw_p%+=4:PROCendpath 13100ENDPROC 13110 13120DEFPROCsave_draw(name$) 13130LOCALT% 13140OSCLI"Save "+name$+" "+STR$~da%+" "+STR$~(dend%+4) 13150OSCLI"Settype "+name$+" AFF" 13160ENDPROC 13170 13180DEF FNcolour(value%) 13190CASE value% OF 13200 WHEN 1 : =&CC00 13210 WHEN 2 : =&DD0000 13220 WHEN 3 : =&EEEEBB 13230 WHEN 4 : =&558800 13240 WHEN 5 : =&FFBB00 13250 WHEN 6 : =&FF00AA 13260ENDCASE 13270END 13280 13290DEFPROCbezier(X%,Y%,x1%,y1%,x2%,y2%) 13300!draw_p%=6:draw_p%!4=x1%:draw_p%!8=y1%:draw_p%+=12 13310!draw_p%=x2%:draw_p%!4=y2%:draw_p%+=8 13320!draw_p%=X%:draw_p%!4=Y%:draw_p%+=8 13330ENDPROC 13340 13350DEFPROCcircle(X%,Y%,R%,fillcol%,linecol%,linethick%) 13360LOCALf 13370f=SINRAD33.3333333 13380X%=X%*200+50000 13390Y%=Y%*200 13400R%=R%*200 13410PROCstartpath(X%,Y%+R%,fillcol%,linecol%,linethick%) 13420PROCbezier(X%-R%,Y%,X%-R%*f,Y%+R%,X%-R%,Y%+R%*f) 13430PROCbezier(X%,Y%-R%,X%-R%,Y%-R%*f,X%-R%*f,Y%-R%) 13440PROCbezier(X%+R%,Y%,X%+R%*f,Y%-R%,X%+R%,Y%-R%*f) 13450PROCbezier(X%,Y%+R%,X%+R%,Y%+R%*f,X%+R%*f,Y%+R%) 13460PROCclosepath 13470ENDPROC 13480 13490REM *** ERROR ROUTINE *** 13500DEFPROCReport 13510CLS 13520VDU 5 13530PRINT "SYSTEM DIAGNOSTIC ERROR"' 13540PRINT "AT LINE ";ERL 13550PRINT 'REPORT$ 13560ENDPROC
!� !FigureIt - Martin Goldberg � 15 � � �Report:� (�23;8202;0;0;0; 2*fx200,1 <*DIR <OBEY$DIR> F*!PalFig P *RoundSet Z�LoadSprites d�5 x �Start y time=� �� � �-time>300 � �SetUp � �Main �*<OBEY$DIR>.!PalDef �*<Obey$DIR>.Default �*fx200,0 ��4 �� �(�28,10)"Hope you figured it out!"'' �� � � ��Main �� mx%,my%,mst end=� ȗ � 1 � " � ȗ mx%,my%,mst: � mst=0 , � 6 ȗ mx%,my%,mst @ � mst<>0 J% � mx%<160 �MenuControl(mx%,my%) T8 � mx%>159 � mx%<gridx%+width%*80 �NumGrid(mx%,my%) ^- � mx%>gridx%+width%*80-1 �Move(mx%,my%) h � end r� | ���Start ��0,191 Ȝ 64:� ��scale% 100 �scale%!8=60:scale%!12=60 ��l%=1�60 !scale%=l%:scale%!4=l% &A ș&2E,308,S%,"intro",640-(l%*9.666),750-(l%*1.666),0,scale% : Ȗ D�l% E�y%=650 � 400 � -4 F# ș&2E,256+34,S%,"intro",60,y% G Ȗ H�y% b� l v��MenuControl(mx%,my%) � � ch% �"�MenuChoice(curr%,mx%,my%,ch%) �� curr%=1 � � Ȏ ch% � � � 1: �User(0):ch%=0 � � 2: �Series � � 3: �Help � � 4: �Games � � 5: �Save(0):ch%=0 � � 6: �Info �* � 7: � �YesNo("EXIT TO DESKTOP") � � end=� � � � % �Title("Main Menu") � � *� 4� curr%=2 � > flag=� H �i%=1 � 4 R � ch%=i% � \ flag(i%)=�flag(i%) f flag=� p, � � flag(i%) �ClearDots(i%):�OnOff z � � �i% � � flag �ShowDots(0):�OnOff � Ȏ ch% � � � 5: flag(5)=� flag(5) � � flag(5) � � �Multiples � � � mult%=0 �0 �0,63 Ȝ 0:ȓ Ȑ 120,400,54,40 � �DrawNums � � � � 6: curr%=1:�MenuSet(1) � � � � curr%=3 � Ȏ ch% � $ � 1: �User(ch%) . � 2: �User(ch%) 8 � 3: �Goto B � 4: �Clear L � 5: curr%=1:�MenuSet(1) V � `� j� curr%=4 � t$ � ch%>0 � ch%<8 �HelpInfo(ch%) ~! � ch%=8 curr%=1:�MenuSet(1) �� �� curr%=5 � � � ch%>0 � ch%<6 �Save(ch%) � � ch%=6 �SaveGrid � � ch%=7 �Range �! � ch%=8 curr%=1:�MenuSet(1) �� �� curr%=8 � �. � ch%=1 comp=�:curr%=6:ch%=0:�MenuSet(6) �. � ch%=2 comp=�:curr%=6:ch%=0:�MenuSet(6) �! � ch%=3 curr%=1:�MenuSet(1) �� � curr%=6 � p1%=0:p2%=0 Ȏ ch% � � 1,2,3,4: � ( �Display 2+ curr%=7:�Fours(ch%) < � � encore F% � 5: g%=�:curr%=8:�MenuSet(8) P � Z �0,63 Ȝ 0 d ȓ Ȑ 1000,400,280,250 n� x� curr%=7 � � � ch%=1 � � � 200,18:�1000,200 �( ș "OS_SpriteOp",256+14,S%,"box" �$ � �YesNo("Terminate Game") � � ch%=0:curr%=6 � encore=� � � �1 ș "OS_SpriteOp",256+34,S%,"box",200,18 � ch%=0 � � � � �� �� ��Display �0,63 Ȝ 0 " ȓ Ȑ 1000,400,280,250 , �0,0 Ȝ 0 6! � 1068,600:�"LEVEL ";�(ch%) @ � 0,3 Ȝ 192 J% � 1040,550:�"PLAYER 1: ";�(p1%) T � 0,12 Ȝ 192 ^ � 1040,500 h# � � comp �"PLAYER 2: ";�(p2%) r! � comp �"COMPUTER: ";�(p2%) |� � ���Fours(gm%) �*� pg%,f%,mx%,my%,fx%,fy%,mst,tf1,ax,ay �dummy=�(-�) �g%=�:win=� �Aoldw%=width%:oldh%=height%:oldd%=digit%:oldn%=num1%:oldx%=xg% � oldy%=yg% �*four%()=0:s%()=0:b()=0:ax=0:ay=0:pg%=1 �+width%=10:height%=10:digit%=111:num1%=1 ��MenuSet(7) � �DrawGrid � �DrawNums �� gm%=1 f$="2345A" � gm%=2 f$="3456789ABC" � gm%=3 f$="D3456789ABCD" � gm%=4 f$="ED3456789ABCDE" &� 0 �pg%=1�2 : � ȗ mx%,my%,mst:� mst=0 D9 � pg%=1 � � comp �Title("FOURS - Player "+�(pg%)) N0 � pg%=2 � comp �Title("FOURS - My Turn") X � b# f%=�("&"+�f$,�(�(f$)),1)) l � �ok(f%) v �0,0 Ȝ 0 � �448,92 � x$="Click on " �% � comp � pg%=2 x$="Finding: " �% � f%=14 � x$;"a Prime Number" �& � f%=13 � x$;"a Square Number" �+ � f%<13 � x$;"a multiple of ";�(f%) � � � �0,3+(pg%-1)*9 Ȝ 192 � ȓȐ 300,80,40,40 � ȓȐ 940,80,40,40 � � pg%=1 � � comp � � � � tf1=� # � ȗ mx%,my%,mst:� mst<>0 �MenuControl(mx%,my%) � curr%=6 �Win(0):� �NumGrid(mx%,my%) *% fx%=(digit%-num1%) � width% 4& fy%=(digit%-num1%) � height% >0 � f%<13 � digit%/f%=�(digit%/f%) tf1=� H) � f%=13 � �Square(digit%) tf1=� R( � f%=14 � �Prime(digit%) tf1=� \. � tf1 � four%(fx%,fy%)=0 � digit%<>111 f � p � pg%=2 � comp �ArcGo z mx%=gridx%+(fx%)*80 � my%=gridy%-(fy%)*80 � �0,3+(pg%-1)*9 Ȝ 192 � ȓȐ mx%+4,my%-8,72,-64 �- four%(fx%,fy%)=pg%:b(fx%+5,fy%+5)=pg% � digit%=111 � �Check(pg%) � � win pg%=2 � �pg% � � win �� � ���ArcGo �ȗ � �Score bm=-1:sc=0 �i=5�14 $ �j=5�14 . sc=s%(j,i) 8% digit%=num1%+j-5+(i-5)*width% B* � f%<13 � digit%/f%=�(digit%/f%) � L, � sc>bm � b(j,i)=0 bm=sc:ax=j:ay=i V � `# � f%=13 � �Square(digit%) � j, � sc>bm � b(j,i)=0 bm=sc:ax=j:ay=i t � ~" � f%=14 � �Prime(digit%) � �, � sc>bm � b(j,i)=0 bm=sc:ax=j:ay=i � � � �j ��i �fx%=ax-5:fy%=ay-5 �rx%=gridx%+fx%*80 �ry%=gridy%-fy%*80 ��3,8 Ȝ 192 ��fla=1 � 10 � ȓȐ rx%,ry%,80,-80 � a=�(10) ��fla ȗ � � ��Score (� i%,j% 2usc%=0:asc%=0 <�i%=5�14 F �j%=5�14 P rx%=gridx%+(j%-5)*80 Z ry%=gridy%-(i%-5)*80 d �3,8 Ȝ 192 n ȓȐ rx%,ry%,80,-80 x � b(j%,i%)=0 � � �c%=0�3 �3 sc11%=0:sc21%=0:sc12%=0:sc22%=0:sc13%=0 �# sc23%=0:sc14%=0:sc24%=0 � �k%=-3+c% � c% �& � b(j%+k%,i%)=1 sc11%+=1 �& � b(j%+k%,i%)=2 sc21%+=1 �& � b(j%,i%+k%)=1 sc12%+=1 �& � b(j%,i%+k%)=2 sc22%+=1 �) � b(j%+k%,i%+k%)=1 sc13%+=1 �) � b(j%+k%,i%+k%)=2 sc23%+=1 �) � b(j%+k%,i%-k%)=1 sc14%+=1 �) � b(j%+k%,i%-k%)=2 sc24%+=1 � �k% = asc%+=as%(sc21%)+as%(sc22%)+as%(sc23%)+as%(sc24%) = usc%+=us%(sc11%)+us%(sc12%)+us%(sc13%)+us%(sc14%) �c% " � , ȓȐ rx%,ry%,80,-80 6 s%(j%,i%)=usc%^2+asc%^2 @ usc%=0:asc%=0 J �j% T�i% ^� h r��Check(p%) |� cnt%,i%,j% � cnt%=0 ��j%=0�height%-1 � �i%=0�width%-1 � � four%(i%,j%)=p% � � cnt%+=1 � � cnt%=4 �Win(p%) � � �! � four%(i%,j%)<>p% cnt%=0 � �i% � cnt%=0 ��j% ��i%=0�width%-1 � �j%=0�height%-1 � four%(i%,j%)=p% � cnt%+=1 # � cnt%=4 � � win �Win(p%) & � 0! � four%(i%,j%)<>p% cnt%=0 : �j% D cnt%=0 N�i% X�j%=0�height%-1 b �i%=0�width%-1 l � i%>2 � j%<height%-3 � vp � four%(i%,j%)=p% � four%(i%-1,j%+1)=p% � four%(i%-2,j%+2)=p% � four%(i%-3,j%+3)=p% � � win � �Win(p%) � � �& � i%<width%-3 � j%<height%-3 � �p � four%(i%,j%)=p% � four%(i%+1,j%+1)=p% � four%(i%+2,j%+2)=p% � four%(i%+3,j%+3)=p% � � win � �Win(p%) � � � �i% ��j% �� � � ݤok(fg%) �� i%,j%,n% �i%=-1:j%=0 �� fg%<13 � � � ! � i%=width%-1 j%+=1:i%=-1 i%+=1 n%=num1%+i%+j%*width% 0 � n% � fg%=0 � four%(i%,j%)=0 � j%=height% *� 4� fg%=13 � > � H! � i%=width%-1 j%+=1:i%=-1 R i%+=1 \ n%=num1%+i%+j%*width% f4 � �(n%)=�(�(n%)) � four%(i%,j%)=0 � j%=height% p� z� fg%=14 � � � �! � i%=width%-1 j%+=1:i%=-1 � i%+=1 � n%=num1%+i%+j%*width% �0 � �Prime(n%) � four%(i%,j%)=0 � j%=height% �� �� j%<height% =� �� j%=height% =� � � ��Win(p%) � � p%<>0 � � �(7) �9 � p%=1 � � comp �Title("**** CONGRATULATIONS ****") 7 � p%=2 � comp �Title("*** I WON THAT ONE!!! ***") � p%=1 p1%+=1 � p2%+=1 �0,3 Ȝ 192 $ �502,92 .3 � p%=1 � � comp � "Player ";�(p%);" has WON!" 8 �0,3+(pg%-1)*9 Ȝ 192 B ȓȐ 300,80,40,40 L ȓȐ 940,80,40,40 V time=�:� � �-time>250 ` �Display j8 � �YesNo("Play Again") encore=� � encore=�:curr%=6 t� ~ win=� �*width%=oldw%:height%=oldh%:num1%=oldn% �)xg%=oldx%:yg%=oldy%:g%=�:digit%=oldd% �� � encore � � �MenuSet(6) � �DrawGrid � �DrawNums � �ShowDots(0) �� �� � ���Games ��MenuSet(8) curr%=8:ch%=0 � ��Save(st%) (� file%,i%,n$ 2�MenuSet(5) <curr%=5:n$="":name$="" F� st%<>0 � P& � � �YesNo("SAVE") �MenuSet(5):� Z *DIR <OBEY$DIR> d *UP n name$=f$(st%) x �0,3 Ȝ 192 � ȓȐ 42,12,1196,132 � � 127 Ȝ 192 �$ � 496,92:�"SAVING IN PROGRESS" � file%=�(name$) � �#file%,"Information" � �#file%,"===========" � �#file%,name$ � �#file%,"" � �i%=rmin% � rmax% � Ȏ st% � �, � 1: � �Fibonacci(i%) �General(i%) �( � 2: � �Prime(i%) �General(i%) �) � 3: � �Square(i%) �General(i%) + � 4: � �Triangle(i%) �General(i%) � 5: �General(i%) � " �i% , � st%=1 � 6 *SETTYPE Fibonacci FFF @ � J � st%=2 � T *SETTYPE Primes FFF ^ � h � st%=3 � r *SETTYPE Squares FFF | � � � st%=4 � � *SETTYPE Triangles FFF � � � � st%=5 � � *SETTYPE General FFF � � � �#file% � �MenuSet(5) �� �� � �ݤYesNo(a$) �� mx%,my%,mst �(7) �Title(a$+" - "+"CONFIRM") +ș "OS_SpriteOp",256+34,S%,"yes",512,20 &*ș "OS_SpriteOp",256+34,S%,"no",690,20 0� :ȗ ȓ 500,20,260,100 D� ȗ mx%,my%,mst:� mst=0 N� X ȗ mx%,my%,mst b� mst<>0 lȗ ȓ 0,0,1280,1024 v,� mx%>512 � mx%<580 � my%>20 � my%<90 =� �,� mx%>690 � mx%<758 � my%>20 � my%<90 =� �� � � ���Range �ok$="0123456789" �� � �MenuSet(5) �E �0,0 Ȝ 0:� 448,108:�"Current range: ";�(rmin%);" to ";�(rmax%) �9 �Enter(76,ok$,3,"Enter lower value of range:",num$) �� �(num$)>0 � �(num$)<1000 �rmin%=�(num$) �� � �MenuSet(5) E �0,0 Ȝ 0:� 448,108:�"Current range: ";�(rmin%);" to ";�(rmax%) 9 �Enter(76,ok$,4,"Enter upper value of range:",num$) "� �(num$)>rmin% � �(num$)<1001 rmax%=�(num$) *�MenuSet(5) 4C�0,0 Ȝ 0:� 448,108:�"Current range: ";�(rmin%);" to ";�(rmax%) >� H R ��Put(n%) \ � add$ f!� �(n$)>70 � �#file%,n$:n$="" padd$=�(n%) zȕ �(add$)<>5 � add$=" "+add$ �� �n$=n$+add$ �� � ���General(n1%) � �i%,fact$ �n$="FACTORS: " �fact$="NUMBER "+�(n1%)+": " �"� �Prime(n1%) fact$+="PRIME " �8� �Square(n1%) fact$+="SQUARE ("+�(�(�(n1%)))+"�) " �(� �Triangle(n1%) fact$+="TRIANGLE " �1� n1%=6 � n1%=28 � n1%=496 fact$+="PERFECT " �#file%,fact$ �Factors(n1%,z%) �i%=1 � z%*2-2 $! � �(n$)=5 n$=" "+n$ .$ � fact%(i%)<>0 �Put(fact%(i%)) 8�i% B� n$<>"" �#file%,n$ L� n1%<>1 �PrimeFact(z%) VY�#file%,"---------------------------------------------------------------------------" `� j t��HelpInfo(ch%) ~�Title(help$(ch%,1)) � �0,0 Ȝ 0 ��60,108 ��help$(ch%,2) � �60,76 ��help$(ch%,3) � �60,44 ��0,3 Ȝ 192 ��help$(ch%,4) �� � � ��Goto �� y% � �Title("Jump to a Number") ok$="0123456789" < q$="Which number do you wish to go to (1-900) ?":y%=80 ( �Enter(y%,ok$,3,q$,num$) 2'� �(num$)>0 � �(num$)<901 � num$="" <� num$="" num$=�(num1%) Fnum%=�(num$) Pdigit%=num% Z#ȕ (num% � width%)<>1:num%-=1:� dnum1%=num% n �DrawGrid x �DrawNums ��ShowDots(0) ��Title("Grid Options") �� � ���Clear �flag()=�:mult%=-1 � �DrawGrid � �DrawNums �� � ���Multiples �� �0 �Title("Displaying Multiples of a Number") + q$="Multiple of what number (2-99) ?" ok$="0123456789" �Enter(80,ok$,2,q$,num$) "'� �(num$)>1 � �(num$)<100 � num$="" ,mult%=�(num$) 6#� mult%>0 �DrawNums � flag(5)=� @�0,3 Ȝ 192:� 130,428:�num$ J#�Title("Display Number Series") T� ^ h��OnOff r�i% | �i%=1 � 4 � �0,col%(i%) Ȝ tint%(i%) �" � � flag(i%) �0,191-128 Ȝ 0 �% ȓȐ 140,menu%(1,i%,1)-30,16,16 ��i% �� � ���ShowDots(u%) �� m%,i%,j%,xt%,yt%,n%,s%,h% �)xt%=gridx%:yt%=gridy%:s%=1:h%=height% �/� u%=1 s%=height%:yt%=gridy%-80*(height%-1) �� u%=-1 h%=1 �� j%=s% � h% � � i%=1 � width% # n%=num1%+i%-1+(j%-1)*width% � flag(1) � �m%=1�16 & � fib%(m%)=n% � 0 �0,35 Ȝ 192 :% ȓȐ xt%+6,yt%-8,16,-16 D � N �m% X � b � flag(2) � l � �Prime(n%) � v �0,3 Ȝ 192 �% ȓȐ xt%+58,yt%-56,16,-16 � � � � � � flag(3) � � � �Square(n%) � � �0,12 Ȝ 0 �$ ȓȐ xt%+58,yt%-8,16,-16 � � � � � � flag(4) � � � �Triangle(n%) � � �0,33 Ȝ 192 �$ ȓȐ xt%+6,yt%-56,16,-16 � � xt%+=80 �i% * xt%=gridx%:yt%-=80 4�j% >� H R��ClearDots(fl%) \�0,127 Ȝ 192 fxt%=gridx%:yt%=gridy% p� j%=1 � height% z � i%=1 � width% �# n%=num1%+i%-1+(j%-1)*width% � � fl%=1 � � �m%=1�16 � � fib%(m%)=n% � �% ȓȐ xt%+6,yt%-8,16,-16 � � � �m% � � � � fl%=2 � � � �Prime(n%) � �% ȓȐ xt%+58,yt%-56,16,-16 � � � � � fl%=3 � � �Square(n%) � $ ȓȐ xt%+58,yt%-8,16,-16 $ � . � 8 � fl%=4 � B � �Triangle(n%) � L$ ȓȐ xt%+6,yt%-56,16,-16 V � ` � j xt%+=80 t �i% ~ xt%=gridx%:yt%-=80 ��j% �� � � ��Info �� fact$,y% �fact$="":y%=108 �.�Title("Information on Number "+�(digit%)) � �0,0 Ȝ 0 ��Factors(digit%,j%) ��100,y%:�"FACTORS: "; ��i%=1�j%*2-2 �, � fact%(i%)<>0 fact$+=�(fact%(i%))+" " 6 � �(fact$)>58 �fact$:fl%=�(fact$):fact$="":y%=76 �i% )� y%=76 � (244+fl%*16)-�(fact$)*16,y% � fact$<>"" �fact$ (�100,76 2�0,7 Ȝ 192 <1� digit%/2=�(digit%/2) �"EVEN "; � �"ODD "; F�0,48 Ȝ 192 P$� �Perfect(digit%) �"PERFECT "; Z�0,3 Ȝ 192 d � �Prime(digit%) �"PRIME "; n�0,12 Ȝ 0 x9� �Square(digit%) �"SQUARE (";�(�(�(digit%)));"�) "; ��0,33 Ȝ 192 �%� �Triangle(digit%) �"TRIANGLE " ��100,44 � �0,0 Ȝ 0 �� digit%<>1 �PrimeFact(j%) �� � ���PrimeFact(j%) �� k%,cnt%,d%,pfact$ �cnt%=1:pfact$="":d%=digit% �� curr%=5 d%=n1% ��k%=2�j%*2-3 �8 � �Prime(fact%(k%)) pfact%(cnt%)=fact%(k%):cnt%+=1 �k% �k%=(cnt%-1)�1 �-1 � " � (d% � pfact%(k%))=0 � ,+ pfact$=pfact$+�(pfact%(k%))+" x " 6 d%=d%/pfact%(k%) @ � J# � (d% � pfact%(k%)<>0) � d%=1 T�k% ^pfact$=��pfact$)) h'� curr%=1 �"Prime Factors: ";pfact$ r.� curr%=5 �#file%,"Prime Factors: "+pfact$ |� � ���User(ch%) � � num$ � � ch%=0 � � �MenuSet(3) � curr%=3 �� ��Title("Grid Options") �OK$="0123456789" �(opt$="Width ":� ch%=2 opt$="Height " �� ch%=1 � ch%=2 � � � �* �Title("Grid Options - Set "+opt$) " q$="New "+opt$+" (3-10) ?" �Enter(80,OK$,2,q$,num$) ( � �(num$)>2 � �(num$)<11 � num$="" &+ � ch%=1 � �(num$)<>0 � width%=�(num$) 0, � ch%=2 � �(num$)<>0 � height%=�(num$) :' ȕ (num1% � width%)<>1:num1%-=1:� D �DrawGrid N �DrawNums X �ShowDots(0) b xg%=0:yg%=0 l� v�Title("Grid Options") �� � �%��Enter(y%,ok$,l%,ques$, � word$) �*fx15,0 �word$="" �ȗ � �x%=640-(�(ques$)+l%+1)*8 � �0,0 Ȝ 0 ��x%,y%:�ques$ �x%+=(�(ques$)+l%)*16-8 �� � c$=�(5) �1 � 8 Ȝ 192:� x%,y%-36,x%+16,y%-36:�0,0 Ȝ 0 , � c$<>"" � �ok$,c$)<>0 � �(word$)<l% � 5 � 127 Ȝ 192:� x%,y%-36,x%+16,y%-36:�0,0 Ȝ 0 � x%,y% � c$ * word$=word$+c$ 4 x%+=16 > � H � �(-113) word$="":ȗ �:� R � �(-90) � �(word$)>0 � \ � 127 Ȝ 192 f x%-=16 p ȓȐ x%,y%,64,-40 z word$=�word$) � *fx15,0 � �0,0 Ȝ 0 � � �� c$=�(13) �ȗ � �� � ���Series ��MenuSet(2) �curr%=2:ch%=0 � �OnOff �� � ��Help �MenuSet(4) curr%=4:ch%=0 $� . 8��Title(t$) B� l% L�0,127 Ȝ 192 VȓȐ 42,12,1196,132 `l%=640-�(t$)*8 j�0,18 Ȝ 192 t� l%,140 ~�t$ �� � ���NumGrid(mx%,my%) �Q� �(mx%>gridx% � mx%<gridx%+width%*80 � my%<gridy% � my%>gridy%-height%*80) � � �0,0 Ȝ 0 �+xg%=gridx%+((digit%-num1%) � width%)*80 �.yg%=gridy%-((digit%-num1%) � width%)*80-80 �3� digit%>=num1% � digit%<num1%+width%*height% � � ȓ xg%,yg%,80,80 � �0,127 Ȝ 192 � ȓ xg%+2,yg%+4,76,72 �� %xg%=gridx%+((mx%-gridx%) � 80)*80 (yg%=gridy%-((gridy%-my%) � 80)*80-80 =digit%=num1%+((mx%-gridx%) � 80)+width%*((gridy%-my%)�80) � � g% � ( �0,18 Ȝ 192 2+ ȓ xg%,yg%,80,80:ȓ xg%+2,yg%+4,76,72 <� F� P Z��Move(mx%,my%) d� x1%,x2%,y1%,y2% n"x1%=gridx%+width%*80+8:x2%=x1% x'y1%=gridy%-48:y2%=gridy%-height%*80 �move%=0 �D� mx%>x1% � mx%<x1%+48 � my%>y1% � my%<y1%+48 � num1%>1 move%=-1 �U� mx%>x2% � mx%<x2%+48 � my%>y2% � my%<y2%+48 � num1%+height%*width%<1000 move%=1 �� move%=1 � move%=-1 � � num1%+=width%*move% � � move%=1 � �E � gridx%,gridy%-80:�gridx%+width%*80,gridy%-80-(height%-1)*80 �( ș "OS_SpriteOp",256+14,S%,"box" �G ș "OS_SpriteOp",256+34,S%,"box",gridx%,gridy%-(height%-1)*80,0 � �Update(move%) � � � � move%=-1 � �? � gridx%,gridy%:�gridx%+width%*80,gridy%-(height%-1)*80 ( ș "OS_SpriteOp",256+14,S%,"box" E ș "OS_SpriteOp",256+34,S%,"box",gridx%,gridy%-(height%)*80,0 �Update(move%) " � ,� 6� @ J$��MenuChoice(men%,mx%,my%,� ch%) T� x%,y% ^ ch%=0 hitem%=1 r� | y%=menu%(men%,item%,1) �9 � mx%>50 � mx%<118 � my%>y% � my%<y%+68 � ch%=item% � item%+=1 �� ch%<>0 � item%=10 �� � ���SetUp �maxstack%=50 �A� menu%(10,9,1),fact%(100),flag(10),fib%(16),col%(4),tint%(4) �8� help$(8,4),f$(6),four%(15,15),pfact%(10),da% 24000 �8� stack%(maxstack%),b(20,20),us%(3),as%(3),s%(20,20) ��0,191 Ȝ 0:� �� *** READ MENU DATA *** �� men%=1 � 8 cnt%=1 � y% � & � n% 0 menu%(men%,cnt%,0)=n% :* menu%(men%,cnt%,1)=y%-(cnt%-1)*100 D cnt%+=1 N � n%=999 X � men% b� *** Fibonacci Series *** l� i%=1 � 16 v � fib%(i%) ��i% ��i%=1�4 � � col%(i%),tint%(i%) ��i% �%� *** Help Text on Series etc *** �� i%=1�7 �7 � help$(i%,1),help$(i%,2),help$(i%,3),help$(i%,4) ��i% ��i%=1�5 � � f$(i%) ��i% ��MenuSet(1) �1ș "OS_SpriteOp",256+34,S%,"title",1032,700,0 !� *** GLOBAL VARIABLES *** !Amaxnum%=1000:width%=10:height%=10:num1%=1:curr%=1:xg%=0:yg%=0 !5digit%=1:flag()=�:mult%=-1:rmin%=1:rmax%=100:g%=� ! "gridx%=180:gridy%=960:encore=� !*Eus%(1)=11:us%(2)=70:us%(3)=1000:as%(1)=18:as%(2)=120:as%(3)=10000 !4 �DrawGrid !> �DrawNums !H �0,0 Ȝ 0 !Rȓ 40,8,1200,140 !\� !f !p��Update(m%) !z �x%,y%,h% !�h%=1 !�x%=gridx%:y%=gridy%-80 !�� m%=1 � !� y%=gridy%-height%*80 !� h%=height% !�� !��0,127 Ȝ 192 !�ȓȐ x%,y%,80*width%,80 !� �0,0 Ȝ 0 !��i%=1�width% !� ȓ x%+(i%-1)*80,y%,80,80 !��i% !�x%+=40:y%+=52 "�i%=1�width% "# num%=num1%+i%+(h%-1)*width%-1 " � mult%>0 � "$% � (num% � mult%)=0 �0,48 Ȝ 0 ". � "8 xp%=x%-(�(�(num%))*16)/2 "B �xp%,y% "L ��(num%) "V �0,0 Ȝ 0 "` x%+=80 "j�i% "t�ShowDots(m%) "~3� digit%>=num1% � digit%<num1%+width% � m%=-1 � "�, x%=gridx%+((digit%-num1%) � width%)*80 "� y%=gridy%-80 "� �0,18 Ȝ 192 "�' ȓ x%,y%,80,80:ȓ x%+2,y%+4,76,72 "�� "�M� digit%>=num1%+(height%-1)*width% � digit%<num1%+height%*width% � m%=1 � "�, x%=gridx%+((digit%-num1%) � width%)*80 "� y%=gridy%-height%*80 "� �0,18 Ȝ 192 "�' ȓ x%,y%,80,80:ȓ x%+2,y%+4,76,72 "�� "�� # # ��DrawNums #� num%,i%,j%,x%,y% # �0,0 Ȝ 0 #(x%=gridx%+40:y%=gridy%-28 #2�j%=1�height% #< �i%=1�width% #F% num%=num1%+i%+(j%-1)*width%-1 #P � mult%>0 � #Z. � (num% � mult%)=0 � � g% �0,48 Ȝ 0 #d � #n � mult%=0 �0,0 Ȝ 0 #x xp%=x%-(�(�(num%))*16)/2 #� �xp%,y% #� ��(num%) #� �0,0 Ȝ 0 #� x%+=80 #� �i% #� x%=gridx%+40 #� y%-=80 #��j% #�3� digit%>=num1% � digit%<num1%+height%*width% � #�, x%=gridx%+((digit%-num1%) � width%)*80 #�/ y%=gridy%-((digit%-num1%) � width%)*80-80 #� �0,18 Ȝ 192 #�' ȓ x%,y%,80,80:ȓ x%+2,y%+4,76,72 $� $� $ $"��DrawGrid $,� x%,y% $6�0,191-128 Ȝ 0 $@ȓȐ 180,960,860,-800 $J�0,127 Ȝ 192 $Tgridx%=580-(width%*80)/2 $^gridy%=560+(height%*80)/2 $h,ȓȐ gridx%,gridy%,width%*80,-height%*80 $r �0,0 Ȝ 0 $|y%=gridy%-80 $��i%=1�height% $� � x%=1 � width% $�$ ȓ gridx%+(x%-1)*80,y%,80,80 $� �x% $� y%-=80 $��i% $�� � g% � $�D ș "OS_SpriteOp",256+34,S%,"up",gridx%+width%*80+8,gridy%-48,0 $�N ș "OS_SpriteOp",256+34,S%,"down",gridx%+width%*80+8,gridy%-height%*80,0 $�� $�� $� $���MenuSet(m%) %� cnt%,x%,y%,icon$ %�0,191-128 Ȝ 0 %ȓȐ 40,160,130,900 %&cnt%=1:x%=50 %0ȕ menu%(m%,cnt%,0)<>999 %: icon$=�(menu%(m%,cnt%,0)) %D y%=menu%(m%,cnt%,1) %N. ș "OS_SpriteOp",256+34,S%,icon$,x%,y%,0 %X cnt%+=1 %b� %lȎ m% � %v � 1: �Title("Main Menu") %�* � 2: �Title("Display Number Series") %� � flag(5) � %� �0,3 Ȝ 192 %� � 130,428 %� ��(mult%) %� � %�( � 4: �Title("Helpful Information") %�' � 5: �Title("Information Saving") %� �0,0 Ȝ 0 %� � 448,108 %�9 �"Current range: ";�(rmin%);" to ";�(rmax%) %� � 6: �Title("Games Menu") %�� &� & &��LoadSprites & � 127 Ȝ 192 &*#�30,14)"Loading - Please wait" &4s$="Sprites" &>file%=�(s$) &HL%=�#file%+64 &R�#file% &\� S% L%+100*1024 &fS%!0=L%+100*1024 &pș "OS_SpriteOp",256+9,S% &z!ș "OS_SpriteOp",256+10,S%,s$ &�� &� &�� *** Maths Stuff *** &� &�ݤPrime(num%) &� �sq,i% &�sq=�(num%) &�tf=� &�i%=3 &�� (num%/2)=�(num%/2) tf=� &�ȕ tf � i%<=sq &�! � (num%/i%)=�(num%/i%) tf=� &� i%+=2 '� '� num%=2 tf=� '� num%=1 tf=� '$=tf '.: '8��Factors(num%,� j%) 'B�i% 'Lj%=1:fact%()=0 'V� num%=1 fact%(1)=1:� '`5� �Prime(num%) � fact%(1)=1:fact%(2)=num%:j%+=1:� 'ji%=1 'tsq%=�(num%) '~� '�/ � (num%/i%)=�(num%/i%) fact%(j%)=i%:j%+=1 '� i%+=1 '�� i%>sq% '� off%=0 '��i%=1�j%-1 '�) fact%(j%+i%+off%)=num%/fact%(j%-i%) '�$ � fact%(j%+i%)=�(num%) off%=-1 '��i% '� j%+=1 '�� '�: '�ݤPerfect(num%) ( �i% ( tf=�:tot%=0 ((�i%=1�j%*2-2:tot%=tot%+fact%(i%):�i% (�tot%=2*num% � tf=� ((=tf (2: (<ݤSquare(num%) (Ftf=� (P� �(num%)=�(�(num%)) tf=� (Z=tf (d: (nݤFibonacci(num%) (x� i% (�tf=� (�� i%=1 � 16 (� � fib%(i%)=num% tf=�:i%=16 (��i% (�=tf (� (�ݤTriangle(num%) (��i% (�tf=� (�i%=1:tot%=0 (�� (� tot%+=i% (� i%+=1 ) � tot%=num% � tf=� )� tf � tot%>num% )=tf )" ),� *** Menu Data *** )6� 830,1,2,3,5,6,7,8,999 )@� 780,9,10,11,12,15,16,999 )J� 730,17,18,20,19,16,999 )T#� 880,9,10,11,12,14,13,4,16,999 )^"� 880,9,10,11,12,7,1,21,16,999 )h� 730,24,25,26,27,16,999 )r� 530,16,999 )|� 630,29,28,16,999 )� )�$� *** Fibonnaci Series Cheat *** )�4� 1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987 )� )�� *** Dot Data *** )�� 35,192,3,192,12,0,33,192 )� )�!� *** Helpful Information *** )�� "FIBONACCI SERIES" )�J� "Each number in the Fibonacci Series is produced by adding together" )�/� "the two previous numbers in the series." )�<� "eg) 1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987" )� *� "PRIME NUMBERS" *Q� "The definition of a PRIME number is any whole number greater then 1, that" *,� "can only be divided by itself and 1." *&D� "eg) 13 can only be divided by 13 and 1 without a remainder" *0 *:� "SQUARE NUMBERS" *DK� "A number is 'square' if 2 identical whole numbers can be multiplied" *N(� "together to produce this number." *X@� "eg) 25 is square as 5x5=25 (This can be written 5�=25)" *b *l� "TRIANGLE NUMBERS" *vI� "A triangle number is formed by adding together successive numbers" *�#� "starting from the number 1." *�@� "eg) The 5th triangle number is 15 because 1+2+3+4+5=15" *� *�� "EVEN NUMBERS" *�E� "An even number is any number that can be divided by 2 without" *�� "leaving any remainder." *�4� "eg) 16 is even as 16�2=8 with NO remainder" *� *�� "ODD NUMBERS" *�J� "An odd number is any number that when divided by 2 always leaves a" *�� "remainder of 1." *�-� "eg) 19 is odd as 19�2=9 remainder 1" *� +� "PERFECT NUMBERS" +K� "A perfect number is one where all its factors (excluding the number" +6� "itself) when added together equals the number." + ,� "eg) 28 is perfect as 1+2+4+7+14=28" +*:� "Fibonacci","Primes","Squares","Triangles","General" +4 +>,� *** DrawFile Saving Routines etc.. *** +H +R��SaveGrid +\*DIR<OBEY$DIR> +f*UP +pdraw_p%=da% +z)� � �YesNo("SAVE GRID") �MenuSet(5):� +��startdraw +��startgroup("line") +��0,3 Ȝ 192 +�ȓȐ 42,12,1196,132 +�� 127 Ȝ 192 +�� 520,92:�"SAVING DRAWFILE" +��box +� �marks +� �endgroup +��enddraw +�0file$=�(num1%)+"-"+�(num1%+width%*height%-1) +��save_draw(file$) +��MenuSet(5) ,� , , � �box ,$� tx%,ty%,t$ ,.xw%=width%:yw%=height% ,8�startpath(0,2512,-1,&FF,1) ,B�i%=0�yw%*100 � 100 ,L �pm(0,i%) ,V �pp(xw%*100,i%) ,`�i% ,j�i%=0 � xw%*100 � 100 ,t �pm(i%,yw%*100) ,~ �pp(i%,0) ,��i% ,��endpath ,� �j%=1�yw% ,� �i%=1�xw% ,�# t$=�(num1%+i%-1+(j%-1)*xw%) ,�) tx%=(i%*100-50-�(t$)*8)*200+50000 ,� ty%=(yw%*100-42)*200 ,� � mult%>0 � ,� � (�(t$) � mult%)=0 � ,�. �textl(tx%,ty%,8000,�colour(6),t$) ,� � ,�' �textl(tx%,ty%,8000,&FF,t$) - � - � -% �textl(tx%,ty%,8000,&FF,t$) - � -( �i% -2 yw%-=1 -<�j% -Fyw%=height% -P� -Z -d��marks -n �j%=1�yw% -x �i%=1�xw% -� tx%=i%*100-85 -� ty%=yw%*100+10 -�# n%=num1%+i%-1+(j%-1)*width% -� � flag(2) � �Prime(n%) � -�; �circle(tx%+70,ty%-70,10,�colour(1),�colour(1),1) -� � -�$ � flag(1) � �Fibonacci(n%) � -�5 �circle(tx%,ty%,10,�colour(2),�colour(2),1) -� � -�! � flag(3) � �Square(n%) � -�8 �circle(tx%+70,ty%,10,�colour(3),�colour(3),1) -� � -�# � flag(4) � �Triangle(n%) � .8 �circle(tx%,ty%-70,10,�colour(4),�colour(4),1) . � . �i% ." yw%-=1 .,�j% .6)tx%=(width%*100+100)*200+50000:hy%=50 .@� flag(1) � .J t$="FIBONACCI" .T ty%=hy%*200 .^! �textl(tx%,ty%,8000,&FF,t$) .h> �circle(width%*100+50,hy%+20,10,�colour(2),�colour(2),1) .r hy%+=50 .|� .�� flag(2) � .� t$="PRIME" .� ty%=hy%*200 .�! �textl(tx%,ty%,8000,&FF,t$) .�> �circle(width%*100+50,hy%+20,10,�colour(1),�colour(1),1) .� hy%+=50 .�� .�� flag(3) � .� t$="SQUARE" .� ty%=hy%*200 .�! �textl(tx%,ty%,8000,&FF,t$) .�> �circle(width%*100+50,hy%+20,10,�colour(3),�colour(3),1) .� hy%+=50 /� /� flag(4) � / t$="TRIANGLE" /& ty%=hy%*200 /0! �textl(tx%,ty%,8000,&FF,t$) /:> �circle(width%*100+50,hy%+20,10,�colour(4),�colour(4),1) /D� /N� /X /b� �pm(x%,y%) /l6� x% >=0 � x% <= 1280 � y% >= -200 � y% <= 1200 � /v" �mt(50000+x%*200,5000+y%*200) /� move% = � /�� /�� /� /�� �pp(x%,y%) /� move% = � /�4 � y% > -150 � y% < 1100 � x% >=0 � x% <= 1280 � /�' �drawto(50000+x%*200,5000+y%*200) /� � /� move% = � /� � /�� /� 0��push(P%) 01�stack%>=maxstack%:�99,"MathGraph stack full" 0stack%(stack%)=P% 0 stack%+=1 0*� 04 0>��pull(� P%) 0H*�stack%<=0:�99,"MathGraph stack empty" 0R stack%-=1 0\P%=stack%(stack%) 0f� 0p 0z��startobj(T%) 0��P% 0�P%=draw_p% 0� �push(P%) 0�<!P%=T%:P%!4=0:P%!8=0:P%!12=0:P%!16=0:P%!20=0:draw_p%+=24 0�� 0� 0���endobj 0��P% 0� �pull(P%) 0�P%!4=draw_p%-P% 0��P%!8<da%!24da%!24=P%!8 0��P%!12<da%!28da%!28=P%!12 0��P%!16>da%!32da%!32=P%!16 1�P%!20>da%!36da%!36=P%!20 1� 1 1$��startdraw 1.!$da%="Draw":da%!4=201:da%!8=0 18$(da%+12)="!Graph " 1B#da%!24=0:da%!28=0:da%!32=230400 1L*da%!36=184320:dstt%=da%:draw_p%=da%+40 1Vstack%=0 1`� 1j 1t ��enddraw 1~/�stack%<>0 �99,"The drawing has gone wrong" 1�dend%=draw_p%-4 1�� 1� 1���startgroup(T$) 1��startobj(6) 1�$draw_p%=�T$+�12," "),12) 1�draw_p%+=12 1�� 1� 1���endgroup 1��endobj 1�� 2 2 ��textl(X%,Y%,H%,C%,A$) 2�startobj(1) 2I!draw_p%=C%:draw_p%!4=&FFFFFF00:draw_p%!8=0:draw_p%+=12:!draw_p%=H%�2 2(?draw_p%!4=H%:draw_p%+=8:!draw_p%=X%:draw_p%!4=Y%:draw_p%+=8 222H%=4-�A$�4:$draw_p%=A$+�H%,�0):draw_p%+=�A$+H% 2<�endobj 2F� 2P 2Z3��startpath(X%,Y%,fillcol%,linecol%,linethick%) 2d�startobj(2) 2n3!draw_p%=fillcol%:draw_p%!4=linecol%:draw_p%+=8 2x;!draw_p%=linethick%:draw_p%!4=2^6:draw_p%+=8:!draw_p%=2 2�)draw_p%!4=X%:draw_p%!8=Y%:draw_p%+=12 2�� 2� 2���drawto(X%,Y%) 2�4!draw_p%=8:draw_p%!4=X%:draw_p%!8=Y%:draw_p%+=12 2�� 2� 2���mt(X%,Y%) 2�4!draw_p%=2:draw_p%!4=X%:draw_p%!8=Y%:draw_p%+=12 2�� 2� 2� ��endpath 2�!!draw_p%=0:draw_p%+=4:�endobj 3� 3 3��closepath 3""!draw_p%=5:draw_p%+=4:�endpath 3,� 36 3@��save_draw(name$) 3J�T% 3T,�"Save "+name$+" "+�~da%+" "+�~(dend%+4) 3^�"Settype "+name$+" AFF" 3h� 3r 3|� �colour(value%) 3�Ȏ value% � 3� � 1 : =&CC00 3� � 2 : =&DD0000 3� � 3 : =&EEEEBB 3� � 4 : =&558800 3� � 5 : =&FFBB00 3� � 6 : =&FF00AA 3�� 3�� 3� 3�#��bezier(X%,Y%,x1%,y1%,x2%,y2%) 3�6!draw_p%=6:draw_p%!4=x1%:draw_p%!8=y1%:draw_p%+=12 3�)!draw_p%=x2%:draw_p%!4=y2%:draw_p%+=8 4'!draw_p%=X%:draw_p%!4=Y%:draw_p%+=8 4� 4 4&3��circle(X%,Y%,R%,fillcol%,linecol%,linethick%) 40�f 4:f=��33.3333333 4DX%=X%*200+50000 4N Y%=Y%*200 4X R%=R%*200 4b5�startpath(X%,Y%+R%,fillcol%,linecol%,linethick%) 4l1�bezier(X%-R%,Y%,X%-R%*f,Y%+R%,X%-R%,Y%+R%*f) 4v1�bezier(X%,Y%-R%,X%-R%,Y%-R%*f,X%-R%*f,Y%-R%) 4�1�bezier(X%+R%,Y%,X%+R%*f,Y%-R%,X%+R%,Y%-R%*f) 4�1�bezier(X%,Y%+R%,X%+R%,Y%+R%*f,X%+R%*f,Y%+R%) 4��closepath 4�� 4� 4�� *** ERROR ROUTINE *** 4���Report 4�� 4�� 5 4� � "SYSTEM DIAGNOSTIC ERROR"' 4�� "AT LINE ";� 4� � '�$ 4�� �
00000000 0d 00 0a 21 f4 20 21 46 69 67 75 72 65 49 74 20 |...!. !FigureIt | 00000010 2d 20 4d 61 72 74 69 6e 20 47 6f 6c 64 62 65 72 |- Martin Goldber| 00000020 67 0d 00 14 08 eb 20 31 35 0d 00 1e 11 ee 20 85 |g..... 15..... .| 00000030 20 f2 52 65 70 6f 72 74 3a fa 0d 00 28 13 ef 32 | .Report:...(..2| 00000040 33 3b 38 32 30 32 3b 30 3b 30 3b 30 3b 0d 00 32 |3;8202;0;0;0;..2| 00000050 0c 2a 66 78 32 30 30 2c 31 0d 00 3c 13 2a 44 49 |.*fx200,1..<.*DI| 00000060 52 20 3c 4f 42 45 59 24 44 49 52 3e 0d 00 46 0c |R <OBEY$DIR>..F.| 00000070 2a 21 50 61 6c 46 69 67 0d 00 50 0d 2a 52 6f 75 |*!PalFig..P.*Rou| 00000080 6e 64 53 65 74 0d 00 5a 10 f2 4c 6f 61 64 53 70 |ndSet..Z..LoadSp| 00000090 72 69 74 65 73 0d 00 64 06 ef 35 0d 00 78 0a f2 |rites..d..5..x..| 000000a0 53 74 61 72 74 0d 00 79 0a 74 69 6d 65 3d 91 0d |Start..y.time=..| 000000b0 00 82 12 f5 20 fd 20 91 2d 74 69 6d 65 3e 33 30 |.... . .-time>30| 000000c0 30 0d 00 8c 0a f2 53 65 74 55 70 0d 00 96 09 f2 |0.....SetUp.....| 000000d0 4d 61 69 6e 0d 00 a0 17 2a 3c 4f 42 45 59 24 44 |Main....*<OBEY$D| 000000e0 49 52 3e 2e 21 50 61 6c 44 65 66 0d 00 aa 17 2a |IR>.!PalDef....*| 000000f0 3c 4f 62 65 79 24 44 49 52 3e 2e 44 65 66 61 75 |<Obey$DIR>.Defau| 00000100 6c 74 0d 00 b4 0c 2a 66 78 32 30 30 2c 30 0d 00 |lt....*fx200,0..| 00000110 be 06 ef 34 0d 00 c8 05 db 0d 00 d2 28 f1 8a 32 |...4........(..2| 00000120 38 2c 31 30 29 22 48 6f 70 65 20 79 6f 75 20 66 |8,10)"Hope you f| 00000130 69 67 75 72 65 64 20 69 74 20 6f 75 74 21 22 27 |igured it out!"'| 00000140 27 0d 00 dc 05 e0 0d 00 e6 04 0d 00 f0 0a dd f2 |'...............| 00000150 4d 61 69 6e 0d 00 fa 11 ea 20 6d 78 25 2c 6d 79 |Main..... mx%,my| 00000160 25 2c 6d 73 74 0d 01 04 09 65 6e 64 3d a3 0d 01 |%,mst....end=...| 00000170 0e 0a c8 97 20 ee 20 31 0d 01 18 05 f5 0d 01 22 |.... . 1......."| 00000180 1f 20 20 f5 20 c8 97 20 6d 78 25 2c 6d 79 25 2c |. . .. mx%,my%,| 00000190 6d 73 74 3a 20 fd 20 6d 73 74 3d 30 0d 01 2c 07 |mst: . mst=0..,.| 000001a0 20 20 f5 0d 01 36 16 20 20 20 20 c8 97 20 6d 78 | ...6. .. mx| 000001b0 25 2c 6d 79 25 2c 6d 73 74 0d 01 40 0e 20 20 fd |%,my%,mst..@. .| 000001c0 20 6d 73 74 3c 3e 30 0d 01 4a 25 20 20 e7 20 6d | mst<>0..J% . m| 000001d0 78 25 3c 31 36 30 20 f2 4d 65 6e 75 43 6f 6e 74 |x%<160 .MenuCont| 000001e0 72 6f 6c 28 6d 78 25 2c 6d 79 25 29 0d 01 54 38 |rol(mx%,my%)..T8| 000001f0 20 20 e7 20 6d 78 25 3e 31 35 39 20 80 20 6d 78 | . mx%>159 . mx| 00000200 25 3c 67 72 69 64 78 25 2b 77 69 64 74 68 25 2a |%<gridx%+width%*| 00000210 38 30 20 f2 4e 75 6d 47 72 69 64 28 6d 78 25 2c |80 .NumGrid(mx%,| 00000220 6d 79 25 29 0d 01 5e 2d 20 20 e7 20 6d 78 25 3e |my%)..^- . mx%>| 00000230 67 72 69 64 78 25 2b 77 69 64 74 68 25 2a 38 30 |gridx%+width%*80| 00000240 2d 31 20 f2 4d 6f 76 65 28 6d 78 25 2c 6d 79 25 |-1 .Move(mx%,my%| 00000250 29 0d 01 68 09 fd 20 65 6e 64 0d 01 72 05 e1 0d |)..h.. end..r...| 00000260 01 7c 04 0d 01 86 0b dd f2 53 74 61 72 74 0d 01 |.|.......Start..| 00000270 c3 12 e6 30 2c 31 39 31 20 c8 9c 20 36 34 3a db |...0,191 .. 64:.| 00000280 0d 01 e0 0f de 73 63 61 6c 65 25 20 31 30 30 0d |.....scale% 100.| 00000290 01 ea 1c 73 63 61 6c 65 25 21 38 3d 36 30 3a 73 |...scale%!8=60:s| 000002a0 63 61 6c 65 25 21 31 32 3d 36 30 0d 01 fe 0c e3 |cale%!12=60.....| 000002b0 6c 25 3d 31 b8 36 30 0d 02 1c 1c 20 20 21 73 63 |l%=1.60.... !sc| 000002c0 61 6c 65 25 3d 6c 25 3a 73 63 61 6c 65 25 21 34 |ale%=l%:scale%!4| 000002d0 3d 6c 25 0d 02 26 41 20 20 c8 99 26 32 45 2c 33 |=l%..&A ..&2E,3| 000002e0 30 38 2c 53 25 2c 22 69 6e 74 72 6f 22 2c 36 34 |08,S%,"intro",64| 000002f0 30 2d 28 6c 25 2a 39 2e 36 36 36 29 2c 37 35 30 |0-(l%*9.666),750| 00000300 2d 28 6c 25 2a 31 2e 36 36 36 29 2c 30 2c 73 63 |-(l%*1.666),0,sc| 00000310 61 6c 65 25 0d 02 3a 08 20 20 c8 96 0d 02 44 07 |ale%..:. ....D.| 00000320 ed 6c 25 0d 02 45 16 e3 79 25 3d 36 35 30 20 b8 |.l%..E..y%=650 .| 00000330 20 34 30 30 20 88 20 2d 34 0d 02 46 23 20 20 c8 | 400 . -4..F# .| 00000340 99 26 32 45 2c 32 35 36 2b 33 34 2c 53 25 2c 22 |.&2E,256+34,S%,"| 00000350 69 6e 74 72 6f 22 2c 36 30 2c 79 25 0d 02 47 08 |intro",60,y%..G.| 00000360 20 20 c8 96 0d 02 48 07 ed 79 25 0d 02 62 05 e1 | ....H..y%..b..| 00000370 0d 02 6c 04 0d 02 76 1a dd f2 4d 65 6e 75 43 6f |..l...v...MenuCo| 00000380 6e 74 72 6f 6c 28 6d 78 25 2c 6d 79 25 29 0d 02 |ntrol(mx%,my%)..| 00000390 80 09 ea 20 63 68 25 0d 02 8a 22 f2 4d 65 6e 75 |... ch%...".Menu| 000003a0 43 68 6f 69 63 65 28 63 75 72 72 25 2c 6d 78 25 |Choice(curr%,mx%| 000003b0 2c 6d 79 25 2c 63 68 25 29 0d 02 94 0f e7 20 63 |,my%,ch%)..... c| 000003c0 75 72 72 25 3d 31 20 8c 0d 02 9e 0e 20 20 c8 8e |urr%=1 ..... ..| 000003d0 20 63 68 25 20 ca 0d 02 a8 1b 20 20 20 20 c9 20 | ch% ..... . | 000003e0 31 3a 20 f2 55 73 65 72 28 30 29 3a 63 68 25 3d |1: .User(0):ch%=| 000003f0 30 0d 02 b2 14 20 20 20 20 c9 20 32 3a 20 f2 53 |0.... . 2: .S| 00000400 65 72 69 65 73 0d 02 bc 12 20 20 20 20 c9 20 33 |eries.... . 3| 00000410 3a 20 f2 48 65 6c 70 0d 02 c6 13 20 20 20 20 c9 |: .Help.... .| 00000420 20 34 3a 20 f2 47 61 6d 65 73 0d 02 d0 1b 20 20 | 4: .Games.... | 00000430 20 20 c9 20 35 3a 20 f2 53 61 76 65 28 30 29 3a | . 5: .Save(0):| 00000440 63 68 25 3d 30 0d 02 da 12 20 20 20 20 c9 20 36 |ch%=0.... . 6| 00000450 3a 20 f2 49 6e 66 6f 0d 02 e4 2a 20 20 20 20 c9 |: .Info...* .| 00000460 20 37 3a 20 e7 20 a4 59 65 73 4e 6f 28 22 45 58 | 7: . .YesNo("EX| 00000470 49 54 20 54 4f 20 44 45 53 4b 54 4f 50 22 29 20 |IT TO DESKTOP") | 00000480 8c 0d 02 ee 17 20 20 20 20 20 20 20 20 20 20 20 |..... | 00000490 20 20 20 65 6e 64 3d b9 0d 02 f8 13 20 20 20 20 | end=..... | 000004a0 20 20 20 20 20 20 20 20 20 20 e1 0d 03 02 11 20 | ..... | 000004b0 20 20 20 20 20 20 20 20 20 20 20 cc 0d 03 0c 25 | ....%| 000004c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f2 54 | .T| 000004d0 69 74 6c 65 28 22 4d 61 69 6e 20 4d 65 6e 75 22 |itle("Main Menu"| 000004e0 29 0d 03 16 11 20 20 20 20 20 20 20 20 20 20 20 |).... | 000004f0 20 cd 0d 03 20 07 20 20 cb 0d 03 2a 05 cd 0d 03 | ... . ...*....| 00000500 34 0f e7 20 63 75 72 72 25 3d 32 20 8c 0d 03 3e |4.. curr%=2 ...>| 00000510 0c 20 20 66 6c 61 67 3d a3 0d 03 48 0f 20 20 e3 |. flag=...H. .| 00000520 69 25 3d 31 20 b8 20 34 0d 03 52 12 20 20 20 20 |i%=1 . 4..R. | 00000530 e7 20 63 68 25 3d 69 25 20 8c 0d 03 5c 1c 20 20 |. ch%=i% ...\. | 00000540 20 20 20 20 66 6c 61 67 28 69 25 29 3d ac 66 6c | flag(i%)=.fl| 00000550 61 67 28 69 25 29 0d 03 66 10 20 20 20 20 20 20 |ag(i%)..f. | 00000560 66 6c 61 67 3d b9 0d 03 70 2c 20 20 20 20 20 20 |flag=...p, | 00000570 e7 20 ac 20 66 6c 61 67 28 69 25 29 20 f2 43 6c |. . flag(i%) .Cl| 00000580 65 61 72 44 6f 74 73 28 69 25 29 3a f2 4f 6e 4f |earDots(i%):.OnO| 00000590 66 66 0d 03 7a 09 20 20 20 20 cd 0d 03 84 09 20 |ff..z. ..... | 000005a0 20 ed 69 25 0d 03 8e 20 20 20 e7 20 66 6c 61 67 | .i%... . flag| 000005b0 20 f2 53 68 6f 77 44 6f 74 73 28 30 29 3a f2 4f | .ShowDots(0):.O| 000005c0 6e 4f 66 66 0d 03 98 0e 20 20 c8 8e 20 63 68 25 |nOff.... .. ch%| 000005d0 20 ca 0d 03 a2 1e 20 20 20 20 c9 20 35 3a 20 66 | ..... . 5: f| 000005e0 6c 61 67 28 35 29 3d ac 20 66 6c 61 67 28 35 29 |lag(5)=. flag(5)| 000005f0 0d 03 ac 1b 20 20 20 20 20 20 20 20 20 20 20 20 |.... | 00000600 e7 20 66 6c 61 67 28 35 29 20 8c 0d 03 b6 1c 20 |. flag(5) ..... | 00000610 20 20 20 20 20 20 20 20 20 20 20 20 20 f2 4d 75 | .Mu| 00000620 6c 74 69 70 6c 65 73 0d 03 c0 11 20 20 20 20 20 |ltiples.... | 00000630 20 20 20 20 20 20 20 cc 0d 03 ca 19 20 20 20 20 | ..... | 00000640 20 20 20 20 20 20 20 20 20 20 6d 75 6c 74 25 3d | mult%=| 00000650 30 0d 03 d4 30 20 20 20 20 20 20 20 20 20 20 20 |0...0 | 00000660 20 20 20 e6 30 2c 36 33 20 c8 9c 20 30 3a c8 93 | .0,63 .. 0:..| 00000670 20 c8 90 20 31 32 30 2c 34 30 30 2c 35 34 2c 34 | .. 120,400,54,4| 00000680 30 0d 03 de 1b 20 20 20 20 20 20 20 20 20 20 20 |0.... | 00000690 20 20 20 f2 44 72 61 77 4e 75 6d 73 0d 03 e8 11 | .DrawNums....| 000006a0 20 20 20 20 20 20 20 20 20 20 20 20 cd 0d 03 f2 | ....| 000006b0 20 20 20 20 20 c9 20 36 3a 20 63 75 72 72 25 3d | . 6: curr%=| 000006c0 31 3a f2 4d 65 6e 75 53 65 74 28 31 29 0d 03 fc |1:.MenuSet(1)...| 000006d0 07 20 20 cb 0d 04 06 05 cd 0d 04 10 0f e7 20 63 |. ........... c| 000006e0 75 72 72 25 3d 33 20 8c 0d 04 1a 0e 20 20 c8 8e |urr%=3 ..... ..| 000006f0 20 63 68 25 20 ca 0d 04 24 17 20 20 20 20 c9 20 | ch% ...$. . | 00000700 31 3a 20 f2 55 73 65 72 28 63 68 25 29 0d 04 2e |1: .User(ch%)...| 00000710 17 20 20 20 20 c9 20 32 3a 20 f2 55 73 65 72 28 |. . 2: .User(| 00000720 63 68 25 29 0d 04 38 12 20 20 20 20 c9 20 33 3a |ch%)..8. . 3:| 00000730 20 f2 47 6f 74 6f 0d 04 42 13 20 20 20 20 c9 20 | .Goto..B. . | 00000740 34 3a 20 f2 43 6c 65 61 72 0d 04 4c 20 20 20 20 |4: .Clear..L | 00000750 20 c9 20 35 3a 20 63 75 72 72 25 3d 31 3a f2 4d | . 5: curr%=1:.M| 00000760 65 6e 75 53 65 74 28 31 29 0d 04 56 07 20 20 cb |enuSet(1)..V. .| 00000770 0d 04 60 05 cd 0d 04 6a 0f e7 20 63 75 72 72 25 |..`....j.. curr%| 00000780 3d 34 20 8c 0d 04 74 24 20 20 e7 20 63 68 25 3e |=4 ...t$ . ch%>| 00000790 30 20 80 20 63 68 25 3c 38 20 f2 48 65 6c 70 49 |0 . ch%<8 .HelpI| 000007a0 6e 66 6f 28 63 68 25 29 0d 04 7e 21 20 20 e7 20 |nfo(ch%)..~! . | 000007b0 63 68 25 3d 38 20 63 75 72 72 25 3d 31 3a f2 4d |ch%=8 curr%=1:.M| 000007c0 65 6e 75 53 65 74 28 31 29 0d 04 88 05 cd 0d 04 |enuSet(1).......| 000007d0 92 0f e7 20 63 75 72 72 25 3d 35 20 8c 0d 04 9c |... curr%=5 ....| 000007e0 20 20 20 e7 20 63 68 25 3e 30 20 80 20 63 68 25 | . ch%>0 . ch%| 000007f0 3c 36 20 f2 53 61 76 65 28 63 68 25 29 0d 04 a6 |<6 .Save(ch%)...| 00000800 17 20 20 e7 20 63 68 25 3d 36 20 f2 53 61 76 65 |. . ch%=6 .Save| 00000810 47 72 69 64 0d 04 b0 14 20 20 e7 20 63 68 25 3d |Grid.... . ch%=| 00000820 37 20 f2 52 61 6e 67 65 0d 04 ba 21 20 20 e7 20 |7 .Range...! . | 00000830 63 68 25 3d 38 20 63 75 72 72 25 3d 31 3a f2 4d |ch%=8 curr%=1:.M| 00000840 65 6e 75 53 65 74 28 31 29 0d 04 c4 05 cd 0d 04 |enuSet(1).......| 00000850 ce 0f e7 20 63 75 72 72 25 3d 38 20 8c 0d 04 d8 |... curr%=8 ....| 00000860 2e 20 20 e7 20 63 68 25 3d 31 20 63 6f 6d 70 3d |. . ch%=1 comp=| 00000870 b9 3a 63 75 72 72 25 3d 36 3a 63 68 25 3d 30 3a |.:curr%=6:ch%=0:| 00000880 f2 4d 65 6e 75 53 65 74 28 36 29 0d 04 e2 2e 20 |.MenuSet(6).... | 00000890 20 e7 20 63 68 25 3d 32 20 63 6f 6d 70 3d a3 3a | . ch%=2 comp=.:| 000008a0 63 75 72 72 25 3d 36 3a 63 68 25 3d 30 3a f2 4d |curr%=6:ch%=0:.M| 000008b0 65 6e 75 53 65 74 28 36 29 0d 04 ec 21 20 20 e7 |enuSet(6)...! .| 000008c0 20 63 68 25 3d 33 20 63 75 72 72 25 3d 31 3a f2 | ch%=3 curr%=1:.| 000008d0 4d 65 6e 75 53 65 74 28 31 29 0d 04 f6 05 cd 0d |MenuSet(1)......| 000008e0 05 00 0f e7 20 63 75 72 72 25 3d 36 20 8c 0d 05 |.... curr%=6 ...| 000008f0 0a 11 20 20 70 31 25 3d 30 3a 70 32 25 3d 30 0d |.. p1%=0:p2%=0.| 00000900 05 14 0e 20 20 c8 8e 20 63 68 25 20 ca 0d 05 1e |... .. ch% ....| 00000910 14 20 20 20 20 c9 20 31 2c 32 2c 33 2c 34 3a 20 |. . 1,2,3,4: | 00000920 f5 0d 05 28 20 20 20 20 20 20 20 20 20 20 20 20 |...( | 00000930 20 20 20 20 20 20 20 20 20 f2 44 69 73 70 6c 61 | .Displa| 00000940 79 0d 05 32 2b 20 20 20 20 20 20 20 20 20 20 20 |y..2+ | 00000950 20 20 20 20 20 20 20 20 20 63 75 72 72 25 3d 37 | curr%=7| 00000960 3a f2 46 6f 75 72 73 28 63 68 25 29 0d 05 3c 20 |:.Fours(ch%)..< | 00000970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000980 20 20 fd 20 ac 20 65 6e 63 6f 72 65 0d 05 46 25 | . . encore..F%| 00000990 20 20 20 20 c9 20 35 3a 20 67 25 3d a3 3a 63 75 | . 5: g%=.:cu| 000009a0 72 72 25 3d 38 3a f2 4d 65 6e 75 53 65 74 28 38 |rr%=8:.MenuSet(8| 000009b0 29 0d 05 50 07 20 20 cb 0d 05 5a 10 20 20 e6 30 |)..P. ...Z. .0| 000009c0 2c 36 33 20 c8 9c 20 30 0d 05 64 1c 20 20 c8 93 |,63 .. 0..d. ..| 000009d0 20 c8 90 20 31 30 30 30 2c 34 30 30 2c 32 38 30 | .. 1000,400,280| 000009e0 2c 32 35 30 0d 05 6e 05 cd 0d 05 78 0f e7 20 63 |,250..n....x.. c| 000009f0 75 72 72 25 3d 37 20 8c 0d 05 82 0f 20 20 e7 20 |urr%=7 ..... . | 00000a00 63 68 25 3d 31 20 8c 0d 05 8c 1a 20 20 20 20 ec |ch%=1 ..... .| 00000a10 20 32 30 30 2c 31 38 3a ec 31 30 30 30 2c 32 30 | 200,18:.1000,20| 00000a20 30 0d 05 96 28 20 20 20 20 c8 99 20 22 4f 53 5f |0...( .. "OS_| 00000a30 53 70 72 69 74 65 4f 70 22 2c 32 35 36 2b 31 34 |SpriteOp",256+14| 00000a40 2c 53 25 2c 22 62 6f 78 22 0d 05 a0 24 20 20 20 |,S%,"box"...$ | 00000a50 20 e7 20 a4 59 65 73 4e 6f 28 22 54 65 72 6d 69 | . .YesNo("Termi| 00000a60 6e 61 74 65 20 47 61 6d 65 22 29 20 8c 0d 05 aa |nate Game") ....| 00000a70 17 20 20 20 20 20 20 63 68 25 3d 30 3a 63 75 72 |. ch%=0:cur| 00000a80 72 25 3d 36 0d 05 b4 12 20 20 20 20 20 20 65 6e |r%=6.... en| 00000a90 63 6f 72 65 3d a3 0d 05 be 09 20 20 20 20 cc 0d |core=..... ..| 00000aa0 05 c8 31 20 20 20 20 20 20 c8 99 20 22 4f 53 5f |..1 .. "OS_| 00000ab0 53 70 72 69 74 65 4f 70 22 2c 32 35 36 2b 33 34 |SpriteOp",256+34| 00000ac0 2c 53 25 2c 22 62 6f 78 22 2c 32 30 30 2c 31 38 |,S%,"box",200,18| 00000ad0 0d 05 d2 0f 20 20 20 20 20 20 63 68 25 3d 30 0d |.... ch%=0.| 00000ae0 05 dc 09 20 20 20 20 cd 0d 05 e6 07 20 20 cd 0d |... ..... ..| 00000af0 05 f0 05 cd 0d 05 fa 05 e1 0d 06 04 04 0d 06 0e |................| 00000b00 0d dd f2 44 69 73 70 6c 61 79 0d 06 18 10 20 20 |...Display.... | 00000b10 e6 30 2c 36 33 20 c8 9c 20 30 0d 06 22 1c 20 20 |.0,63 .. 0..". | 00000b20 c8 93 20 c8 90 20 31 30 30 30 2c 34 30 30 2c 32 |.. .. 1000,400,2| 00000b30 38 30 2c 32 35 30 0d 06 2c 0f 20 20 e6 30 2c 30 |80,250..,. .0,0| 00000b40 20 c8 9c 20 30 0d 06 36 21 20 20 ec 20 31 30 36 | .. 0..6! . 106| 00000b50 38 2c 36 30 30 3a f1 22 4c 45 56 45 4c 20 22 3b |8,600:."LEVEL ";| 00000b60 c3 28 63 68 25 29 0d 06 40 12 20 20 e6 20 30 2c |.(ch%)..@. . 0,| 00000b70 33 20 c8 9c 20 31 39 32 0d 06 4a 25 20 20 ec 20 |3 .. 192..J% . | 00000b80 31 30 34 30 2c 35 35 30 3a f1 22 50 4c 41 59 45 |1040,550:."PLAYE| 00000b90 52 20 31 3a 20 22 3b c3 28 70 31 25 29 0d 06 54 |R 1: ";.(p1%)..T| 00000ba0 13 20 20 e6 20 30 2c 31 32 20 c8 9c 20 31 39 32 |. . 0,12 .. 192| 00000bb0 0d 06 5e 10 20 20 ec 20 31 30 34 30 2c 35 30 30 |..^. . 1040,500| 00000bc0 0d 06 68 23 20 20 e7 20 ac 20 63 6f 6d 70 20 f1 |..h# . . comp .| 00000bd0 22 50 4c 41 59 45 52 20 32 3a 20 22 3b c3 28 70 |"PLAYER 2: ";.(p| 00000be0 32 25 29 0d 06 72 21 20 20 e7 20 63 6f 6d 70 20 |2%)..r! . comp | 00000bf0 f1 22 43 4f 4d 50 55 54 45 52 3a 20 22 3b c3 28 |."COMPUTER: ";.(| 00000c00 70 32 25 29 0d 06 7c 05 e1 0d 06 86 04 0d 06 90 |p2%)..|.........| 00000c10 10 dd f2 46 6f 75 72 73 28 67 6d 25 29 0d 06 9a |...Fours(gm%)...| 00000c20 2a ea 20 70 67 25 2c 66 25 2c 6d 78 25 2c 6d 79 |*. pg%,f%,mx%,my| 00000c30 25 2c 66 78 25 2c 66 79 25 2c 6d 73 74 2c 74 66 |%,fx%,fy%,mst,tf| 00000c40 31 2c 61 78 2c 61 79 0d 06 a4 0f 64 75 6d 6d 79 |1,ax,ay....dummy| 00000c50 3d b3 28 2d 91 29 0d 06 ae 0e 67 25 3d b9 3a 77 |=.(-.)....g%=.:w| 00000c60 69 6e 3d a3 0d 06 b8 41 6f 6c 64 77 25 3d 77 69 |in=....Aoldw%=wi| 00000c70 64 74 68 25 3a 6f 6c 64 68 25 3d 68 65 69 67 68 |dth%:oldh%=heigh| 00000c80 74 25 3a 6f 6c 64 64 25 3d 64 69 67 69 74 25 3a |t%:oldd%=digit%:| 00000c90 6f 6c 64 6e 25 3d 6e 75 6d 31 25 3a 6f 6c 64 78 |oldn%=num1%:oldx| 00000ca0 25 3d 78 67 25 0d 06 c2 0d 6f 6c 64 79 25 3d 79 |%=xg%....oldy%=y| 00000cb0 67 25 0d 06 cc 2a 66 6f 75 72 25 28 29 3d 30 3a |g%...*four%()=0:| 00000cc0 73 25 28 29 3d 30 3a 62 28 29 3d 30 3a 61 78 3d |s%()=0:b()=0:ax=| 00000cd0 30 3a 61 79 3d 30 3a 70 67 25 3d 31 0d 06 d6 2b |0:ay=0:pg%=1...+| 00000ce0 77 69 64 74 68 25 3d 31 30 3a 68 65 69 67 68 74 |width%=10:height| 00000cf0 25 3d 31 30 3a 64 69 67 69 74 25 3d 31 31 31 3a |%=10:digit%=111:| 00000d00 6e 75 6d 31 25 3d 31 0d 06 e0 0f f2 4d 65 6e 75 |num1%=1.....Menu| 00000d10 53 65 74 28 37 29 0d 06 ea 0d f2 44 72 61 77 47 |Set(7).....DrawG| 00000d20 72 69 64 0d 06 f4 0d f2 44 72 61 77 4e 75 6d 73 |rid.....DrawNums| 00000d30 0d 06 fe 16 e7 20 67 6d 25 3d 31 20 66 24 3d 22 |..... gm%=1 f$="| 00000d40 32 33 34 35 41 22 0d 07 08 1b e7 20 67 6d 25 3d |2345A"..... gm%=| 00000d50 32 20 66 24 3d 22 33 34 35 36 37 38 39 41 42 43 |2 f$="3456789ABC| 00000d60 22 0d 07 12 1d e7 20 67 6d 25 3d 33 20 66 24 3d |"..... gm%=3 f$=| 00000d70 22 44 33 34 35 36 37 38 39 41 42 43 44 22 0d 07 |"D3456789ABCD"..| 00000d80 1c 1f e7 20 67 6d 25 3d 34 20 66 24 3d 22 45 44 |... gm%=4 f$="ED| 00000d90 33 34 35 36 37 38 39 41 42 43 44 45 22 0d 07 26 |3456789ABCDE"..&| 00000da0 05 f5 0d 07 30 0e 20 20 e3 70 67 25 3d 31 b8 32 |....0. .pg%=1.2| 00000db0 0d 07 3a 20 20 20 20 20 f5 20 c8 97 20 6d 78 25 |..: . .. mx%| 00000dc0 2c 6d 79 25 2c 6d 73 74 3a fd 20 6d 73 74 3d 30 |,my%,mst:. mst=0| 00000dd0 0d 07 44 39 20 20 20 20 e7 20 70 67 25 3d 31 20 |..D9 . pg%=1 | 00000de0 84 20 ac 20 63 6f 6d 70 20 f2 54 69 74 6c 65 28 |. . comp .Title(| 00000df0 22 46 4f 55 52 53 20 2d 20 50 6c 61 79 65 72 20 |"FOURS - Player | 00000e00 22 2b c3 28 70 67 25 29 29 0d 07 4e 30 20 20 20 |"+.(pg%))..N0 | 00000e10 20 e7 20 70 67 25 3d 32 20 80 20 63 6f 6d 70 20 | . pg%=2 . comp | 00000e20 f2 54 69 74 6c 65 28 22 46 4f 55 52 53 20 2d 20 |.Title("FOURS - | 00000e30 4d 79 20 54 75 72 6e 22 29 0d 07 58 09 20 20 20 |My Turn")..X. | 00000e40 20 f5 0d 07 62 23 20 20 20 20 20 20 66 25 3d a0 | ...b# f%=.| 00000e50 28 22 26 22 2b c1 66 24 2c b3 28 a9 28 66 24 29 |("&"+.f$,.(.(f$)| 00000e60 29 2c 31 29 29 0d 07 6c 11 20 20 20 20 fd 20 a4 |),1))..l. . .| 00000e70 6f 6b 28 66 25 29 0d 07 76 11 20 20 20 20 e6 30 |ok(f%)..v. .0| 00000e80 2c 30 20 c8 9c 20 30 0d 07 80 0f 20 20 20 20 ec |,0 .. 0.... .| 00000e90 34 34 38 2c 39 32 0d 07 8a 16 20 20 20 20 78 24 |448,92.... x$| 00000ea0 3d 22 43 6c 69 63 6b 20 6f 6e 20 22 0d 07 94 25 |="Click on "...%| 00000eb0 20 20 20 20 e7 20 63 6f 6d 70 20 80 20 70 67 25 | . comp . pg%| 00000ec0 3d 32 20 78 24 3d 22 46 69 6e 64 69 6e 67 3a 20 |=2 x$="Finding: | 00000ed0 22 0d 07 9e 25 20 20 20 20 e7 20 66 25 3d 31 34 |"...% . f%=14| 00000ee0 20 f1 20 78 24 3b 22 61 20 50 72 69 6d 65 20 4e | . x$;"a Prime N| 00000ef0 75 6d 62 65 72 22 0d 07 a8 26 20 20 20 20 e7 20 |umber"...& . | 00000f00 66 25 3d 31 33 20 f1 20 78 24 3b 22 61 20 53 71 |f%=13 . x$;"a Sq| 00000f10 75 61 72 65 20 4e 75 6d 62 65 72 22 0d 07 b2 2b |uare Number"...+| 00000f20 20 20 20 20 e7 20 66 25 3c 31 33 20 f1 20 78 24 | . f%<13 . x$| 00000f30 3b 22 61 20 6d 75 6c 74 69 70 6c 65 20 6f 66 20 |;"a multiple of | 00000f40 22 3b c3 28 66 25 29 0d 07 bc 09 20 20 20 20 cd |";.(f%).... .| 00000f50 0d 07 c6 1d 20 20 20 20 e6 30 2c 33 2b 28 70 67 |.... .0,3+(pg| 00000f60 25 2d 31 29 2a 39 20 c8 9c 20 31 39 32 0d 07 d0 |%-1)*9 .. 192...| 00000f70 19 20 20 20 20 c8 93 c8 90 20 33 30 30 2c 38 30 |. .... 300,80| 00000f80 2c 34 30 2c 34 30 0d 07 da 19 20 20 20 20 c8 93 |,40,40.... ..| 00000f90 c8 90 20 39 34 30 2c 38 30 2c 34 30 2c 34 30 0d |.. 940,80,40,40.| 00000fa0 07 e4 1a 20 20 20 20 e7 20 70 67 25 3d 31 20 84 |... . pg%=1 .| 00000fb0 20 ac 20 63 6f 6d 70 20 8c 0d 07 ee 09 20 20 20 | . comp ..... | 00000fc0 20 f5 0d 07 f8 0f 20 20 20 20 20 20 74 66 31 3d | ..... tf1=| 00000fd0 a3 0d 08 02 23 20 20 20 20 20 20 f5 20 c8 97 20 |....# . .. | 00000fe0 6d 78 25 2c 6d 79 25 2c 6d 73 74 3a fd 20 6d 73 |mx%,my%,mst:. ms| 00000ff0 74 3c 3e 30 0d 08 0c 1f 20 20 20 20 20 20 f2 4d |t<>0.... .M| 00001000 65 6e 75 43 6f 6e 74 72 6f 6c 28 6d 78 25 2c 6d |enuControl(mx%,m| 00001010 79 25 29 0d 08 16 1d 20 20 20 20 20 20 e7 20 63 |y%).... . c| 00001020 75 72 72 25 3d 36 20 f2 57 69 6e 28 30 29 3a e1 |urr%=6 .Win(0):.| 00001030 0d 08 20 1b 20 20 20 20 20 20 f2 4e 75 6d 47 72 |.. . .NumGr| 00001040 69 64 28 6d 78 25 2c 6d 79 25 29 0d 08 2a 25 20 |id(mx%,my%)..*% | 00001050 20 20 20 20 20 66 78 25 3d 28 64 69 67 69 74 25 | fx%=(digit%| 00001060 2d 6e 75 6d 31 25 29 20 83 20 77 69 64 74 68 25 |-num1%) . width%| 00001070 0d 08 34 26 20 20 20 20 20 20 66 79 25 3d 28 64 |..4& fy%=(d| 00001080 69 67 69 74 25 2d 6e 75 6d 31 25 29 20 81 20 68 |igit%-num1%) . h| 00001090 65 69 67 68 74 25 0d 08 3e 30 20 20 20 20 20 20 |eight%..>0 | 000010a0 e7 20 66 25 3c 31 33 20 80 20 64 69 67 69 74 25 |. f%<13 . digit%| 000010b0 2f 66 25 3d a8 28 64 69 67 69 74 25 2f 66 25 29 |/f%=.(digit%/f%)| 000010c0 20 74 66 31 3d b9 0d 08 48 29 20 20 20 20 20 20 | tf1=...H) | 000010d0 e7 20 66 25 3d 31 33 20 80 20 a4 53 71 75 61 72 |. f%=13 . .Squar| 000010e0 65 28 64 69 67 69 74 25 29 20 74 66 31 3d b9 0d |e(digit%) tf1=..| 000010f0 08 52 28 20 20 20 20 20 20 e7 20 66 25 3d 31 34 |.R( . f%=14| 00001100 20 80 20 a4 50 72 69 6d 65 28 64 69 67 69 74 25 | . .Prime(digit%| 00001110 29 20 74 66 31 3d b9 0d 08 5c 2e 20 20 20 20 fd |) tf1=...\. .| 00001120 20 74 66 31 20 80 20 66 6f 75 72 25 28 66 78 25 | tf1 . four%(fx%| 00001130 2c 66 79 25 29 3d 30 20 80 20 64 69 67 69 74 25 |,fy%)=0 . digit%| 00001140 3c 3e 31 31 31 0d 08 66 09 20 20 20 20 cd 0d 08 |<>111..f. ...| 00001150 70 1d 20 20 20 20 e7 20 70 67 25 3d 32 20 80 20 |p. . pg%=2 . | 00001160 63 6f 6d 70 20 f2 41 72 63 47 6f 0d 08 7a 1b 20 |comp .ArcGo..z. | 00001170 20 20 20 6d 78 25 3d 67 72 69 64 78 25 2b 28 66 | mx%=gridx%+(f| 00001180 78 25 29 2a 38 30 0d 08 84 1b 20 20 20 20 6d 79 |x%)*80.... my| 00001190 25 3d 67 72 69 64 79 25 2d 28 66 79 25 29 2a 38 |%=gridy%-(fy%)*8| 000011a0 30 0d 08 8e 1d 20 20 20 20 e6 30 2c 33 2b 28 70 |0.... .0,3+(p| 000011b0 67 25 2d 31 29 2a 39 20 c8 9c 20 31 39 32 0d 08 |g%-1)*9 .. 192..| 000011c0 98 1f 20 20 20 20 c8 93 c8 90 20 6d 78 25 2b 34 |.. .... mx%+4| 000011d0 2c 6d 79 25 2d 38 2c 37 32 2c 2d 36 34 0d 08 a2 |,my%-8,72,-64...| 000011e0 2d 20 20 20 20 66 6f 75 72 25 28 66 78 25 2c 66 |- four%(fx%,f| 000011f0 79 25 29 3d 70 67 25 3a 62 28 66 78 25 2b 35 2c |y%)=pg%:b(fx%+5,| 00001200 66 79 25 2b 35 29 3d 70 67 25 0d 08 ac 12 20 20 |fy%+5)=pg%.... | 00001210 20 20 64 69 67 69 74 25 3d 31 31 31 0d 08 b6 13 | digit%=111....| 00001220 20 20 20 20 f2 43 68 65 63 6b 28 70 67 25 29 0d | .Check(pg%).| 00001230 08 c0 13 20 20 20 20 e7 20 77 69 6e 20 70 67 25 |... . win pg%| 00001240 3d 32 0d 08 ca 0a 20 20 ed 70 67 25 0d 08 d4 09 |=2.... .pg%....| 00001250 fd 20 77 69 6e 0d 08 de 05 e1 0d 08 e8 04 0d 08 |. win...........| 00001260 f2 0b dd f2 41 72 63 47 6f 0d 08 fc 08 c8 97 20 |....ArcGo...... | 00001270 87 0d 09 06 0a f2 53 63 6f 72 65 0d 09 10 0e 62 |......Score....b| 00001280 6d 3d 2d 31 3a 73 63 3d 30 0d 09 1a 0b e3 69 3d |m=-1:sc=0.....i=| 00001290 35 b8 31 34 0d 09 24 0d 20 20 e3 6a 3d 35 b8 31 |5.14..$. .j=5.1| 000012a0 34 0d 09 2e 12 20 20 20 20 73 63 3d 73 25 28 6a |4.... sc=s%(j| 000012b0 2c 69 29 0d 09 38 25 20 20 20 20 64 69 67 69 74 |,i)..8% digit| 000012c0 25 3d 6e 75 6d 31 25 2b 6a 2d 35 2b 28 69 2d 35 |%=num1%+j-5+(i-5| 000012d0 29 2a 77 69 64 74 68 25 0d 09 42 2a 20 20 20 20 |)*width%..B* | 000012e0 e7 20 66 25 3c 31 33 20 80 20 64 69 67 69 74 25 |. f%<13 . digit%| 000012f0 2f 66 25 3d a8 28 64 69 67 69 74 25 2f 66 25 29 |/f%=.(digit%/f%)| 00001300 20 8c 0d 09 4c 2c 20 20 20 20 20 20 e7 20 73 63 | ...L, . sc| 00001310 3e 62 6d 20 80 20 62 28 6a 2c 69 29 3d 30 20 62 |>bm . b(j,i)=0 b| 00001320 6d 3d 73 63 3a 61 78 3d 6a 3a 61 79 3d 69 0d 09 |m=sc:ax=j:ay=i..| 00001330 56 09 20 20 20 20 cd 0d 09 60 23 20 20 20 20 e7 |V. ...`# .| 00001340 20 66 25 3d 31 33 20 80 20 a4 53 71 75 61 72 65 | f%=13 . .Square| 00001350 28 64 69 67 69 74 25 29 20 8c 0d 09 6a 2c 20 20 |(digit%) ...j, | 00001360 20 20 20 20 e7 20 73 63 3e 62 6d 20 80 20 62 28 | . sc>bm . b(| 00001370 6a 2c 69 29 3d 30 20 62 6d 3d 73 63 3a 61 78 3d |j,i)=0 bm=sc:ax=| 00001380 6a 3a 61 79 3d 69 0d 09 74 09 20 20 20 20 cd 0d |j:ay=i..t. ..| 00001390 09 7e 22 20 20 20 20 e7 20 66 25 3d 31 34 20 80 |.~" . f%=14 .| 000013a0 20 a4 50 72 69 6d 65 28 64 69 67 69 74 25 29 20 | .Prime(digit%) | 000013b0 8c 0d 09 88 2c 20 20 20 20 20 20 e7 20 73 63 3e |...., . sc>| 000013c0 62 6d 20 80 20 62 28 6a 2c 69 29 3d 30 20 62 6d |bm . b(j,i)=0 bm| 000013d0 3d 73 63 3a 61 78 3d 6a 3a 61 79 3d 69 0d 09 92 |=sc:ax=j:ay=i...| 000013e0 09 20 20 20 20 cd 0d 09 9c 08 20 20 ed 6a 0d 09 |. ..... .j..| 000013f0 a6 06 ed 69 0d 09 b0 15 66 78 25 3d 61 78 2d 35 |...i....fx%=ax-5| 00001400 3a 66 79 25 3d 61 79 2d 35 0d 09 ba 15 72 78 25 |:fy%=ay-5....rx%| 00001410 3d 67 72 69 64 78 25 2b 66 78 25 2a 38 30 0d 09 |=gridx%+fx%*80..| 00001420 c4 15 72 79 25 3d 67 72 69 64 79 25 2d 66 79 25 |..ry%=gridy%-fy%| 00001430 2a 38 30 0d 09 ce 0f e6 33 2c 38 20 c8 9c 20 31 |*80.....3,8 .. 1| 00001440 39 32 0d 09 d8 0f e3 66 6c 61 3d 31 20 b8 20 31 |92.....fla=1 . 1| 00001450 30 0d 09 e2 19 20 20 c8 93 c8 90 20 72 78 25 2c |0.... .... rx%,| 00001460 72 79 25 2c 38 30 2c 2d 38 30 0d 09 ec 0d 20 20 |ry%,80,-80.... | 00001470 61 3d a6 28 31 30 29 0d 09 f6 08 ed 66 6c 61 0d |a=.(10).....fla.| 00001480 0a 00 08 c8 97 20 ee 0d 0a 0a 05 e1 0d 0a 14 04 |..... ..........| 00001490 0d 0a 1e 0b dd f2 53 63 6f 72 65 0d 0a 28 0b ea |......Score..(..| 000014a0 20 69 25 2c 6a 25 0d 0a 32 11 75 73 63 25 3d 30 | i%,j%..2.usc%=0| 000014b0 3a 61 73 63 25 3d 30 0d 0a 3c 0c e3 69 25 3d 35 |:asc%=0..<..i%=5| 000014c0 b8 31 34 0d 0a 46 0e 20 20 e3 6a 25 3d 35 b8 31 |.14..F. .j%=5.1| 000014d0 34 0d 0a 50 1c 20 20 20 20 72 78 25 3d 67 72 69 |4..P. rx%=gri| 000014e0 64 78 25 2b 28 6a 25 2d 35 29 2a 38 30 0d 0a 5a |dx%+(j%-5)*80..Z| 000014f0 1c 20 20 20 20 72 79 25 3d 67 72 69 64 79 25 2d |. ry%=gridy%-| 00001500 28 69 25 2d 35 29 2a 38 30 0d 0a 64 13 20 20 20 |(i%-5)*80..d. | 00001510 20 e6 33 2c 38 20 c8 9c 20 31 39 32 0d 0a 6e 1b | .3,8 .. 192..n.| 00001520 20 20 20 20 c8 93 c8 90 20 72 78 25 2c 72 79 25 | .... rx%,ry%| 00001530 2c 38 30 2c 2d 38 30 0d 0a 78 16 20 20 20 20 e7 |,80,-80..x. .| 00001540 20 62 28 6a 25 2c 69 25 29 3d 30 20 8c 0d 0a 82 | b(j%,i%)=0 ....| 00001550 11 20 20 20 20 20 20 e3 63 25 3d 30 b8 33 0d 0a |. .c%=0.3..| 00001560 8c 33 20 20 20 20 20 20 20 20 73 63 31 31 25 3d |.3 sc11%=| 00001570 30 3a 73 63 32 31 25 3d 30 3a 73 63 31 32 25 3d |0:sc21%=0:sc12%=| 00001580 30 3a 73 63 32 32 25 3d 30 3a 73 63 31 33 25 3d |0:sc22%=0:sc13%=| 00001590 30 0d 0a 96 23 20 20 20 20 20 20 20 20 73 63 32 |0...# sc2| 000015a0 33 25 3d 30 3a 73 63 31 34 25 3d 30 3a 73 63 32 |3%=0:sc14%=0:sc2| 000015b0 34 25 3d 30 0d 0a a0 1a 20 20 20 20 20 20 20 20 |4%=0.... | 000015c0 e3 6b 25 3d 2d 33 2b 63 25 20 b8 20 63 25 0d 0a |.k%=-3+c% . c%..| 000015d0 aa 26 20 20 20 20 20 20 20 20 20 20 e7 20 62 28 |.& . b(| 000015e0 6a 25 2b 6b 25 2c 69 25 29 3d 31 20 73 63 31 31 |j%+k%,i%)=1 sc11| 000015f0 25 2b 3d 31 0d 0a b4 26 20 20 20 20 20 20 20 20 |%+=1...& | 00001600 20 20 e7 20 62 28 6a 25 2b 6b 25 2c 69 25 29 3d | . b(j%+k%,i%)=| 00001610 32 20 73 63 32 31 25 2b 3d 31 0d 0a be 26 20 20 |2 sc21%+=1...& | 00001620 20 20 20 20 20 20 20 20 e7 20 62 28 6a 25 2c 69 | . b(j%,i| 00001630 25 2b 6b 25 29 3d 31 20 73 63 31 32 25 2b 3d 31 |%+k%)=1 sc12%+=1| 00001640 0d 0a c8 26 20 20 20 20 20 20 20 20 20 20 e7 20 |...& . | 00001650 62 28 6a 25 2c 69 25 2b 6b 25 29 3d 32 20 73 63 |b(j%,i%+k%)=2 sc| 00001660 32 32 25 2b 3d 31 0d 0a d2 29 20 20 20 20 20 20 |22%+=1...) | 00001670 20 20 20 20 e7 20 62 28 6a 25 2b 6b 25 2c 69 25 | . b(j%+k%,i%| 00001680 2b 6b 25 29 3d 31 20 73 63 31 33 25 2b 3d 31 0d |+k%)=1 sc13%+=1.| 00001690 0a dc 29 20 20 20 20 20 20 20 20 20 20 e7 20 62 |..) . b| 000016a0 28 6a 25 2b 6b 25 2c 69 25 2b 6b 25 29 3d 32 20 |(j%+k%,i%+k%)=2 | 000016b0 73 63 32 33 25 2b 3d 31 0d 0a e6 29 20 20 20 20 |sc23%+=1...) | 000016c0 20 20 20 20 20 20 e7 20 62 28 6a 25 2b 6b 25 2c | . b(j%+k%,| 000016d0 69 25 2d 6b 25 29 3d 31 20 73 63 31 34 25 2b 3d |i%-k%)=1 sc14%+=| 000016e0 31 0d 0a f0 29 20 20 20 20 20 20 20 20 20 20 e7 |1...) .| 000016f0 20 62 28 6a 25 2b 6b 25 2c 69 25 2d 6b 25 29 3d | b(j%+k%,i%-k%)=| 00001700 32 20 73 63 32 34 25 2b 3d 31 0d 0a fa 0f 20 20 |2 sc24%+=1.... | 00001710 20 20 20 20 20 20 ed 6b 25 0d 0b 04 3d 20 20 20 | .k%...= | 00001720 20 20 20 20 20 61 73 63 25 2b 3d 61 73 25 28 73 | asc%+=as%(s| 00001730 63 32 31 25 29 2b 61 73 25 28 73 63 32 32 25 29 |c21%)+as%(sc22%)| 00001740 2b 61 73 25 28 73 63 32 33 25 29 2b 61 73 25 28 |+as%(sc23%)+as%(| 00001750 73 63 32 34 25 29 0d 0b 0e 3d 20 20 20 20 20 20 |sc24%)...= | 00001760 20 20 75 73 63 25 2b 3d 75 73 25 28 73 63 31 31 | usc%+=us%(sc11| 00001770 25 29 2b 75 73 25 28 73 63 31 32 25 29 2b 75 73 |%)+us%(sc12%)+us| 00001780 25 28 73 63 31 33 25 29 2b 75 73 25 28 73 63 31 |%(sc13%)+us%(sc1| 00001790 34 25 29 0d 0b 18 0d 20 20 20 20 20 20 ed 63 25 |4%).... .c%| 000017a0 0d 0b 22 09 20 20 20 20 cd 0d 0b 2c 1b 20 20 20 |..". ...,. | 000017b0 20 c8 93 c8 90 20 72 78 25 2c 72 79 25 2c 38 30 | .... rx%,ry%,80| 000017c0 2c 2d 38 30 0d 0b 36 1f 20 20 20 20 73 25 28 6a |,-80..6. s%(j| 000017d0 25 2c 69 25 29 3d 75 73 63 25 5e 32 2b 61 73 63 |%,i%)=usc%^2+asc| 000017e0 25 5e 32 0d 0b 40 15 20 20 20 20 75 73 63 25 3d |%^2..@. usc%=| 000017f0 30 3a 61 73 63 25 3d 30 0d 0b 4a 09 20 20 ed 6a |0:asc%=0..J. .j| 00001800 25 0d 0b 54 07 ed 69 25 0d 0b 5e 05 e1 0d 0b 68 |%..T..i%..^....h| 00001810 04 0d 0b 72 0f dd f2 43 68 65 63 6b 28 70 25 29 |...r...Check(p%)| 00001820 0d 0b 7c 10 ea 20 63 6e 74 25 2c 69 25 2c 6a 25 |..|.. cnt%,i%,j%| 00001830 0d 0b 86 0a 63 6e 74 25 3d 30 0d 0b 90 13 e3 6a |....cnt%=0.....j| 00001840 25 3d 30 b8 68 65 69 67 68 74 25 2d 31 0d 0b 9a |%=0.height%-1...| 00001850 14 20 20 e3 69 25 3d 30 b8 77 69 64 74 68 25 2d |. .i%=0.width%-| 00001860 31 0d 0b a4 1b 20 20 20 20 e7 20 66 6f 75 72 25 |1.... . four%| 00001870 28 69 25 2c 6a 25 29 3d 70 25 20 8c 0d 0b ae 11 |(i%,j%)=p% .....| 00001880 20 20 20 20 20 20 63 6e 74 25 2b 3d 31 0d 0b b8 | cnt%+=1...| 00001890 1b 20 20 20 20 20 20 e7 20 63 6e 74 25 3d 34 20 |. . cnt%=4 | 000018a0 f2 57 69 6e 28 70 25 29 0d 0b c2 09 20 20 20 20 |.Win(p%).... | 000018b0 cd 0d 0b cc 21 20 20 20 20 e7 20 66 6f 75 72 25 |....! . four%| 000018c0 28 69 25 2c 6a 25 29 3c 3e 70 25 20 63 6e 74 25 |(i%,j%)<>p% cnt%| 000018d0 3d 30 0d 0b d6 09 20 20 ed 69 25 0d 0b e0 0c 20 |=0.... .i%.... | 000018e0 20 63 6e 74 25 3d 30 0d 0b ea 07 ed 6a 25 0d 0b | cnt%=0.....j%..| 000018f0 f4 12 e3 69 25 3d 30 b8 77 69 64 74 68 25 2d 31 |...i%=0.width%-1| 00001900 0d 0b fe 15 20 20 e3 6a 25 3d 30 b8 68 65 69 67 |.... .j%=0.heig| 00001910 68 74 25 2d 31 0d 0c 08 1b 20 20 20 20 e7 20 66 |ht%-1.... . f| 00001920 6f 75 72 25 28 69 25 2c 6a 25 29 3d 70 25 20 8c |our%(i%,j%)=p% .| 00001930 0d 0c 12 11 20 20 20 20 20 20 63 6e 74 25 2b 3d |.... cnt%+=| 00001940 31 0d 0c 1c 23 20 20 20 20 20 20 e7 20 63 6e 74 |1...# . cnt| 00001950 25 3d 34 20 80 20 ac 20 77 69 6e 20 f2 57 69 6e |%=4 . . win .Win| 00001960 28 70 25 29 0d 0c 26 09 20 20 20 20 cd 0d 0c 30 |(p%)..&. ...0| 00001970 21 20 20 20 20 e7 20 66 6f 75 72 25 28 69 25 2c |! . four%(i%,| 00001980 6a 25 29 3c 3e 70 25 20 63 6e 74 25 3d 30 0d 0c |j%)<>p% cnt%=0..| 00001990 3a 09 20 20 ed 6a 25 0d 0c 44 0c 20 20 63 6e 74 |:. .j%..D. cnt| 000019a0 25 3d 30 0d 0c 4e 07 ed 69 25 0d 0c 58 13 e3 6a |%=0..N..i%..X..j| 000019b0 25 3d 30 b8 68 65 69 67 68 74 25 2d 31 0d 0c 62 |%=0.height%-1..b| 000019c0 14 20 20 e3 69 25 3d 30 b8 77 69 64 74 68 25 2d |. .i%=0.width%-| 000019d0 31 0d 0c 6c 1f 20 20 20 20 e7 20 69 25 3e 32 20 |1..l. . i%>2 | 000019e0 80 20 6a 25 3c 68 65 69 67 68 74 25 2d 33 20 8c |. j%<height%-3 .| 000019f0 0d 0c 76 70 20 20 20 20 20 20 e7 20 66 6f 75 72 |..vp . four| 00001a00 25 28 69 25 2c 6a 25 29 3d 70 25 20 80 20 66 6f |%(i%,j%)=p% . fo| 00001a10 75 72 25 28 69 25 2d 31 2c 6a 25 2b 31 29 3d 70 |ur%(i%-1,j%+1)=p| 00001a20 25 20 80 20 66 6f 75 72 25 28 69 25 2d 32 2c 6a |% . four%(i%-2,j| 00001a30 25 2b 32 29 3d 70 25 20 80 20 66 6f 75 72 25 28 |%+2)=p% . four%(| 00001a40 69 25 2d 33 2c 6a 25 2b 33 29 3d 70 25 20 80 20 |i%-3,j%+3)=p% . | 00001a50 ac 20 77 69 6e 20 8c 20 f2 57 69 6e 28 70 25 29 |. win . .Win(p%)| 00001a60 0d 0c 80 09 20 20 20 20 cd 0d 0c 8a 26 20 20 20 |.... ....& | 00001a70 20 e7 20 69 25 3c 77 69 64 74 68 25 2d 33 20 80 | . i%<width%-3 .| 00001a80 20 6a 25 3c 68 65 69 67 68 74 25 2d 33 20 8c 0d | j%<height%-3 ..| 00001a90 0c 94 70 20 20 20 20 20 20 e7 20 66 6f 75 72 25 |..p . four%| 00001aa0 28 69 25 2c 6a 25 29 3d 70 25 20 80 20 66 6f 75 |(i%,j%)=p% . fou| 00001ab0 72 25 28 69 25 2b 31 2c 6a 25 2b 31 29 3d 70 25 |r%(i%+1,j%+1)=p%| 00001ac0 20 80 20 66 6f 75 72 25 28 69 25 2b 32 2c 6a 25 | . four%(i%+2,j%| 00001ad0 2b 32 29 3d 70 25 20 80 20 66 6f 75 72 25 28 69 |+2)=p% . four%(i| 00001ae0 25 2b 33 2c 6a 25 2b 33 29 3d 70 25 20 80 20 ac |%+3,j%+3)=p% . .| 00001af0 20 77 69 6e 20 8c 20 f2 57 69 6e 28 70 25 29 0d | win . .Win(p%).| 00001b00 0c 9e 09 20 20 20 20 cd 0d 0c a8 09 20 20 ed 69 |... ..... .i| 00001b10 25 0d 0c b2 07 ed 6a 25 0d 0c bc 05 e1 0d 0c c6 |%.....j%........| 00001b20 04 0d 0c d0 0d dd a4 6f 6b 28 66 67 25 29 0d 0c |.......ok(fg%)..| 00001b30 da 0e ea 20 69 25 2c 6a 25 2c 6e 25 0d 0c e4 0e |... i%,j%,n%....| 00001b40 69 25 3d 2d 31 3a 6a 25 3d 30 0d 0c ee 0e e7 20 |i%=-1:j%=0..... | 00001b50 66 67 25 3c 31 33 20 8c 0d 0c f8 07 20 20 f5 0d |fg%<13 ..... ..| 00001b60 0d 02 21 20 20 20 20 e7 20 69 25 3d 77 69 64 74 |..! . i%=widt| 00001b70 68 25 2d 31 20 6a 25 2b 3d 31 3a 69 25 3d 2d 31 |h%-1 j%+=1:i%=-1| 00001b80 0d 0d 0c 0d 20 20 20 20 69 25 2b 3d 31 0d 0d 16 |.... i%+=1...| 00001b90 1d 20 20 20 20 6e 25 3d 6e 75 6d 31 25 2b 69 25 |. n%=num1%+i%| 00001ba0 2b 6a 25 2a 77 69 64 74 68 25 0d 0d 20 30 20 20 |+j%*width%.. 0 | 00001bb0 fd 20 6e 25 20 83 20 66 67 25 3d 30 20 80 20 66 |. n% . fg%=0 . f| 00001bc0 6f 75 72 25 28 69 25 2c 6a 25 29 3d 30 20 84 20 |our%(i%,j%)=0 . | 00001bd0 6a 25 3d 68 65 69 67 68 74 25 0d 0d 2a 05 cd 0d |j%=height%..*...| 00001be0 0d 34 0e e7 20 66 67 25 3d 31 33 20 8c 0d 0d 3e |.4.. fg%=13 ...>| 00001bf0 07 20 20 f5 0d 0d 48 21 20 20 20 20 e7 20 69 25 |. ...H! . i%| 00001c00 3d 77 69 64 74 68 25 2d 31 20 6a 25 2b 3d 31 3a |=width%-1 j%+=1:| 00001c10 69 25 3d 2d 31 0d 0d 52 0d 20 20 20 20 69 25 2b |i%=-1..R. i%+| 00001c20 3d 31 0d 0d 5c 1d 20 20 20 20 6e 25 3d 6e 75 6d |=1..\. n%=num| 00001c30 31 25 2b 69 25 2b 6a 25 2a 77 69 64 74 68 25 0d |1%+i%+j%*width%.| 00001c40 0d 66 34 20 20 fd 20 b6 28 6e 25 29 3d a8 28 b6 |.f4 . .(n%)=.(.| 00001c50 28 6e 25 29 29 20 80 20 66 6f 75 72 25 28 69 25 |(n%)) . four%(i%| 00001c60 2c 6a 25 29 3d 30 20 84 20 6a 25 3d 68 65 69 67 |,j%)=0 . j%=heig| 00001c70 68 74 25 0d 0d 70 05 cd 0d 0d 7a 0e e7 20 66 67 |ht%..p....z.. fg| 00001c80 25 3d 31 34 20 8c 0d 0d 84 07 20 20 f5 0d 0d 8e |%=14 ..... ....| 00001c90 21 20 20 20 20 e7 20 69 25 3d 77 69 64 74 68 25 |! . i%=width%| 00001ca0 2d 31 20 6a 25 2b 3d 31 3a 69 25 3d 2d 31 0d 0d |-1 j%+=1:i%=-1..| 00001cb0 98 0d 20 20 20 20 69 25 2b 3d 31 0d 0d a2 1d 20 |.. i%+=1.... | 00001cc0 20 20 20 6e 25 3d 6e 75 6d 31 25 2b 69 25 2b 6a | n%=num1%+i%+j| 00001cd0 25 2a 77 69 64 74 68 25 0d 0d ac 30 20 20 fd 20 |%*width%...0 . | 00001ce0 a4 50 72 69 6d 65 28 6e 25 29 20 80 20 66 6f 75 |.Prime(n%) . fou| 00001cf0 72 25 28 69 25 2c 6a 25 29 3d 30 20 84 20 6a 25 |r%(i%,j%)=0 . j%| 00001d00 3d 68 65 69 67 68 74 25 0d 0d b6 05 cd 0d 0d c0 |=height%........| 00001d10 13 e7 20 6a 25 3c 68 65 69 67 68 74 25 20 3d b9 |.. j%<height% =.| 00001d20 0d 0d ca 13 e7 20 6a 25 3d 68 65 69 67 68 74 25 |..... j%=height%| 00001d30 20 3d a3 0d 0d d4 04 0d 0d de 0d dd f2 57 69 6e | =...........Win| 00001d40 28 70 25 29 0d 0d e8 0d e7 20 70 25 3c 3e 30 20 |(p%)..... p%<>0 | 00001d50 8c 0d 0d f2 0b 20 20 f1 bd 28 37 29 0d 0d fc 39 |..... ..(7)...9| 00001d60 20 20 e7 20 70 25 3d 31 20 84 20 ac 20 63 6f 6d | . p%=1 . . com| 00001d70 70 20 f2 54 69 74 6c 65 28 22 2a 2a 2a 2a 20 43 |p .Title("**** C| 00001d80 4f 4e 47 52 41 54 55 4c 41 54 49 4f 4e 53 20 2a |ONGRATULATIONS *| 00001d90 2a 2a 2a 22 29 0d 0e 06 37 20 20 e7 20 70 25 3d |***")...7 . p%=| 00001da0 32 20 80 20 63 6f 6d 70 20 f2 54 69 74 6c 65 28 |2 . comp .Title(| 00001db0 22 2a 2a 2a 20 49 20 57 4f 4e 20 54 48 41 54 20 |"*** I WON THAT | 00001dc0 4f 4e 45 21 21 21 20 2a 2a 2a 22 29 0d 0e 10 1c |ONE!!! ***")....| 00001dd0 20 20 e7 20 70 25 3d 31 20 70 31 25 2b 3d 31 20 | . p%=1 p1%+=1 | 00001de0 8b 20 70 32 25 2b 3d 31 0d 0e 1a 11 20 20 e6 30 |. p2%+=1.... .0| 00001df0 2c 33 20 c8 9c 20 31 39 32 0d 0e 24 0d 20 20 ec |,3 .. 192..$. .| 00001e00 35 30 32 2c 39 32 0d 0e 2e 33 20 20 e7 20 70 25 |502,92...3 . p%| 00001e10 3d 31 20 84 20 ac 20 63 6f 6d 70 20 f1 20 22 50 |=1 . . comp . "P| 00001e20 6c 61 79 65 72 20 22 3b c3 28 70 25 29 3b 22 20 |layer ";.(p%);" | 00001e30 68 61 73 20 57 4f 4e 21 22 0d 0e 38 1b 20 20 e6 |has WON!"..8. .| 00001e40 30 2c 33 2b 28 70 67 25 2d 31 29 2a 39 20 c8 9c |0,3+(pg%-1)*9 ..| 00001e50 20 31 39 32 0d 0e 42 17 20 20 c8 93 c8 90 20 33 | 192..B. .... 3| 00001e60 30 30 2c 38 30 2c 34 30 2c 34 30 0d 0e 4c 17 20 |00,80,40,40..L. | 00001e70 20 c8 93 c8 90 20 39 34 30 2c 38 30 2c 34 30 2c | .... 940,80,40,| 00001e80 34 30 0d 0e 56 1b 20 20 74 69 6d 65 3d 91 3a f5 |40..V. time=.:.| 00001e90 20 fd 20 91 2d 74 69 6d 65 3e 32 35 30 0d 0e 60 | . .-time>250..`| 00001ea0 0e 20 20 f2 44 69 73 70 6c 61 79 0d 0e 6a 38 20 |. .Display..j8 | 00001eb0 20 e7 20 a4 59 65 73 4e 6f 28 22 50 6c 61 79 20 | . .YesNo("Play | 00001ec0 41 67 61 69 6e 22 29 20 65 6e 63 6f 72 65 3d b9 |Again") encore=.| 00001ed0 20 8b 20 65 6e 63 6f 72 65 3d a3 3a 63 75 72 72 | . encore=.:curr| 00001ee0 25 3d 36 0d 0e 74 05 cd 0d 0e 7e 09 77 69 6e 3d |%=6..t....~.win=| 00001ef0 b9 0d 0e 88 2a 77 69 64 74 68 25 3d 6f 6c 64 77 |....*width%=oldw| 00001f00 25 3a 68 65 69 67 68 74 25 3d 6f 6c 64 68 25 3a |%:height%=oldh%:| 00001f10 6e 75 6d 31 25 3d 6f 6c 64 6e 25 0d 0e 92 29 78 |num1%=oldn%...)x| 00001f20 67 25 3d 6f 6c 64 78 25 3a 79 67 25 3d 6f 6c 64 |g%=oldx%:yg%=old| 00001f30 79 25 3a 67 25 3d a3 3a 64 69 67 69 74 25 3d 6f |y%:g%=.:digit%=o| 00001f40 6c 64 64 25 0d 0e 9c 10 e7 20 ac 20 65 6e 63 6f |ldd%..... . enco| 00001f50 72 65 20 8c 0d 0e a6 11 20 20 f2 4d 65 6e 75 53 |re ..... .MenuS| 00001f60 65 74 28 36 29 0d 0e b0 0f 20 20 f2 44 72 61 77 |et(6).... .Draw| 00001f70 47 72 69 64 0d 0e ba 0f 20 20 f2 44 72 61 77 4e |Grid.... .DrawN| 00001f80 75 6d 73 0d 0e c4 12 20 20 f2 53 68 6f 77 44 6f |ums.... .ShowDo| 00001f90 74 73 28 30 29 0d 0e ce 05 cd 0d 0e d8 05 e1 0d |ts(0)...........| 00001fa0 0e e2 04 0d 0e ec 0b dd f2 47 61 6d 65 73 0d 0e |.........Games..| 00001fb0 f6 0f f2 4d 65 6e 75 53 65 74 28 38 29 0d 0f 00 |...MenuSet(8)...| 00001fc0 11 63 75 72 72 25 3d 38 3a 63 68 25 3d 30 0d 0f |.curr%=8:ch%=0..| 00001fd0 0a 05 e1 0d 0f 14 04 0d 0f 1e 0f dd f2 53 61 76 |.............Sav| 00001fe0 65 28 73 74 25 29 0d 0f 28 11 ea 20 66 69 6c 65 |e(st%)..(.. file| 00001ff0 25 2c 69 25 2c 6e 24 0d 0f 32 0f f2 4d 65 6e 75 |%,i%,n$..2..Menu| 00002000 53 65 74 28 35 29 0d 0f 3c 1a 63 75 72 72 25 3d |Set(5)..<.curr%=| 00002010 35 3a 6e 24 3d 22 22 3a 6e 61 6d 65 24 3d 22 22 |5:n$="":name$=""| 00002020 0d 0f 46 0e e7 20 73 74 25 3c 3e 30 20 8c 0d 0f |..F.. st%<>0 ...| 00002030 50 26 20 20 e7 20 ac 20 a4 59 65 73 4e 6f 28 22 |P& . . .YesNo("| 00002040 53 41 56 45 22 29 20 f2 4d 65 6e 75 53 65 74 28 |SAVE") .MenuSet(| 00002050 35 29 3a e1 0d 0f 5a 15 20 20 2a 44 49 52 20 3c |5):...Z. *DIR <| 00002060 4f 42 45 59 24 44 49 52 3e 0d 0f 64 09 20 20 2a |OBEY$DIR>..d. *| 00002070 55 50 0d 0f 6e 13 20 20 6e 61 6d 65 24 3d 66 24 |UP..n. name$=f$| 00002080 28 73 74 25 29 0d 0f 78 11 20 20 e6 30 2c 33 20 |(st%)..x. .0,3 | 00002090 c8 9c 20 31 39 32 0d 0f 82 19 20 20 c8 93 c8 90 |.. 192.... ....| 000020a0 20 34 32 2c 31 32 2c 31 31 39 36 2c 31 33 32 0d | 42,12,1196,132.| 000020b0 0f 8c 12 20 20 e6 20 31 32 37 20 c8 9c 20 31 39 |... . 127 .. 19| 000020c0 32 0d 0f 96 24 20 20 ec 20 34 39 36 2c 39 32 3a |2...$ . 496,92:| 000020d0 f1 22 53 41 56 49 4e 47 20 49 4e 20 50 52 4f 47 |."SAVING IN PROG| 000020e0 52 45 53 53 22 0d 0f a0 14 20 20 66 69 6c 65 25 |RESS".... file%| 000020f0 3d ae 28 6e 61 6d 65 24 29 0d 0f aa 1b 20 20 d5 |=.(name$).... .| 00002100 23 66 69 6c 65 25 2c 22 49 6e 66 6f 72 6d 61 74 |#file%,"Informat| 00002110 69 6f 6e 22 0d 0f b4 1b 20 20 d5 23 66 69 6c 65 |ion".... .#file| 00002120 25 2c 22 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 22 0d |%,"===========".| 00002130 0f be 13 20 20 d5 23 66 69 6c 65 25 2c 6e 61 6d |... .#file%,nam| 00002140 65 24 0d 0f c8 10 20 20 d5 23 66 69 6c 65 25 2c |e$.... .#file%,| 00002150 22 22 0d 0f d2 17 20 20 e3 69 25 3d 72 6d 69 6e |"".... .i%=rmin| 00002160 25 20 b8 20 72 6d 61 78 25 0d 0f dc 10 20 20 20 |% . rmax%.... | 00002170 20 c8 8e 20 73 74 25 20 ca 0d 0f e6 2c 20 20 20 | .. st% ...., | 00002180 20 20 20 c9 20 31 3a 20 e7 20 a4 46 69 62 6f 6e | . 1: . .Fibon| 00002190 61 63 63 69 28 69 25 29 20 f2 47 65 6e 65 72 61 |acci(i%) .Genera| 000021a0 6c 28 69 25 29 0d 0f f0 28 20 20 20 20 20 20 c9 |l(i%)...( .| 000021b0 20 32 3a 20 e7 20 a4 50 72 69 6d 65 28 69 25 29 | 2: . .Prime(i%)| 000021c0 20 f2 47 65 6e 65 72 61 6c 28 69 25 29 0d 0f fa | .General(i%)...| 000021d0 29 20 20 20 20 20 20 c9 20 33 3a 20 e7 20 a4 53 |) . 3: . .S| 000021e0 71 75 61 72 65 28 69 25 29 20 f2 47 65 6e 65 72 |quare(i%) .Gener| 000021f0 61 6c 28 69 25 29 0d 10 04 2b 20 20 20 20 20 20 |al(i%)...+ | 00002200 c9 20 34 3a 20 e7 20 a4 54 72 69 61 6e 67 6c 65 |. 4: . .Triangle| 00002210 28 69 25 29 20 f2 47 65 6e 65 72 61 6c 28 69 25 |(i%) .General(i%| 00002220 29 0d 10 0e 1b 20 20 20 20 20 20 c9 20 35 3a 20 |).... . 5: | 00002230 f2 47 65 6e 65 72 61 6c 28 69 25 29 0d 10 18 09 |.General(i%)....| 00002240 20 20 20 20 cb 0d 10 22 09 20 20 ed 69 25 0d 10 | ...". .i%..| 00002250 2c 0f 20 20 e7 20 73 74 25 3d 31 20 8c 0d 10 36 |,. . st%=1 ...6| 00002260 1e 20 20 20 20 2a 53 45 54 54 59 50 45 20 46 69 |. *SETTYPE Fi| 00002270 62 6f 6e 61 63 63 69 20 46 46 46 0d 10 40 07 20 |bonacci FFF..@. | 00002280 20 cd 0d 10 4a 0f 20 20 e7 20 73 74 25 3d 32 20 | ...J. . st%=2 | 00002290 8c 0d 10 54 1b 20 20 20 20 2a 53 45 54 54 59 50 |...T. *SETTYP| 000022a0 45 20 50 72 69 6d 65 73 20 46 46 46 0d 10 5e 07 |E Primes FFF..^.| 000022b0 20 20 cd 0d 10 68 0f 20 20 e7 20 73 74 25 3d 33 | ...h. . st%=3| 000022c0 20 8c 0d 10 72 1c 20 20 20 20 2a 53 45 54 54 59 | ...r. *SETTY| 000022d0 50 45 20 53 71 75 61 72 65 73 20 46 46 46 0d 10 |PE Squares FFF..| 000022e0 7c 07 20 20 cd 0d 10 86 0f 20 20 e7 20 73 74 25 ||. ..... . st%| 000022f0 3d 34 20 8c 0d 10 90 1e 20 20 20 20 2a 53 45 54 |=4 ..... *SET| 00002300 54 59 50 45 20 54 72 69 61 6e 67 6c 65 73 20 46 |TYPE Triangles F| 00002310 46 46 0d 10 9a 07 20 20 cd 0d 10 a4 0f 20 20 e7 |FF.... ..... .| 00002320 20 73 74 25 3d 35 20 8c 0d 10 ae 1c 20 20 20 20 | st%=5 ..... | 00002330 2a 53 45 54 54 59 50 45 20 47 65 6e 65 72 61 6c |*SETTYPE General| 00002340 20 46 46 46 0d 10 b8 07 20 20 cd 0d 10 c2 0d 20 | FFF.... ..... | 00002350 20 d9 23 66 69 6c 65 25 0d 10 cc 11 20 20 f2 4d | .#file%.... .M| 00002360 65 6e 75 53 65 74 28 35 29 0d 10 d6 05 cd 0d 10 |enuSet(5).......| 00002370 e0 05 e1 0d 10 ea 04 0d 10 f4 0f dd a4 59 65 73 |.............Yes| 00002380 4e 6f 28 61 24 29 0d 10 fe 11 ea 20 6d 78 25 2c |No(a$)..... mx%,| 00002390 6d 79 25 2c 6d 73 74 0d 11 08 09 f1 bd 28 37 29 |my%,mst......(7)| 000023a0 0d 11 12 1e f2 54 69 74 6c 65 28 61 24 2b 22 20 |.....Title(a$+" | 000023b0 2d 20 22 2b 22 43 4f 4e 46 49 52 4d 22 29 0d 11 |- "+"CONFIRM")..| 000023c0 1c 2b c8 99 20 22 4f 53 5f 53 70 72 69 74 65 4f |.+.. "OS_SpriteO| 000023d0 70 22 2c 32 35 36 2b 33 34 2c 53 25 2c 22 79 65 |p",256+34,S%,"ye| 000023e0 73 22 2c 35 31 32 2c 32 30 0d 11 26 2a c8 99 20 |s",512,20..&*.. | 000023f0 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c 32 35 |"OS_SpriteOp",25| 00002400 36 2b 33 34 2c 53 25 2c 22 6e 6f 22 2c 36 39 30 |6+34,S%,"no",690| 00002410 2c 32 30 0d 11 30 05 f5 0d 11 3a 18 c8 97 20 c8 |,20..0....:... .| 00002420 93 20 35 30 30 2c 32 30 2c 32 36 30 2c 31 30 30 |. 500,20,260,100| 00002430 0d 11 44 1c f5 20 c8 97 20 6d 78 25 2c 6d 79 25 |..D.. .. mx%,my%| 00002440 2c 6d 73 74 3a fd 20 6d 73 74 3d 30 0d 11 4e 05 |,mst:. mst=0..N.| 00002450 f5 0d 11 58 14 20 20 c8 97 20 6d 78 25 2c 6d 79 |...X. .. mx%,my| 00002460 25 2c 6d 73 74 0d 11 62 0c fd 20 6d 73 74 3c 3e |%,mst..b.. mst<>| 00002470 30 0d 11 6c 17 c8 97 20 c8 93 20 30 2c 30 2c 31 |0..l... .. 0,0,1| 00002480 32 38 30 2c 31 30 32 34 0d 11 76 2c e7 20 6d 78 |280,1024..v,. mx| 00002490 25 3e 35 31 32 20 80 20 6d 78 25 3c 35 38 30 20 |%>512 . mx%<580 | 000024a0 80 20 6d 79 25 3e 32 30 20 80 20 6d 79 25 3c 39 |. my%>20 . my%<9| 000024b0 30 20 3d b9 0d 11 80 2c e7 20 6d 78 25 3e 36 39 |0 =....,. mx%>69| 000024c0 30 20 80 20 6d 78 25 3c 37 35 38 20 80 20 6d 79 |0 . mx%<758 . my| 000024d0 25 3e 32 30 20 80 20 6d 79 25 3c 39 30 20 3d a3 |%>20 . my%<90 =.| 000024e0 0d 11 8a 07 fd 20 a3 0d 11 94 04 0d 11 9e 0b dd |..... ..........| 000024f0 f2 52 61 6e 67 65 0d 11 a8 14 6f 6b 24 3d 22 30 |.Range....ok$="0| 00002500 31 32 33 34 35 36 37 38 39 22 0d 11 b2 05 f5 0d |123456789"......| 00002510 11 bc 11 20 20 f2 4d 65 6e 75 53 65 74 28 35 29 |... .MenuSet(5)| 00002520 0d 11 c6 45 20 20 e6 30 2c 30 20 c8 9c 20 30 3a |...E .0,0 .. 0:| 00002530 ec 20 34 34 38 2c 31 30 38 3a f1 22 43 75 72 72 |. 448,108:."Curr| 00002540 65 6e 74 20 72 61 6e 67 65 3a 20 22 3b c3 28 72 |ent range: ";.(r| 00002550 6d 69 6e 25 29 3b 22 20 74 6f 20 22 3b c3 28 72 |min%);" to ";.(r| 00002560 6d 61 78 25 29 0d 11 d0 39 20 20 f2 45 6e 74 65 |max%)...9 .Ente| 00002570 72 28 37 36 2c 6f 6b 24 2c 33 2c 22 45 6e 74 65 |r(76,ok$,3,"Ente| 00002580 72 20 6c 6f 77 65 72 20 76 61 6c 75 65 20 6f 66 |r lower value of| 00002590 20 72 61 6e 67 65 3a 22 2c 6e 75 6d 24 29 0d 11 | range:",num$)..| 000025a0 da 1e fd 20 bb 28 6e 75 6d 24 29 3e 30 20 80 20 |... .(num$)>0 . | 000025b0 bb 28 6e 75 6d 24 29 3c 31 30 30 30 0d 11 e4 11 |.(num$)<1000....| 000025c0 72 6d 69 6e 25 3d bb 28 6e 75 6d 24 29 0d 11 ee |rmin%=.(num$)...| 000025d0 05 f5 0d 11 f8 11 20 20 f2 4d 65 6e 75 53 65 74 |...... .MenuSet| 000025e0 28 35 29 0d 12 02 45 20 20 e6 30 2c 30 20 c8 9c |(5)...E .0,0 ..| 000025f0 20 30 3a ec 20 34 34 38 2c 31 30 38 3a f1 22 43 | 0:. 448,108:."C| 00002600 75 72 72 65 6e 74 20 72 61 6e 67 65 3a 20 22 3b |urrent range: ";| 00002610 c3 28 72 6d 69 6e 25 29 3b 22 20 74 6f 20 22 3b |.(rmin%);" to ";| 00002620 c3 28 72 6d 61 78 25 29 0d 12 0c 39 20 20 f2 45 |.(rmax%)...9 .E| 00002630 6e 74 65 72 28 37 36 2c 6f 6b 24 2c 34 2c 22 45 |nter(76,ok$,4,"E| 00002640 6e 74 65 72 20 75 70 70 65 72 20 76 61 6c 75 65 |nter upper value| 00002650 20 6f 66 20 72 61 6e 67 65 3a 22 2c 6e 75 6d 24 | of range:",num$| 00002660 29 0d 12 16 22 fd 20 bb 28 6e 75 6d 24 29 3e 72 |)...". .(num$)>r| 00002670 6d 69 6e 25 20 80 20 bb 28 6e 75 6d 24 29 3c 31 |min% . .(num$)<1| 00002680 30 30 31 0d 12 20 11 72 6d 61 78 25 3d bb 28 6e |001.. .rmax%=.(n| 00002690 75 6d 24 29 0d 12 2a 0f f2 4d 65 6e 75 53 65 74 |um$)..*..MenuSet| 000026a0 28 35 29 0d 12 34 43 e6 30 2c 30 20 c8 9c 20 30 |(5)..4C.0,0 .. 0| 000026b0 3a ec 20 34 34 38 2c 31 30 38 3a f1 22 43 75 72 |:. 448,108:."Cur| 000026c0 72 65 6e 74 20 72 61 6e 67 65 3a 20 22 3b c3 28 |rent range: ";.(| 000026d0 72 6d 69 6e 25 29 3b 22 20 74 6f 20 22 3b c3 28 |rmin%);" to ";.(| 000026e0 72 6d 61 78 25 29 0d 12 3e 05 e1 0d 12 48 04 0d |rmax%)..>....H..| 000026f0 12 52 0d dd f2 50 75 74 28 6e 25 29 0d 12 5c 0a |.R...Put(n%)..\.| 00002700 ea 20 61 64 64 24 0d 12 66 21 e7 20 a9 28 6e 24 |. add$..f!. .(n$| 00002710 29 3e 37 30 20 8c 20 d5 23 66 69 6c 65 25 2c 6e |)>70 . .#file%,n| 00002720 24 3a 6e 24 3d 22 22 0d 12 70 0e 61 64 64 24 3d |$:n$=""..p.add$=| 00002730 c3 28 6e 25 29 0d 12 7a 11 c8 95 20 a9 28 61 64 |.(n%)..z... .(ad| 00002740 64 24 29 3c 3e 35 0d 12 84 13 20 20 61 64 64 24 |d$)<>5.... add$| 00002750 3d 22 20 22 2b 61 64 64 24 0d 12 8e 05 ce 0d 12 |=" "+add$.......| 00002760 98 0e 6e 24 3d 6e 24 2b 61 64 64 24 0d 12 a2 05 |..n$=n$+add$....| 00002770 e1 0d 12 ac 04 0d 12 b6 12 dd f2 47 65 6e 65 72 |...........Gener| 00002780 61 6c 28 6e 31 25 29 0d 12 c0 0d ea 69 25 2c 66 |al(n1%).....i%,f| 00002790 61 63 74 24 0d 12 ca 12 6e 24 3d 22 46 41 43 54 |act$....n$="FACT| 000027a0 4f 52 53 3a 20 22 0d 12 d4 1f 66 61 63 74 24 3d |ORS: "....fact$=| 000027b0 22 4e 55 4d 42 45 52 20 22 2b c3 28 6e 31 25 29 |"NUMBER "+.(n1%)| 000027c0 2b 22 3a 20 22 0d 12 de 22 e7 20 a4 50 72 69 6d |+": "...". .Prim| 000027d0 65 28 6e 31 25 29 20 66 61 63 74 24 2b 3d 22 50 |e(n1%) fact$+="P| 000027e0 52 49 4d 45 20 20 22 0d 12 e8 38 e7 20 a4 53 71 |RIME "...8. .Sq| 000027f0 75 61 72 65 28 6e 31 25 29 20 66 61 63 74 24 2b |uare(n1%) fact$+| 00002800 3d 22 53 51 55 41 52 45 20 28 22 2b c3 28 a8 28 |="SQUARE ("+.(.(| 00002810 b6 28 6e 31 25 29 29 29 2b 22 b2 29 20 20 22 0d |.(n1%)))+".) ".| 00002820 12 f2 28 e7 20 a4 54 72 69 61 6e 67 6c 65 28 6e |..(. .Triangle(n| 00002830 31 25 29 20 66 61 63 74 24 2b 3d 22 54 52 49 41 |1%) fact$+="TRIA| 00002840 4e 47 4c 45 20 20 22 0d 12 fc 31 e7 20 6e 31 25 |NGLE "...1. n1%| 00002850 3d 36 20 84 20 6e 31 25 3d 32 38 20 84 20 6e 31 |=6 . n1%=28 . n1| 00002860 25 3d 34 39 36 20 66 61 63 74 24 2b 3d 22 50 45 |%=496 fact$+="PE| 00002870 52 46 45 43 54 20 20 22 0d 13 06 11 d5 23 66 69 |RFECT ".....#fi| 00002880 6c 65 25 2c 66 61 63 74 24 0d 13 10 14 f2 46 61 |le%,fact$.....Fa| 00002890 63 74 6f 72 73 28 6e 31 25 2c 7a 25 29 0d 13 1a |ctors(n1%,z%)...| 000028a0 12 e3 69 25 3d 31 20 b8 20 7a 25 2a 32 2d 32 0d |..i%=1 . z%*2-2.| 000028b0 13 24 21 20 20 e7 20 a9 28 6e 24 29 3d 35 20 6e |.$! . .(n$)=5 n| 000028c0 24 3d 22 20 20 20 20 20 20 20 20 20 22 2b 6e 24 |$=" "+n$| 000028d0 0d 13 2e 24 20 20 e7 20 66 61 63 74 25 28 69 25 |...$ . fact%(i%| 000028e0 29 3c 3e 30 20 f2 50 75 74 28 66 61 63 74 25 28 |)<>0 .Put(fact%(| 000028f0 69 25 29 29 0d 13 38 07 ed 69 25 0d 13 42 17 e7 |i%))..8..i%..B..| 00002900 20 6e 24 3c 3e 22 22 20 d5 23 66 69 6c 65 25 2c | n$<>"" .#file%,| 00002910 6e 24 0d 13 4c 1b e7 20 6e 31 25 3c 3e 31 20 f2 |n$..L.. n1%<>1 .| 00002920 50 72 69 6d 65 46 61 63 74 28 7a 25 29 0d 13 56 |PrimeFact(z%)..V| 00002930 59 d5 23 66 69 6c 65 25 2c 22 2d 2d 2d 2d 2d 2d |Y.#file%,"------| 00002940 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002980 2d 2d 2d 2d 2d 22 0d 13 60 05 e1 0d 13 6a 04 0d |-----"..`....j..| 00002990 13 74 13 dd f2 48 65 6c 70 49 6e 66 6f 28 63 68 |.t...HelpInfo(ch| 000029a0 25 29 0d 13 7e 18 f2 54 69 74 6c 65 28 68 65 6c |%)..~..Title(hel| 000029b0 70 24 28 63 68 25 2c 31 29 29 0d 13 88 0d e6 30 |p$(ch%,1)).....0| 000029c0 2c 30 20 c8 9c 20 30 0d 13 92 0b ec 36 30 2c 31 |,0 .. 0.....60,1| 000029d0 30 38 0d 13 9c 11 f1 68 65 6c 70 24 28 63 68 25 |08.....help$(ch%| 000029e0 2c 32 29 0d 13 a6 0a ec 36 30 2c 37 36 0d 13 b0 |,2).....60,76...| 000029f0 11 f1 68 65 6c 70 24 28 63 68 25 2c 33 29 0d 13 |..help$(ch%,3)..| 00002a00 ba 0a ec 36 30 2c 34 34 0d 13 c4 0f e6 30 2c 33 |...60,44.....0,3| 00002a10 20 c8 9c 20 31 39 32 0d 13 ce 11 f1 68 65 6c 70 | .. 192.....help| 00002a20 24 28 63 68 25 2c 34 29 0d 13 d8 05 e1 0d 13 e2 |$(ch%,4)........| 00002a30 04 0d 13 ec 0a dd f2 47 6f 74 6f 0d 13 f6 08 ea |.......Goto.....| 00002a40 20 79 25 0d 14 00 05 f5 0d 14 0a 20 20 20 f2 54 | y%........ .T| 00002a50 69 74 6c 65 28 22 4a 75 6d 70 20 74 6f 20 61 20 |itle("Jump to a | 00002a60 4e 75 6d 62 65 72 22 29 0d 14 14 16 20 20 6f 6b |Number").... ok| 00002a70 24 3d 22 30 31 32 33 34 35 36 37 38 39 22 0d 14 |$="0123456789"..| 00002a80 1e 3c 20 20 71 24 3d 22 57 68 69 63 68 20 6e 75 |.< q$="Which nu| 00002a90 6d 62 65 72 20 64 6f 20 79 6f 75 20 77 69 73 68 |mber do you wish| 00002aa0 20 74 6f 20 67 6f 20 74 6f 20 28 31 2d 39 30 30 | to go to (1-900| 00002ab0 29 20 3f 22 3a 79 25 3d 38 30 0d 14 28 1e 20 20 |) ?":y%=80..(. | 00002ac0 f2 45 6e 74 65 72 28 79 25 2c 6f 6b 24 2c 33 2c |.Enter(y%,ok$,3,| 00002ad0 71 24 2c 6e 75 6d 24 29 0d 14 32 27 fd 20 bb 28 |q$,num$)..2'. .(| 00002ae0 6e 75 6d 24 29 3e 30 20 80 20 bb 28 6e 75 6d 24 |num$)>0 . .(num$| 00002af0 29 3c 39 30 31 20 84 20 6e 75 6d 24 3d 22 22 0d |)<901 . num$="".| 00002b00 14 3c 1b e7 20 6e 75 6d 24 3d 22 22 20 6e 75 6d |.<.. num$="" num| 00002b10 24 3d c3 28 6e 75 6d 31 25 29 0d 14 46 10 6e 75 |$=.(num1%)..F.nu| 00002b20 6d 25 3d bb 28 6e 75 6d 24 29 0d 14 50 0f 64 69 |m%=.(num$)..P.di| 00002b30 67 69 74 25 3d 6e 75 6d 25 0d 14 5a 23 c8 95 20 |git%=num%..Z#.. | 00002b40 28 6e 75 6d 25 20 83 20 77 69 64 74 68 25 29 3c |(num% . width%)<| 00002b50 3e 31 3a 6e 75 6d 25 2d 3d 31 3a ce 0d 14 64 0e |>1:num%-=1:...d.| 00002b60 6e 75 6d 31 25 3d 6e 75 6d 25 0d 14 6e 0d f2 44 |num1%=num%..n..D| 00002b70 72 61 77 47 72 69 64 0d 14 78 0d f2 44 72 61 77 |rawGrid..x..Draw| 00002b80 4e 75 6d 73 0d 14 82 10 f2 53 68 6f 77 44 6f 74 |Nums.....ShowDot| 00002b90 73 28 30 29 0d 14 8c 1a f2 54 69 74 6c 65 28 22 |s(0).....Title("| 00002ba0 47 72 69 64 20 4f 70 74 69 6f 6e 73 22 29 0d 14 |Grid Options")..| 00002bb0 96 05 e1 0d 14 a0 04 0d 14 aa 0b dd f2 43 6c 65 |.............Cle| 00002bc0 61 72 0d 14 b4 15 66 6c 61 67 28 29 3d a3 3a 6d |ar....flag()=.:m| 00002bd0 75 6c 74 25 3d 2d 31 0d 14 be 0d f2 44 72 61 77 |ult%=-1.....Draw| 00002be0 47 72 69 64 0d 14 c8 0d f2 44 72 61 77 4e 75 6d |Grid.....DrawNum| 00002bf0 73 0d 14 d2 05 e1 0d 14 dc 04 0d 14 e6 0f dd f2 |s...............| 00002c00 4d 75 6c 74 69 70 6c 65 73 0d 14 f0 05 f5 0d 14 |Multiples.......| 00002c10 fa 30 20 20 f2 54 69 74 6c 65 28 22 44 69 73 70 |.0 .Title("Disp| 00002c20 6c 61 79 69 6e 67 20 4d 75 6c 74 69 70 6c 65 73 |laying Multiples| 00002c30 20 6f 66 20 61 20 4e 75 6d 62 65 72 22 29 0d 15 | of a Number")..| 00002c40 04 2b 20 20 71 24 3d 22 4d 75 6c 74 69 70 6c 65 |.+ q$="Multiple| 00002c50 20 6f 66 20 77 68 61 74 20 6e 75 6d 62 65 72 20 | of what number | 00002c60 28 32 2d 39 39 29 20 3f 22 0d 15 0e 16 20 20 6f |(2-99) ?".... o| 00002c70 6b 24 3d 22 30 31 32 33 34 35 36 37 38 39 22 0d |k$="0123456789".| 00002c80 15 18 1e 20 20 f2 45 6e 74 65 72 28 38 30 2c 6f |... .Enter(80,o| 00002c90 6b 24 2c 32 2c 71 24 2c 6e 75 6d 24 29 0d 15 22 |k$,2,q$,num$).."| 00002ca0 27 fd 20 bb 28 6e 75 6d 24 29 3e 31 20 80 20 bb |'. .(num$)>1 . .| 00002cb0 28 6e 75 6d 24 29 3c 31 30 30 20 84 20 6e 75 6d |(num$)<100 . num| 00002cc0 24 3d 22 22 0d 15 2c 11 6d 75 6c 74 25 3d bb 28 |$=""..,.mult%=.(| 00002cd0 6e 75 6d 24 29 0d 15 36 23 e7 20 6d 75 6c 74 25 |num$)..6#. mult%| 00002ce0 3e 30 20 f2 44 72 61 77 4e 75 6d 73 20 8b 20 66 |>0 .DrawNums . f| 00002cf0 6c 61 67 28 35 29 3d a3 0d 15 40 1f e6 30 2c 33 |lag(5)=...@..0,3| 00002d00 20 c8 9c 20 31 39 32 3a ec 20 31 33 30 2c 34 32 | .. 192:. 130,42| 00002d10 38 3a f1 6e 75 6d 24 0d 15 4a 23 f2 54 69 74 6c |8:.num$..J#.Titl| 00002d20 65 28 22 44 69 73 70 6c 61 79 20 4e 75 6d 62 65 |e("Display Numbe| 00002d30 72 20 53 65 72 69 65 73 22 29 0d 15 54 05 e1 0d |r Series")..T...| 00002d40 15 5e 04 0d 15 68 0b dd f2 4f 6e 4f 66 66 0d 15 |.^...h...OnOff..| 00002d50 72 07 ea 69 25 0d 15 7c 0d e3 69 25 3d 31 20 b8 |r..i%..|..i%=1 .| 00002d60 20 34 0d 15 86 1e 20 20 e6 30 2c 63 6f 6c 25 28 | 4.... .0,col%(| 00002d70 69 25 29 20 c8 9c 20 74 69 6e 74 25 28 69 25 29 |i%) .. tint%(i%)| 00002d80 0d 15 90 22 20 20 e7 20 ac 20 66 6c 61 67 28 69 |..." . . flag(i| 00002d90 25 29 20 e6 30 2c 31 39 31 2d 31 32 38 20 c8 9c |%) .0,191-128 ..| 00002da0 20 30 0d 15 9a 25 20 20 c8 93 c8 90 20 31 34 30 | 0...% .... 140| 00002db0 2c 6d 65 6e 75 25 28 31 2c 69 25 2c 31 29 2d 33 |,menu%(1,i%,1)-3| 00002dc0 30 2c 31 36 2c 31 36 0d 15 a4 07 ed 69 25 0d 15 |0,16,16.....i%..| 00002dd0 ae 05 e1 0d 15 b8 04 0d 15 c2 12 dd f2 53 68 6f |.............Sho| 00002de0 77 44 6f 74 73 28 75 25 29 0d 15 cc 1f ea 20 6d |wDots(u%)..... m| 00002df0 25 2c 69 25 2c 6a 25 2c 78 74 25 2c 79 74 25 2c |%,i%,j%,xt%,yt%,| 00002e00 6e 25 2c 73 25 2c 68 25 0d 15 d6 29 78 74 25 3d |n%,s%,h%...)xt%=| 00002e10 67 72 69 64 78 25 3a 79 74 25 3d 67 72 69 64 79 |gridx%:yt%=gridy| 00002e20 25 3a 73 25 3d 31 3a 68 25 3d 68 65 69 67 68 74 |%:s%=1:h%=height| 00002e30 25 0d 15 e0 2f e7 20 75 25 3d 31 20 73 25 3d 68 |%.../. u%=1 s%=h| 00002e40 65 69 67 68 74 25 3a 79 74 25 3d 67 72 69 64 79 |eight%:yt%=gridy| 00002e50 25 2d 38 30 2a 28 68 65 69 67 68 74 25 2d 31 29 |%-80*(height%-1)| 00002e60 0d 15 ea 10 e7 20 75 25 3d 2d 31 20 68 25 3d 31 |..... u%=-1 h%=1| 00002e70 0d 15 f4 10 e3 20 6a 25 3d 73 25 20 b8 20 68 25 |..... j%=s% . h%| 00002e80 0d 15 fe 15 20 20 e3 20 69 25 3d 31 20 b8 20 77 |.... . i%=1 . w| 00002e90 69 64 74 68 25 0d 16 08 23 20 20 20 20 6e 25 3d |idth%...# n%=| 00002ea0 6e 75 6d 31 25 2b 69 25 2d 31 2b 28 6a 25 2d 31 |num1%+i%-1+(j%-1| 00002eb0 29 2a 77 69 64 74 68 25 0d 16 12 13 20 20 20 20 |)*width%.... | 00002ec0 e7 20 66 6c 61 67 28 31 29 20 8c 0d 16 1c 12 20 |. flag(1) ..... | 00002ed0 20 20 20 20 20 e3 6d 25 3d 31 b8 31 36 0d 16 26 | .m%=1.16..&| 00002ee0 1b 20 20 20 20 20 20 20 20 e7 20 66 69 62 25 28 |. . fib%(| 00002ef0 6d 25 29 3d 6e 25 20 8c 0d 16 30 1a 20 20 20 20 |m%)=n% ...0. | 00002f00 20 20 20 20 20 20 e6 30 2c 33 35 20 c8 9c 20 31 | .0,35 .. 1| 00002f10 39 32 0d 16 3a 25 20 20 20 20 20 20 20 20 20 20 |92..:% | 00002f20 c8 93 c8 90 20 78 74 25 2b 36 2c 79 74 25 2d 38 |.... xt%+6,yt%-8| 00002f30 2c 31 36 2c 2d 31 36 0d 16 44 0d 20 20 20 20 20 |,16,-16..D. | 00002f40 20 20 20 cd 0d 16 4e 0d 20 20 20 20 20 20 ed 6d | ...N. .m| 00002f50 25 0d 16 58 09 20 20 20 20 cd 0d 16 62 13 20 20 |%..X. ...b. | 00002f60 20 20 e7 20 66 6c 61 67 28 32 29 20 8c 0d 16 6c | . flag(2) ...l| 00002f70 18 20 20 20 20 20 20 e7 20 a4 50 72 69 6d 65 28 |. . .Prime(| 00002f80 6e 25 29 20 8c 0d 16 76 17 20 20 20 20 20 20 20 |n%) ...v. | 00002f90 20 e6 30 2c 33 20 c8 9c 20 31 39 32 0d 16 80 25 | .0,3 .. 192...%| 00002fa0 20 20 20 20 20 20 20 20 c8 93 c8 90 20 78 74 25 | .... xt%| 00002fb0 2b 35 38 2c 79 74 25 2d 35 36 2c 31 36 2c 2d 31 |+58,yt%-56,16,-1| 00002fc0 36 0d 16 8a 0b 20 20 20 20 20 20 cd 0d 16 94 09 |6.... .....| 00002fd0 20 20 20 20 cd 0d 16 9e 13 20 20 20 20 e7 20 66 | ..... . f| 00002fe0 6c 61 67 28 33 29 20 8c 0d 16 a8 19 20 20 20 20 |lag(3) ..... | 00002ff0 20 20 e7 20 a4 53 71 75 61 72 65 28 6e 25 29 20 | . .Square(n%) | 00003000 8c 0d 16 b2 16 20 20 20 20 20 20 20 20 e6 30 2c |..... .0,| 00003010 31 32 20 c8 9c 20 30 0d 16 bc 24 20 20 20 20 20 |12 .. 0...$ | 00003020 20 20 20 c8 93 c8 90 20 78 74 25 2b 35 38 2c 79 | .... xt%+58,y| 00003030 74 25 2d 38 2c 31 36 2c 2d 31 36 0d 16 c6 0b 20 |t%-8,16,-16.... | 00003040 20 20 20 20 20 cd 0d 16 d0 09 20 20 20 20 cd 0d | ..... ..| 00003050 16 da 13 20 20 20 20 e7 20 66 6c 61 67 28 34 29 |... . flag(4)| 00003060 20 8c 0d 16 e4 1b 20 20 20 20 20 20 e7 20 a4 54 | ..... . .T| 00003070 72 69 61 6e 67 6c 65 28 6e 25 29 20 8c 0d 16 ee |riangle(n%) ....| 00003080 18 20 20 20 20 20 20 20 20 e6 30 2c 33 33 20 c8 |. .0,33 .| 00003090 9c 20 31 39 32 0d 16 f8 24 20 20 20 20 20 20 20 |. 192...$ | 000030a0 20 c8 93 c8 90 20 78 74 25 2b 36 2c 79 74 25 2d | .... xt%+6,yt%-| 000030b0 35 36 2c 31 36 2c 2d 31 36 0d 17 02 0b 20 20 20 |56,16,-16.... | 000030c0 20 20 20 cd 0d 17 0c 09 20 20 20 20 cd 0d 17 16 | ..... ....| 000030d0 0f 20 20 20 20 78 74 25 2b 3d 38 30 0d 17 20 09 |. xt%+=80.. .| 000030e0 20 20 ed 69 25 0d 17 2a 18 20 20 78 74 25 3d 67 | .i%..*. xt%=g| 000030f0 72 69 64 78 25 3a 79 74 25 2d 3d 38 30 0d 17 34 |ridx%:yt%-=80..4| 00003100 07 ed 6a 25 0d 17 3e 05 e1 0d 17 48 04 0d 17 52 |..j%..>....H...R| 00003110 14 dd f2 43 6c 65 61 72 44 6f 74 73 28 66 6c 25 |...ClearDots(fl%| 00003120 29 0d 17 5c 11 e6 30 2c 31 32 37 20 c8 9c 20 31 |)..\..0,127 .. 1| 00003130 39 32 0d 17 66 19 78 74 25 3d 67 72 69 64 78 25 |92..f.xt%=gridx%| 00003140 3a 79 74 25 3d 67 72 69 64 79 25 0d 17 70 14 e3 |:yt%=gridy%..p..| 00003150 20 6a 25 3d 31 20 b8 20 68 65 69 67 68 74 25 0d | j%=1 . height%.| 00003160 17 7a 15 20 20 e3 20 69 25 3d 31 20 b8 20 77 69 |.z. . i%=1 . wi| 00003170 64 74 68 25 0d 17 84 23 20 20 20 20 6e 25 3d 6e |dth%...# n%=n| 00003180 75 6d 31 25 2b 69 25 2d 31 2b 28 6a 25 2d 31 29 |um1%+i%-1+(j%-1)| 00003190 2a 77 69 64 74 68 25 0d 17 8e 11 20 20 20 20 e7 |*width%.... .| 000031a0 20 66 6c 25 3d 31 20 8c 0d 17 98 12 20 20 20 20 | fl%=1 ..... | 000031b0 20 20 e3 6d 25 3d 31 b8 31 36 0d 17 a2 1b 20 20 | .m%=1.16.... | 000031c0 20 20 20 20 20 20 e7 20 66 69 62 25 28 6d 25 29 | . fib%(m%)| 000031d0 3d 6e 25 20 8c 0d 17 ac 25 20 20 20 20 20 20 20 |=n% ....% | 000031e0 20 20 20 c8 93 c8 90 20 78 74 25 2b 36 2c 79 74 | .... xt%+6,yt| 000031f0 25 2d 38 2c 31 36 2c 2d 31 36 0d 17 b6 0d 20 20 |%-8,16,-16.... | 00003200 20 20 20 20 20 20 cd 0d 17 c0 0d 20 20 20 20 20 | ..... | 00003210 20 ed 6d 25 0d 17 ca 09 20 20 20 20 cd 0d 17 d4 | .m%.... ....| 00003220 11 20 20 20 20 e7 20 66 6c 25 3d 32 20 8c 0d 17 |. . fl%=2 ...| 00003230 de 18 20 20 20 20 20 20 e7 20 a4 50 72 69 6d 65 |.. . .Prime| 00003240 28 6e 25 29 20 8c 0d 17 e8 25 20 20 20 20 20 20 |(n%) ....% | 00003250 20 20 c8 93 c8 90 20 78 74 25 2b 35 38 2c 79 74 | .... xt%+58,yt| 00003260 25 2d 35 36 2c 31 36 2c 2d 31 36 0d 17 f2 0b 20 |%-56,16,-16.... | 00003270 20 20 20 20 20 cd 0d 17 fc 09 20 20 20 20 cd 0d | ..... ..| 00003280 18 06 11 20 20 20 20 e7 20 66 6c 25 3d 33 20 8c |... . fl%=3 .| 00003290 0d 18 10 19 20 20 20 20 20 20 e7 20 a4 53 71 75 |.... . .Squ| 000032a0 61 72 65 28 6e 25 29 20 8c 0d 18 1a 24 20 20 20 |are(n%) ....$ | 000032b0 20 20 20 20 20 c8 93 c8 90 20 78 74 25 2b 35 38 | .... xt%+58| 000032c0 2c 79 74 25 2d 38 2c 31 36 2c 2d 31 36 0d 18 24 |,yt%-8,16,-16..$| 000032d0 0b 20 20 20 20 20 20 cd 0d 18 2e 09 20 20 20 20 |. ..... | 000032e0 cd 0d 18 38 11 20 20 20 20 e7 20 66 6c 25 3d 34 |...8. . fl%=4| 000032f0 20 8c 0d 18 42 1b 20 20 20 20 20 20 e7 20 a4 54 | ...B. . .T| 00003300 72 69 61 6e 67 6c 65 28 6e 25 29 20 8c 0d 18 4c |riangle(n%) ...L| 00003310 24 20 20 20 20 20 20 20 20 c8 93 c8 90 20 78 74 |$ .... xt| 00003320 25 2b 36 2c 79 74 25 2d 35 36 2c 31 36 2c 2d 31 |%+6,yt%-56,16,-1| 00003330 36 0d 18 56 0b 20 20 20 20 20 20 cd 0d 18 60 09 |6..V. ...`.| 00003340 20 20 20 20 cd 0d 18 6a 0f 20 20 20 20 78 74 25 | ...j. xt%| 00003350 2b 3d 38 30 0d 18 74 09 20 20 ed 69 25 0d 18 7e |+=80..t. .i%..~| 00003360 18 20 20 78 74 25 3d 67 72 69 64 78 25 3a 79 74 |. xt%=gridx%:yt| 00003370 25 2d 3d 38 30 0d 18 88 07 ed 6a 25 0d 18 92 05 |%-=80.....j%....| 00003380 e1 0d 18 9c 04 0d 18 a6 0a dd f2 49 6e 66 6f 0d |...........Info.| 00003390 18 b0 0e ea 20 66 61 63 74 24 2c 79 25 0d 18 ba |.... fact$,y%...| 000033a0 13 66 61 63 74 24 3d 22 22 3a 79 25 3d 31 30 38 |.fact$="":y%=108| 000033b0 0d 18 c4 2e f2 54 69 74 6c 65 28 22 49 6e 66 6f |.....Title("Info| 000033c0 72 6d 61 74 69 6f 6e 20 6f 6e 20 4e 75 6d 62 65 |rmation on Numbe| 000033d0 72 20 22 2b c3 28 64 69 67 69 74 25 29 29 0d 18 |r "+.(digit%))..| 000033e0 ce 0d e6 30 2c 30 20 c8 9c 20 30 0d 18 d8 17 f2 |...0,0 .. 0.....| 000033f0 46 61 63 74 6f 72 73 28 64 69 67 69 74 25 2c 6a |Factors(digit%,j| 00003400 25 29 0d 18 e2 19 ec 31 30 30 2c 79 25 3a f1 22 |%).....100,y%:."| 00003410 46 41 43 54 4f 52 53 3a 20 22 3b 0d 18 ec 10 e3 |FACTORS: ";.....| 00003420 69 25 3d 31 b8 6a 25 2a 32 2d 32 0d 18 f6 2c 20 |i%=1.j%*2-2..., | 00003430 20 e7 20 66 61 63 74 25 28 69 25 29 3c 3e 30 20 | . fact%(i%)<>0 | 00003440 66 61 63 74 24 2b 3d c3 28 66 61 63 74 25 28 69 |fact$+=.(fact%(i| 00003450 25 29 29 2b 22 20 22 0d 19 00 36 20 20 e7 20 a9 |%))+" "...6 . .| 00003460 28 66 61 63 74 24 29 3e 35 38 20 f1 66 61 63 74 |(fact$)>58 .fact| 00003470 24 3a 66 6c 25 3d a9 28 66 61 63 74 24 29 3a 66 |$:fl%=.(fact$):f| 00003480 61 63 74 24 3d 22 22 3a 79 25 3d 37 36 0d 19 0a |act$="":y%=76...| 00003490 07 ed 69 25 0d 19 14 29 e7 20 79 25 3d 37 36 20 |..i%...). y%=76 | 000034a0 ec 20 28 32 34 34 2b 66 6c 25 2a 31 36 29 2d a9 |. (244+fl%*16)-.| 000034b0 28 66 61 63 74 24 29 2a 31 36 2c 79 25 0d 19 1e |(fact$)*16,y%...| 000034c0 16 e7 20 66 61 63 74 24 3c 3e 22 22 20 f1 66 61 |.. fact$<>"" .fa| 000034d0 63 74 24 0d 19 28 0b ec 31 30 30 2c 37 36 0d 19 |ct$..(..100,76..| 000034e0 32 0f e6 30 2c 37 20 c8 9c 20 31 39 32 0d 19 3c |2..0,7 .. 192..<| 000034f0 31 e7 20 64 69 67 69 74 25 2f 32 3d a8 28 64 69 |1. digit%/2=.(di| 00003500 67 69 74 25 2f 32 29 20 f1 22 45 56 45 4e 20 20 |git%/2) ."EVEN | 00003510 22 3b 20 8b 20 f1 22 4f 44 44 20 20 22 3b 0d 19 |"; . ."ODD ";..| 00003520 46 10 e6 30 2c 34 38 20 c8 9c 20 31 39 32 0d 19 |F..0,48 .. 192..| 00003530 50 24 e7 20 a4 50 65 72 66 65 63 74 28 64 69 67 |P$. .Perfect(dig| 00003540 69 74 25 29 20 f1 22 50 45 52 46 45 43 54 20 20 |it%) ."PERFECT | 00003550 22 3b 0d 19 5a 0f e6 30 2c 33 20 c8 9c 20 31 39 |";..Z..0,3 .. 19| 00003560 32 0d 19 64 20 e7 20 a4 50 72 69 6d 65 28 64 69 |2..d . .Prime(di| 00003570 67 69 74 25 29 20 f1 22 50 52 49 4d 45 20 20 22 |git%) ."PRIME "| 00003580 3b 0d 19 6e 0e e6 30 2c 31 32 20 c8 9c 20 30 0d |;..n..0,12 .. 0.| 00003590 19 78 39 e7 20 a4 53 71 75 61 72 65 28 64 69 67 |.x9. .Square(dig| 000035a0 69 74 25 29 20 f1 22 53 51 55 41 52 45 20 28 22 |it%) ."SQUARE ("| 000035b0 3b c3 28 a8 28 b6 28 64 69 67 69 74 25 29 29 29 |;.(.(.(digit%)))| 000035c0 3b 22 b2 29 20 20 22 3b 0d 19 82 10 e6 30 2c 33 |;".) ";.....0,3| 000035d0 33 20 c8 9c 20 31 39 32 0d 19 8c 25 e7 20 a4 54 |3 .. 192...%. .T| 000035e0 72 69 61 6e 67 6c 65 28 64 69 67 69 74 25 29 20 |riangle(digit%) | 000035f0 f1 22 54 52 49 41 4e 47 4c 45 20 20 22 0d 19 96 |."TRIANGLE "...| 00003600 0b ec 31 30 30 2c 34 34 0d 19 a0 0d e6 30 2c 30 |..100,44.....0,0| 00003610 20 c8 9c 20 30 0d 19 aa 1e e7 20 64 69 67 69 74 | .. 0..... digit| 00003620 25 3c 3e 31 20 f2 50 72 69 6d 65 46 61 63 74 28 |%<>1 .PrimeFact(| 00003630 6a 25 29 0d 19 b4 05 e1 0d 19 be 04 0d 19 c8 13 |j%).............| 00003640 dd f2 50 72 69 6d 65 46 61 63 74 28 6a 25 29 0d |..PrimeFact(j%).| 00003650 19 d2 17 ea 20 6b 25 2c 63 6e 74 25 2c 64 25 2c |.... k%,cnt%,d%,| 00003660 70 66 61 63 74 24 0d 19 dc 1e 63 6e 74 25 3d 31 |pfact$....cnt%=1| 00003670 3a 70 66 61 63 74 24 3d 22 22 3a 64 25 3d 64 69 |:pfact$="":d%=di| 00003680 67 69 74 25 0d 19 e6 14 e7 20 63 75 72 72 25 3d |git%..... curr%=| 00003690 35 20 64 25 3d 6e 31 25 0d 19 f0 10 e3 6b 25 3d |5 d%=n1%.....k%=| 000036a0 32 b8 6a 25 2a 32 2d 33 0d 19 fa 38 20 20 e7 20 |2.j%*2-3...8 . | 000036b0 a4 50 72 69 6d 65 28 66 61 63 74 25 28 6b 25 29 |.Prime(fact%(k%)| 000036c0 29 20 70 66 61 63 74 25 28 63 6e 74 25 29 3d 66 |) pfact%(cnt%)=f| 000036d0 61 63 74 25 28 6b 25 29 3a 63 6e 74 25 2b 3d 31 |act%(k%):cnt%+=1| 000036e0 0d 1a 04 07 ed 6b 25 0d 1a 0e 16 e3 6b 25 3d 28 |.....k%.....k%=(| 000036f0 63 6e 74 25 2d 31 29 b8 31 20 88 2d 31 0d 1a 18 |cnt%-1).1 .-1...| 00003700 07 20 20 f5 0d 1a 22 1f 20 20 20 20 e7 20 28 64 |. ...". . (d| 00003710 25 20 83 20 70 66 61 63 74 25 28 6b 25 29 29 3d |% . pfact%(k%))=| 00003720 30 20 8c 0d 1a 2c 2b 20 20 20 20 20 20 70 66 61 |0 ...,+ pfa| 00003730 63 74 24 3d 70 66 61 63 74 24 2b c3 28 70 66 61 |ct$=pfact$+.(pfa| 00003740 63 74 25 28 6b 25 29 29 2b 22 20 78 20 22 0d 1a |ct%(k%))+" x "..| 00003750 36 1a 20 20 20 20 20 20 64 25 3d 64 25 2f 70 66 |6. d%=d%/pf| 00003760 61 63 74 25 28 6b 25 29 0d 1a 40 09 20 20 20 20 |act%(k%)..@. | 00003770 cd 0d 1a 4a 23 20 20 fd 20 28 64 25 20 83 20 70 |...J# . (d% . p| 00003780 66 61 63 74 25 28 6b 25 29 3c 3e 30 29 20 84 20 |fact%(k%)<>0) . | 00003790 64 25 3d 31 0d 1a 54 07 ed 6b 25 0d 1a 5e 15 70 |d%=1..T..k%..^.p| 000037a0 66 61 63 74 24 3d c0 c0 70 66 61 63 74 24 29 29 |fact$=..pfact$))| 000037b0 0d 1a 68 27 e7 20 63 75 72 72 25 3d 31 20 f1 22 |..h'. curr%=1 ."| 000037c0 50 72 69 6d 65 20 46 61 63 74 6f 72 73 3a 20 22 |Prime Factors: "| 000037d0 3b 70 66 61 63 74 24 0d 1a 72 2e e7 20 63 75 72 |;pfact$..r.. cur| 000037e0 72 25 3d 35 20 d5 23 66 69 6c 65 25 2c 22 50 72 |r%=5 .#file%,"Pr| 000037f0 69 6d 65 20 46 61 63 74 6f 72 73 3a 20 22 2b 70 |ime Factors: "+p| 00003800 66 61 63 74 24 0d 1a 7c 05 e1 0d 1a 86 04 0d 1a |fact$..|........| 00003810 90 0f dd f2 55 73 65 72 28 63 68 25 29 0d 1a 9a |....User(ch%)...| 00003820 0a ea 20 6e 75 6d 24 0d 1a a4 0d e7 20 63 68 25 |.. num$..... ch%| 00003830 3d 30 20 8c 0d 1a ae 11 20 20 f2 4d 65 6e 75 53 |=0 ..... .MenuS| 00003840 65 74 28 33 29 0d 1a b8 0d 20 20 63 75 72 72 25 |et(3).... curr%| 00003850 3d 33 0d 1a c2 05 cd 0d 1a cc 1a f2 54 69 74 6c |=3..........Titl| 00003860 65 28 22 47 72 69 64 20 4f 70 74 69 6f 6e 73 22 |e("Grid Options"| 00003870 29 0d 1a d6 14 4f 4b 24 3d 22 30 31 32 33 34 35 |)....OK$="012345| 00003880 36 37 38 39 22 0d 1a e0 28 6f 70 74 24 3d 22 57 |6789"...(opt$="W| 00003890 69 64 74 68 20 22 3a e7 20 63 68 25 3d 32 20 6f |idth ":. ch%=2 o| 000038a0 70 74 24 3d 22 48 65 69 67 68 74 20 22 0d 1a ea |pt$="Height "...| 000038b0 15 e7 20 63 68 25 3d 31 20 84 20 63 68 25 3d 32 |.. ch%=1 . ch%=2| 000038c0 20 8c 0d 1a f4 07 20 20 f5 0d 1a fe 2a 20 20 20 | ..... ....* | 000038d0 20 f2 54 69 74 6c 65 28 22 47 72 69 64 20 4f 70 | .Title("Grid Op| 000038e0 74 69 6f 6e 73 20 2d 20 53 65 74 20 22 2b 6f 70 |tions - Set "+op| 000038f0 74 24 29 0d 1b 08 22 20 20 20 20 71 24 3d 22 4e |t$)..." q$="N| 00003900 65 77 20 22 2b 6f 70 74 24 2b 22 20 28 33 2d 31 |ew "+opt$+" (3-1| 00003910 30 29 20 3f 22 0d 1b 12 20 20 20 20 20 f2 45 6e |0) ?"... .En| 00003920 74 65 72 28 38 30 2c 4f 4b 24 2c 32 2c 71 24 2c |ter(80,OK$,2,q$,| 00003930 6e 75 6d 24 29 0d 1b 1c 28 20 20 fd 20 bb 28 6e |num$)...( . .(n| 00003940 75 6d 24 29 3e 32 20 80 20 bb 28 6e 75 6d 24 29 |um$)>2 . .(num$)| 00003950 3c 31 31 20 84 20 6e 75 6d 24 3d 22 22 0d 1b 26 |<11 . num$=""..&| 00003960 2b 20 20 e7 20 63 68 25 3d 31 20 80 20 bb 28 6e |+ . ch%=1 . .(n| 00003970 75 6d 24 29 3c 3e 30 20 8c 20 77 69 64 74 68 25 |um$)<>0 . width%| 00003980 3d bb 28 6e 75 6d 24 29 0d 1b 30 2c 20 20 e7 20 |=.(num$)..0, . | 00003990 63 68 25 3d 32 20 80 20 bb 28 6e 75 6d 24 29 3c |ch%=2 . .(num$)<| 000039a0 3e 30 20 8c 20 68 65 69 67 68 74 25 3d bb 28 6e |>0 . height%=.(n| 000039b0 75 6d 24 29 0d 1b 3a 27 20 20 c8 95 20 28 6e 75 |um$)..:' .. (nu| 000039c0 6d 31 25 20 83 20 77 69 64 74 68 25 29 3c 3e 31 |m1% . width%)<>1| 000039d0 3a 6e 75 6d 31 25 2d 3d 31 3a ce 0d 1b 44 0f 20 |:num1%-=1:...D. | 000039e0 20 f2 44 72 61 77 47 72 69 64 0d 1b 4e 0f 20 20 | .DrawGrid..N. | 000039f0 f2 44 72 61 77 4e 75 6d 73 0d 1b 58 12 20 20 f2 |.DrawNums..X. .| 00003a00 53 68 6f 77 44 6f 74 73 28 30 29 0d 1b 62 11 20 |ShowDots(0)..b. | 00003a10 20 78 67 25 3d 30 3a 79 67 25 3d 30 0d 1b 6c 05 | xg%=0:yg%=0..l.| 00003a20 cd 0d 1b 76 1a f2 54 69 74 6c 65 28 22 47 72 69 |...v..Title("Gri| 00003a30 64 20 4f 70 74 69 6f 6e 73 22 29 0d 1b 80 05 e1 |d Options").....| 00003a40 0d 1b 8a 04 0d 1b 94 25 dd f2 45 6e 74 65 72 28 |.......%..Enter(| 00003a50 79 25 2c 6f 6b 24 2c 6c 25 2c 71 75 65 73 24 2c |y%,ok$,l%,ques$,| 00003a60 20 f8 20 77 6f 72 64 24 29 0d 1b 9e 0b 2a 66 78 | . word$)....*fx| 00003a70 31 35 2c 30 0d 1b a8 0c 77 6f 72 64 24 3d 22 22 |15,0....word$=""| 00003a80 0d 1b b2 08 c8 97 20 87 0d 1b bc 1c 78 25 3d 36 |...... .....x%=6| 00003a90 34 30 2d 28 a9 28 71 75 65 73 24 29 2b 6c 25 2b |40-(.(ques$)+l%+| 00003aa0 31 29 2a 38 0d 1b c6 0d e6 30 2c 30 20 c8 9c 20 |1)*8.....0,0 .. | 00003ab0 30 0d 1b d0 11 ec 78 25 2c 79 25 3a f1 71 75 65 |0.....x%,y%:.que| 00003ac0 73 24 0d 1b da 1a 78 25 2b 3d 28 a9 28 71 75 65 |s$....x%+=(.(que| 00003ad0 73 24 29 2b 6c 25 29 2a 31 36 2d 38 0d 1b e4 05 |s$)+l%)*16-8....| 00003ae0 f5 0d 1b ee 0d 20 20 63 24 3d bf 28 35 29 0d 1b |..... c$=.(5)..| 00003af0 f8 31 20 20 e6 20 38 20 c8 9c 20 31 39 32 3a 86 |.1 . 8 .. 192:.| 00003b00 20 78 25 2c 79 25 2d 33 36 2c 78 25 2b 31 36 2c | x%,y%-36,x%+16,| 00003b10 79 25 2d 33 36 3a e6 30 2c 30 20 c8 9c 20 30 0d |y%-36:.0,0 .. 0.| 00003b20 1c 02 2c 20 20 e7 20 63 24 3c 3e 22 22 20 80 20 |.., . c$<>"" . | 00003b30 a7 6f 6b 24 2c 63 24 29 3c 3e 30 20 80 20 a9 28 |.ok$,c$)<>0 . .(| 00003b40 77 6f 72 64 24 29 3c 6c 25 20 8c 0d 1c 0c 35 20 |word$)<l% ....5 | 00003b50 20 20 20 e6 20 31 32 37 20 c8 9c 20 31 39 32 3a | . 127 .. 192:| 00003b60 86 20 78 25 2c 79 25 2d 33 36 2c 78 25 2b 31 36 |. x%,y%-36,x%+16| 00003b70 2c 79 25 2d 33 36 3a e6 30 2c 30 20 c8 9c 20 30 |,y%-36:.0,0 .. 0| 00003b80 0d 1c 16 0f 20 20 20 20 ec 20 78 25 2c 79 25 0d |.... . x%,y%.| 00003b90 1c 20 0c 20 20 20 20 f1 20 63 24 0d 1c 2a 16 20 |. . . c$..*. | 00003ba0 20 20 20 77 6f 72 64 24 3d 77 6f 72 64 24 2b 63 | word$=word$+c| 00003bb0 24 0d 1c 34 0e 20 20 20 20 78 25 2b 3d 31 36 0d |$..4. x%+=16.| 00003bc0 1c 3e 07 20 20 cd 0d 1c 48 1f 20 20 e7 20 a6 28 |.>. ...H. . .(| 00003bd0 2d 31 31 33 29 20 77 6f 72 64 24 3d 22 22 3a c8 |-113) word$="":.| 00003be0 97 20 ee 3a e1 0d 1c 52 1d 20 20 e7 20 a6 28 2d |. .:...R. . .(-| 00003bf0 39 30 29 20 80 20 a9 28 77 6f 72 64 24 29 3e 30 |90) . .(word$)>0| 00003c00 20 8c 0d 1c 5c 14 20 20 20 20 e6 20 31 32 37 20 | ...\. . 127 | 00003c10 c8 9c 20 31 39 32 0d 1c 66 0e 20 20 20 20 78 25 |.. 192..f. x%| 00003c20 2d 3d 31 36 0d 1c 70 19 20 20 20 20 c8 93 c8 90 |-=16..p. ....| 00003c30 20 78 25 2c 79 25 2c 36 34 2c 2d 34 30 0d 1c 7a | x%,y%,64,-40..z| 00003c40 15 20 20 20 20 77 6f 72 64 24 3d c0 77 6f 72 64 |. word$=.word| 00003c50 24 29 0d 1c 84 0f 20 20 20 20 2a 66 78 31 35 2c |$).... *fx15,| 00003c60 30 0d 1c 8e 11 20 20 20 20 e6 30 2c 30 20 c8 9c |0.... .0,0 ..| 00003c70 20 30 0d 1c 98 07 20 20 cd 0d 1c a2 0e fd 20 63 | 0.... ...... c| 00003c80 24 3d bd 28 31 33 29 0d 1c ac 08 c8 97 20 ee 0d |$=.(13)...... ..| 00003c90 1c b6 05 e1 0d 1c c0 04 0d 1c ca 0c dd f2 53 65 |..............Se| 00003ca0 72 69 65 73 0d 1c d4 0f f2 4d 65 6e 75 53 65 74 |ries.....MenuSet| 00003cb0 28 32 29 0d 1c de 11 63 75 72 72 25 3d 32 3a 63 |(2)....curr%=2:c| 00003cc0 68 25 3d 30 0d 1c e8 0a f2 4f 6e 4f 66 66 0d 1c |h%=0.....OnOff..| 00003cd0 f2 05 e1 0d 1c fc 04 0d 1d 06 0a dd f2 48 65 6c |.............Hel| 00003ce0 70 0d 1d 10 0f f2 4d 65 6e 75 53 65 74 28 34 29 |p.....MenuSet(4)| 00003cf0 0d 1d 1a 11 63 75 72 72 25 3d 34 3a 63 68 25 3d |....curr%=4:ch%=| 00003d00 30 0d 1d 24 05 e1 0d 1d 2e 04 0d 1d 38 0f dd f2 |0..$........8...| 00003d10 54 69 74 6c 65 28 74 24 29 0d 1d 42 08 ea 20 6c |Title(t$)..B.. l| 00003d20 25 0d 1d 4c 11 e6 30 2c 31 32 37 20 c8 9c 20 31 |%..L..0,127 .. 1| 00003d30 39 32 0d 1d 56 17 c8 93 c8 90 20 34 32 2c 31 32 |92..V..... 42,12| 00003d40 2c 31 31 39 36 2c 31 33 32 0d 1d 60 12 6c 25 3d |,1196,132..`.l%=| 00003d50 36 34 30 2d a9 28 74 24 29 2a 38 0d 1d 6a 10 e6 |640-.(t$)*8..j..| 00003d60 30 2c 31 38 20 c8 9c 20 31 39 32 0d 1d 74 0c ec |0,18 .. 192..t..| 00003d70 20 6c 25 2c 31 34 30 0d 1d 7e 07 f1 74 24 0d 1d | l%,140..~..t$..| 00003d80 88 05 e1 0d 1d 92 04 0d 1d 9c 16 dd f2 4e 75 6d |.............Num| 00003d90 47 72 69 64 28 6d 78 25 2c 6d 79 25 29 0d 1d a6 |Grid(mx%,my%)...| 00003da0 51 e7 20 ac 28 6d 78 25 3e 67 72 69 64 78 25 20 |Q. .(mx%>gridx% | 00003db0 80 20 6d 78 25 3c 67 72 69 64 78 25 2b 77 69 64 |. mx%<gridx%+wid| 00003dc0 74 68 25 2a 38 30 20 80 20 6d 79 25 3c 67 72 69 |th%*80 . my%<gri| 00003dd0 64 79 25 20 80 20 6d 79 25 3e 67 72 69 64 79 25 |dy% . my%>gridy%| 00003de0 2d 68 65 69 67 68 74 25 2a 38 30 29 20 e1 0d 1d |-height%*80) ...| 00003df0 b0 0d e6 30 2c 30 20 c8 9c 20 30 0d 1d ba 2b 78 |...0,0 .. 0...+x| 00003e00 67 25 3d 67 72 69 64 78 25 2b 28 28 64 69 67 69 |g%=gridx%+((digi| 00003e10 74 25 2d 6e 75 6d 31 25 29 20 83 20 77 69 64 74 |t%-num1%) . widt| 00003e20 68 25 29 2a 38 30 0d 1d c4 2e 79 67 25 3d 67 72 |h%)*80....yg%=gr| 00003e30 69 64 79 25 2d 28 28 64 69 67 69 74 25 2d 6e 75 |idy%-((digit%-nu| 00003e40 6d 31 25 29 20 81 20 77 69 64 74 68 25 29 2a 38 |m1%) . width%)*8| 00003e50 30 2d 38 30 0d 1d ce 33 e7 20 64 69 67 69 74 25 |0-80...3. digit%| 00003e60 3e 3d 6e 75 6d 31 25 20 80 20 64 69 67 69 74 25 |>=num1% . digit%| 00003e70 3c 6e 75 6d 31 25 2b 77 69 64 74 68 25 2a 68 65 |<num1%+width%*he| 00003e80 69 67 68 74 25 20 8c 0d 1d d8 16 20 20 c8 93 20 |ight% ..... .. | 00003e90 78 67 25 2c 79 67 25 2c 38 30 2c 38 30 0d 1d e2 |xg%,yg%,80,80...| 00003ea0 13 20 20 e6 30 2c 31 32 37 20 c8 9c 20 31 39 32 |. .0,127 .. 192| 00003eb0 0d 1d ec 1a 20 20 c8 93 20 78 67 25 2b 32 2c 79 |.... .. xg%+2,y| 00003ec0 67 25 2b 34 2c 37 36 2c 37 32 0d 1d f6 05 cd 0d |g%+4,76,72......| 00003ed0 1e 00 25 78 67 25 3d 67 72 69 64 78 25 2b 28 28 |..%xg%=gridx%+((| 00003ee0 6d 78 25 2d 67 72 69 64 78 25 29 20 81 20 38 30 |mx%-gridx%) . 80| 00003ef0 29 2a 38 30 0d 1e 0a 28 79 67 25 3d 67 72 69 64 |)*80...(yg%=grid| 00003f00 79 25 2d 28 28 67 72 69 64 79 25 2d 6d 79 25 29 |y%-((gridy%-my%)| 00003f10 20 81 20 38 30 29 2a 38 30 2d 38 30 0d 1e 14 3d | . 80)*80-80...=| 00003f20 64 69 67 69 74 25 3d 6e 75 6d 31 25 2b 28 28 6d |digit%=num1%+((m| 00003f30 78 25 2d 67 72 69 64 78 25 29 20 81 20 38 30 29 |x%-gridx%) . 80)| 00003f40 2b 77 69 64 74 68 25 2a 28 28 67 72 69 64 79 25 |+width%*((gridy%| 00003f50 2d 6d 79 25 29 81 38 30 29 0d 1e 1e 0c e7 20 ac |-my%).80)..... .| 00003f60 20 67 25 20 8c 0d 1e 28 12 20 20 e6 30 2c 31 38 | g% ...(. .0,18| 00003f70 20 c8 9c 20 31 39 32 0d 1e 32 2b 20 20 c8 93 20 | .. 192..2+ .. | 00003f80 78 67 25 2c 79 67 25 2c 38 30 2c 38 30 3a c8 93 |xg%,yg%,80,80:..| 00003f90 20 78 67 25 2b 32 2c 79 67 25 2b 34 2c 37 36 2c | xg%+2,yg%+4,76,| 00003fa0 37 32 0d 1e 3c 05 cd 0d 1e 46 05 e1 0d 1e 50 04 |72..<....F....P.| 00003fb0 0d 1e 5a 13 dd f2 4d 6f 76 65 28 6d 78 25 2c 6d |..Z...Move(mx%,m| 00003fc0 79 25 29 0d 1e 64 15 ea 20 78 31 25 2c 78 32 25 |y%)..d.. x1%,x2%| 00003fd0 2c 79 31 25 2c 79 32 25 0d 1e 6e 22 78 31 25 3d |,y1%,y2%..n"x1%=| 00003fe0 67 72 69 64 78 25 2b 77 69 64 74 68 25 2a 38 30 |gridx%+width%*80| 00003ff0 2b 38 3a 78 32 25 3d 78 31 25 0d 1e 78 27 79 31 |+8:x2%=x1%..x'y1| 00004000 25 3d 67 72 69 64 79 25 2d 34 38 3a 79 32 25 3d |%=gridy%-48:y2%=| 00004010 67 72 69 64 79 25 2d 68 65 69 67 68 74 25 2a 38 |gridy%-height%*8| 00004020 30 0d 1e 82 0b 6d 6f 76 65 25 3d 30 0d 1e 8c 44 |0....move%=0...D| 00004030 e7 20 6d 78 25 3e 78 31 25 20 80 20 6d 78 25 3c |. mx%>x1% . mx%<| 00004040 78 31 25 2b 34 38 20 80 20 6d 79 25 3e 79 31 25 |x1%+48 . my%>y1%| 00004050 20 80 20 6d 79 25 3c 79 31 25 2b 34 38 20 80 20 | . my%<y1%+48 . | 00004060 6e 75 6d 31 25 3e 31 20 6d 6f 76 65 25 3d 2d 31 |num1%>1 move%=-1| 00004070 0d 1e 96 55 e7 20 6d 78 25 3e 78 32 25 20 80 20 |...U. mx%>x2% . | 00004080 6d 78 25 3c 78 32 25 2b 34 38 20 80 20 6d 79 25 |mx%<x2%+48 . my%| 00004090 3e 79 32 25 20 80 20 6d 79 25 3c 79 32 25 2b 34 |>y2% . my%<y2%+4| 000040a0 38 20 80 20 6e 75 6d 31 25 2b 68 65 69 67 68 74 |8 . num1%+height| 000040b0 25 2a 77 69 64 74 68 25 3c 31 30 30 30 20 6d 6f |%*width%<1000 mo| 000040c0 76 65 25 3d 31 0d 1e a0 1a e7 20 6d 6f 76 65 25 |ve%=1..... move%| 000040d0 3d 31 20 84 20 6d 6f 76 65 25 3d 2d 31 20 8c 0d |=1 . move%=-1 ..| 000040e0 1e aa 19 20 20 6e 75 6d 31 25 2b 3d 77 69 64 74 |... num1%+=widt| 000040f0 68 25 2a 6d 6f 76 65 25 0d 1e b4 11 20 20 e7 20 |h%*move%.... . | 00004100 6d 6f 76 65 25 3d 31 20 8c 0d 1e be 45 20 20 20 |move%=1 ....E | 00004110 20 ec 20 67 72 69 64 78 25 2c 67 72 69 64 79 25 | . gridx%,gridy%| 00004120 2d 38 30 3a ec 67 72 69 64 78 25 2b 77 69 64 74 |-80:.gridx%+widt| 00004130 68 25 2a 38 30 2c 67 72 69 64 79 25 2d 38 30 2d |h%*80,gridy%-80-| 00004140 28 68 65 69 67 68 74 25 2d 31 29 2a 38 30 0d 1e |(height%-1)*80..| 00004150 c8 28 20 20 20 20 c8 99 20 22 4f 53 5f 53 70 72 |.( .. "OS_Spr| 00004160 69 74 65 4f 70 22 2c 32 35 36 2b 31 34 2c 53 25 |iteOp",256+14,S%| 00004170 2c 22 62 6f 78 22 0d 1e d2 47 20 20 20 20 c8 99 |,"box"...G ..| 00004180 20 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c 32 | "OS_SpriteOp",2| 00004190 35 36 2b 33 34 2c 53 25 2c 22 62 6f 78 22 2c 67 |56+34,S%,"box",g| 000041a0 72 69 64 78 25 2c 67 72 69 64 79 25 2d 28 68 65 |ridx%,gridy%-(he| 000041b0 69 67 68 74 25 2d 31 29 2a 38 30 2c 30 0d 1e dc |ight%-1)*80,0...| 000041c0 16 20 20 20 20 f2 55 70 64 61 74 65 28 6d 6f 76 |. .Update(mov| 000041d0 65 25 29 0d 1e e6 07 20 20 cd 0d 1e f0 12 20 20 |e%).... ..... | 000041e0 e7 20 6d 6f 76 65 25 3d 2d 31 20 8c 0d 1e fa 3f |. move%=-1 ....?| 000041f0 20 20 20 20 ec 20 67 72 69 64 78 25 2c 67 72 69 | . gridx%,gri| 00004200 64 79 25 3a ec 67 72 69 64 78 25 2b 77 69 64 74 |dy%:.gridx%+widt| 00004210 68 25 2a 38 30 2c 67 72 69 64 79 25 2d 28 68 65 |h%*80,gridy%-(he| 00004220 69 67 68 74 25 2d 31 29 2a 38 30 0d 1f 04 28 20 |ight%-1)*80...( | 00004230 20 20 20 c8 99 20 22 4f 53 5f 53 70 72 69 74 65 | .. "OS_Sprite| 00004240 4f 70 22 2c 32 35 36 2b 31 34 2c 53 25 2c 22 62 |Op",256+14,S%,"b| 00004250 6f 78 22 0d 1f 0e 45 20 20 20 20 c8 99 20 22 4f |ox"...E .. "O| 00004260 53 5f 53 70 72 69 74 65 4f 70 22 2c 32 35 36 2b |S_SpriteOp",256+| 00004270 33 34 2c 53 25 2c 22 62 6f 78 22 2c 67 72 69 64 |34,S%,"box",grid| 00004280 78 25 2c 67 72 69 64 79 25 2d 28 68 65 69 67 68 |x%,gridy%-(heigh| 00004290 74 25 29 2a 38 30 2c 30 0d 1f 18 16 20 20 20 20 |t%)*80,0.... | 000042a0 f2 55 70 64 61 74 65 28 6d 6f 76 65 25 29 0d 1f |.Update(move%)..| 000042b0 22 07 20 20 cd 0d 1f 2c 05 cd 0d 1f 36 05 e1 0d |". ...,....6...| 000042c0 1f 40 04 0d 1f 4a 24 dd f2 4d 65 6e 75 43 68 6f |.@...J$..MenuCho| 000042d0 69 63 65 28 6d 65 6e 25 2c 6d 78 25 2c 6d 79 25 |ice(men%,mx%,my%| 000042e0 2c f8 20 63 68 25 29 0d 1f 54 0b ea 20 78 25 2c |,. ch%)..T.. x%,| 000042f0 79 25 0d 1f 5e 09 63 68 25 3d 30 0d 1f 68 0b 69 |y%..^.ch%=0..h.i| 00004300 74 65 6d 25 3d 31 0d 1f 72 05 f5 0d 1f 7c 1c 20 |tem%=1..r....|. | 00004310 20 79 25 3d 6d 65 6e 75 25 28 6d 65 6e 25 2c 69 | y%=menu%(men%,i| 00004320 74 65 6d 25 2c 31 29 0d 1f 86 39 20 20 e7 20 6d |tem%,1)...9 . m| 00004330 78 25 3e 35 30 20 80 20 6d 78 25 3c 31 31 38 20 |x%>50 . mx%<118 | 00004340 80 20 6d 79 25 3e 79 25 20 80 20 6d 79 25 3c 79 |. my%>y% . my%<y| 00004350 25 2b 36 38 20 8c 20 63 68 25 3d 69 74 65 6d 25 |%+68 . ch%=item%| 00004360 0d 1f 90 0e 20 20 69 74 65 6d 25 2b 3d 31 0d 1f |.... item%+=1..| 00004370 9a 17 fd 20 63 68 25 3c 3e 30 20 84 20 69 74 65 |... ch%<>0 . ite| 00004380 6d 25 3d 31 30 0d 1f a4 05 e1 0d 1f ae 04 0d 1f |m%=10...........| 00004390 b8 0b dd f2 53 65 74 55 70 0d 1f c2 10 6d 61 78 |....SetUp....max| 000043a0 73 74 61 63 6b 25 3d 35 30 0d 1f cc 41 de 20 6d |stack%=50...A. m| 000043b0 65 6e 75 25 28 31 30 2c 39 2c 31 29 2c 66 61 63 |enu%(10,9,1),fac| 000043c0 74 25 28 31 30 30 29 2c 66 6c 61 67 28 31 30 29 |t%(100),flag(10)| 000043d0 2c 66 69 62 25 28 31 36 29 2c 63 6f 6c 25 28 34 |,fib%(16),col%(4| 000043e0 29 2c 74 69 6e 74 25 28 34 29 0d 1f d6 38 de 20 |),tint%(4)...8. | 000043f0 68 65 6c 70 24 28 38 2c 34 29 2c 66 24 28 36 29 |help$(8,4),f$(6)| 00004400 2c 66 6f 75 72 25 28 31 35 2c 31 35 29 2c 70 66 |,four%(15,15),pf| 00004410 61 63 74 25 28 31 30 29 2c 64 61 25 20 32 34 30 |act%(10),da% 240| 00004420 30 30 0d 1f e0 38 de 20 73 74 61 63 6b 25 28 6d |00...8. stack%(m| 00004430 61 78 73 74 61 63 6b 25 29 2c 62 28 32 30 2c 32 |axstack%),b(20,2| 00004440 30 29 2c 75 73 25 28 33 29 2c 61 73 25 28 33 29 |0),us%(3),as%(3)| 00004450 2c 73 25 28 32 30 2c 32 30 29 0d 1f ea 11 e6 30 |,s%(20,20).....0| 00004460 2c 31 39 31 20 c8 9c 20 30 3a da 0d 1f f4 1c f4 |,191 .. 0:......| 00004470 20 2a 2a 2a 20 52 45 41 44 20 4d 45 4e 55 20 44 | *** READ MENU D| 00004480 41 54 41 20 2a 2a 2a 0d 1f fe 10 e3 20 6d 65 6e |ATA ***..... men| 00004490 25 3d 31 20 b8 20 38 0d 20 08 0c 20 20 63 6e 74 |%=1 . 8. .. cnt| 000044a0 25 3d 31 0d 20 12 0a 20 20 f3 20 79 25 0d 20 1c |%=1. .. . y%. .| 000044b0 07 20 20 f5 0d 20 26 0c 20 20 20 20 f3 20 6e 25 |. .. &. . n%| 000044c0 0d 20 30 1d 20 20 20 20 6d 65 6e 75 25 28 6d 65 |. 0. menu%(me| 000044d0 6e 25 2c 63 6e 74 25 2c 30 29 3d 6e 25 0d 20 3a |n%,cnt%,0)=n%. :| 000044e0 2a 20 20 20 20 6d 65 6e 75 25 28 6d 65 6e 25 2c |* menu%(men%,| 000044f0 63 6e 74 25 2c 31 29 3d 79 25 2d 28 63 6e 74 25 |cnt%,1)=y%-(cnt%| 00004500 2d 31 29 2a 31 30 30 0d 20 44 0f 20 20 20 20 63 |-1)*100. D. c| 00004510 6e 74 25 2b 3d 31 0d 20 4e 0e 20 20 fd 20 6e 25 |nt%+=1. N. . n%| 00004520 3d 39 39 39 0d 20 58 0a ed 20 6d 65 6e 25 0d 20 |=999. X.. men%. | 00004530 62 1e f4 20 2a 2a 2a 20 46 69 62 6f 6e 61 63 63 |b.. *** Fibonacc| 00004540 69 20 53 65 72 69 65 73 20 2a 2a 2a 0d 20 6c 0f |i Series ***. l.| 00004550 e3 20 69 25 3d 31 20 b8 20 31 36 0d 20 76 10 20 |. i%=1 . 16. v. | 00004560 20 f3 20 66 69 62 25 28 69 25 29 0d 20 80 07 ed | . fib%(i%). ...| 00004570 69 25 0d 20 8a 0b e3 69 25 3d 31 b8 34 0d 20 94 |i%. ...i%=1.4. .| 00004580 1a 20 20 f3 20 63 6f 6c 25 28 69 25 29 2c 74 69 |. . col%(i%),ti| 00004590 6e 74 25 28 69 25 29 0d 20 9e 07 ed 69 25 0d 20 |nt%(i%). ...i%. | 000045a0 a8 25 f4 20 2a 2a 2a 20 48 65 6c 70 20 54 65 78 |.%. *** Help Tex| 000045b0 74 20 6f 6e 20 53 65 72 69 65 73 20 65 74 63 20 |t on Series etc | 000045c0 2a 2a 2a 0d 20 b2 0c e3 20 69 25 3d 31 b8 37 0d |***. ... i%=1.7.| 000045d0 20 bc 37 20 20 f3 20 68 65 6c 70 24 28 69 25 2c | .7 . help$(i%,| 000045e0 31 29 2c 68 65 6c 70 24 28 69 25 2c 32 29 2c 68 |1),help$(i%,2),h| 000045f0 65 6c 70 24 28 69 25 2c 33 29 2c 68 65 6c 70 24 |elp$(i%,3),help$| 00004600 28 69 25 2c 34 29 0d 20 c6 07 ed 69 25 0d 20 d0 |(i%,4). ...i%. .| 00004610 0b e3 69 25 3d 31 b8 35 0d 20 da 0e 20 20 f3 20 |..i%=1.5. .. . | 00004620 66 24 28 69 25 29 0d 20 e4 07 ed 69 25 0d 20 ee |f$(i%). ...i%. .| 00004630 0f f2 4d 65 6e 75 53 65 74 28 31 29 0d 20 f8 31 |..MenuSet(1). .1| 00004640 c8 99 20 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 |.. "OS_SpriteOp"| 00004650 2c 32 35 36 2b 33 34 2c 53 25 2c 22 74 69 74 6c |,256+34,S%,"titl| 00004660 65 22 2c 31 30 33 32 2c 37 30 30 2c 30 0d 21 02 |e",1032,700,0.!.| 00004670 1e f4 20 2a 2a 2a 20 47 4c 4f 42 41 4c 20 56 41 |.. *** GLOBAL VA| 00004680 52 49 41 42 4c 45 53 20 2a 2a 2a 0d 21 0c 41 6d |RIABLES ***.!.Am| 00004690 61 78 6e 75 6d 25 3d 31 30 30 30 3a 77 69 64 74 |axnum%=1000:widt| 000046a0 68 25 3d 31 30 3a 68 65 69 67 68 74 25 3d 31 30 |h%=10:height%=10| 000046b0 3a 6e 75 6d 31 25 3d 31 3a 63 75 72 72 25 3d 31 |:num1%=1:curr%=1| 000046c0 3a 78 67 25 3d 30 3a 79 67 25 3d 30 0d 21 16 35 |:xg%=0:yg%=0.!.5| 000046d0 64 69 67 69 74 25 3d 31 3a 66 6c 61 67 28 29 3d |digit%=1:flag()=| 000046e0 a3 3a 6d 75 6c 74 25 3d 2d 31 3a 72 6d 69 6e 25 |.:mult%=-1:rmin%| 000046f0 3d 31 3a 72 6d 61 78 25 3d 31 30 30 3a 67 25 3d |=1:rmax%=100:g%=| 00004700 a3 0d 21 20 22 67 72 69 64 78 25 3d 31 38 30 3a |..! "gridx%=180:| 00004710 67 72 69 64 79 25 3d 39 36 30 3a 65 6e 63 6f 72 |gridy%=960:encor| 00004720 65 3d a3 0d 21 2a 45 75 73 25 28 31 29 3d 31 31 |e=..!*Eus%(1)=11| 00004730 3a 75 73 25 28 32 29 3d 37 30 3a 75 73 25 28 33 |:us%(2)=70:us%(3| 00004740 29 3d 31 30 30 30 3a 61 73 25 28 31 29 3d 31 38 |)=1000:as%(1)=18| 00004750 3a 61 73 25 28 32 29 3d 31 32 30 3a 61 73 25 28 |:as%(2)=120:as%(| 00004760 33 29 3d 31 30 30 30 30 0d 21 34 0d f2 44 72 61 |3)=10000.!4..Dra| 00004770 77 47 72 69 64 0d 21 3e 0d f2 44 72 61 77 4e 75 |wGrid.!>..DrawNu| 00004780 6d 73 0d 21 48 0d e6 30 2c 30 20 c8 9c 20 30 0d |ms.!H..0,0 .. 0.| 00004790 21 52 14 c8 93 20 34 30 2c 38 2c 31 32 30 30 2c |!R... 40,8,1200,| 000047a0 31 34 30 0d 21 5c 05 e1 0d 21 66 04 0d 21 70 10 |140.!\...!f..!p.| 000047b0 dd f2 55 70 64 61 74 65 28 6d 25 29 0d 21 7a 0d |..Update(m%).!z.| 000047c0 ea 78 25 2c 79 25 2c 68 25 0d 21 84 08 68 25 3d |.x%,y%,h%.!..h%=| 000047d0 31 0d 21 8e 1a 78 25 3d 67 72 69 64 78 25 3a 79 |1.!..x%=gridx%:y| 000047e0 25 3d 67 72 69 64 79 25 2d 38 30 0d 21 98 0c e7 |%=gridy%-80.!...| 000047f0 20 6d 25 3d 31 20 8c 0d 21 a2 1a 20 20 79 25 3d | m%=1 ..!.. y%=| 00004800 67 72 69 64 79 25 2d 68 65 69 67 68 74 25 2a 38 |gridy%-height%*8| 00004810 30 0d 21 ac 10 20 20 68 25 3d 68 65 69 67 68 74 |0.!.. h%=height| 00004820 25 0d 21 b6 05 cd 0d 21 c0 11 e6 30 2c 31 32 37 |%.!....!...0,127| 00004830 20 c8 9c 20 31 39 32 0d 21 ca 1b c8 93 c8 90 20 | .. 192.!...... | 00004840 78 25 2c 79 25 2c 38 30 2a 77 69 64 74 68 25 2c |x%,y%,80*width%,| 00004850 38 30 0d 21 d4 0d e6 30 2c 30 20 c8 9c 20 30 0d |80.!...0,0 .. 0.| 00004860 21 de 10 e3 69 25 3d 31 b8 77 69 64 74 68 25 0d |!...i%=1.width%.| 00004870 21 e8 1e 20 20 c8 93 20 78 25 2b 28 69 25 2d 31 |!.. .. x%+(i%-1| 00004880 29 2a 38 30 2c 79 25 2c 38 30 2c 38 30 0d 21 f2 |)*80,y%,80,80.!.| 00004890 07 ed 69 25 0d 21 fc 11 78 25 2b 3d 34 30 3a 79 |..i%.!..x%+=40:y| 000048a0 25 2b 3d 35 32 0d 22 06 10 e3 69 25 3d 31 b8 77 |%+=52."...i%=1.w| 000048b0 69 64 74 68 25 0d 22 10 23 20 20 6e 75 6d 25 3d |idth%.".# num%=| 000048c0 6e 75 6d 31 25 2b 69 25 2b 28 68 25 2d 31 29 2a |num1%+i%+(h%-1)*| 000048d0 77 69 64 74 68 25 2d 31 0d 22 1a 11 20 20 e7 20 |width%-1.".. . | 000048e0 6d 75 6c 74 25 3e 30 20 8c 0d 22 24 25 20 20 20 |mult%>0 .."$% | 000048f0 20 e7 20 28 6e 75 6d 25 20 83 20 6d 75 6c 74 25 | . (num% . mult%| 00004900 29 3d 30 20 e6 30 2c 34 38 20 c8 9c 20 30 0d 22 |)=0 .0,48 .. 0."| 00004910 2e 07 20 20 cd 0d 22 38 1e 20 20 78 70 25 3d 78 |.. .."8. xp%=x| 00004920 25 2d 28 a9 28 c3 28 6e 75 6d 25 29 29 2a 31 36 |%-(.(.(num%))*16| 00004930 29 2f 32 0d 22 42 0d 20 20 ec 78 70 25 2c 79 25 |)/2."B. .xp%,y%| 00004940 0d 22 4c 0e 20 20 f1 c3 28 6e 75 6d 25 29 0d 22 |."L. ..(num%)."| 00004950 56 0f 20 20 e6 30 2c 30 20 c8 9c 20 30 0d 22 60 |V. .0,0 .. 0."`| 00004960 0c 20 20 78 25 2b 3d 38 30 0d 22 6a 07 ed 69 25 |. x%+=80."j..i%| 00004970 0d 22 74 11 f2 53 68 6f 77 44 6f 74 73 28 6d 25 |."t..ShowDots(m%| 00004980 29 0d 22 7e 33 e7 20 64 69 67 69 74 25 3e 3d 6e |)."~3. digit%>=n| 00004990 75 6d 31 25 20 80 20 64 69 67 69 74 25 3c 6e 75 |um1% . digit%<nu| 000049a0 6d 31 25 2b 77 69 64 74 68 25 20 80 20 6d 25 3d |m1%+width% . m%=| 000049b0 2d 31 20 8c 0d 22 88 2c 20 20 78 25 3d 67 72 69 |-1 .."., x%=gri| 000049c0 64 78 25 2b 28 28 64 69 67 69 74 25 2d 6e 75 6d |dx%+((digit%-num| 000049d0 31 25 29 20 83 20 77 69 64 74 68 25 29 2a 38 30 |1%) . width%)*80| 000049e0 0d 22 92 12 20 20 79 25 3d 67 72 69 64 79 25 2d |.".. y%=gridy%-| 000049f0 38 30 0d 22 9c 12 20 20 e6 30 2c 31 38 20 c8 9c |80.".. .0,18 ..| 00004a00 20 31 39 32 0d 22 a6 27 20 20 c8 93 20 78 25 2c | 192.".' .. x%,| 00004a10 79 25 2c 38 30 2c 38 30 3a c8 93 20 78 25 2b 32 |y%,80,80:.. x%+2| 00004a20 2c 79 25 2b 34 2c 37 36 2c 37 32 0d 22 b0 05 cd |,y%+4,76,72."...| 00004a30 0d 22 ba 4d e7 20 64 69 67 69 74 25 3e 3d 6e 75 |.".M. digit%>=nu| 00004a40 6d 31 25 2b 28 68 65 69 67 68 74 25 2d 31 29 2a |m1%+(height%-1)*| 00004a50 77 69 64 74 68 25 20 80 20 64 69 67 69 74 25 3c |width% . digit%<| 00004a60 6e 75 6d 31 25 2b 68 65 69 67 68 74 25 2a 77 69 |num1%+height%*wi| 00004a70 64 74 68 25 20 80 20 6d 25 3d 31 20 8c 0d 22 c4 |dth% . m%=1 ..".| 00004a80 2c 20 20 78 25 3d 67 72 69 64 78 25 2b 28 28 64 |, x%=gridx%+((d| 00004a90 69 67 69 74 25 2d 6e 75 6d 31 25 29 20 83 20 77 |igit%-num1%) . w| 00004aa0 69 64 74 68 25 29 2a 38 30 0d 22 ce 1a 20 20 79 |idth%)*80.".. y| 00004ab0 25 3d 67 72 69 64 79 25 2d 68 65 69 67 68 74 25 |%=gridy%-height%| 00004ac0 2a 38 30 0d 22 d8 12 20 20 e6 30 2c 31 38 20 c8 |*80.".. .0,18 .| 00004ad0 9c 20 31 39 32 0d 22 e2 27 20 20 c8 93 20 78 25 |. 192.".' .. x%| 00004ae0 2c 79 25 2c 38 30 2c 38 30 3a c8 93 20 78 25 2b |,y%,80,80:.. x%+| 00004af0 32 2c 79 25 2b 34 2c 37 36 2c 37 32 0d 22 ec 05 |2,y%+4,76,72."..| 00004b00 cd 0d 22 f6 05 e1 0d 23 00 04 0d 23 0a 0e dd f2 |.."....#...#....| 00004b10 44 72 61 77 4e 75 6d 73 0d 23 14 16 ea 20 6e 75 |DrawNums.#... nu| 00004b20 6d 25 2c 69 25 2c 6a 25 2c 78 25 2c 79 25 0d 23 |m%,i%,j%,x%,y%.#| 00004b30 1e 0d e6 30 2c 30 20 c8 9c 20 30 0d 23 28 1d 78 |...0,0 .. 0.#(.x| 00004b40 25 3d 67 72 69 64 78 25 2b 34 30 3a 79 25 3d 67 |%=gridx%+40:y%=g| 00004b50 72 69 64 79 25 2d 32 38 0d 23 32 11 e3 6a 25 3d |ridy%-28.#2..j%=| 00004b60 31 b8 68 65 69 67 68 74 25 0d 23 3c 12 20 20 e3 |1.height%.#<. .| 00004b70 69 25 3d 31 b8 77 69 64 74 68 25 0d 23 46 25 20 |i%=1.width%.#F% | 00004b80 20 20 20 6e 75 6d 25 3d 6e 75 6d 31 25 2b 69 25 | num%=num1%+i%| 00004b90 2b 28 6a 25 2d 31 29 2a 77 69 64 74 68 25 2d 31 |+(j%-1)*width%-1| 00004ba0 0d 23 50 13 20 20 20 20 e7 20 6d 75 6c 74 25 3e |.#P. . mult%>| 00004bb0 30 20 8c 0d 23 5a 2e 20 20 20 20 20 20 e7 20 28 |0 ..#Z. . (| 00004bc0 6e 75 6d 25 20 83 20 6d 75 6c 74 25 29 3d 30 20 |num% . mult%)=0 | 00004bd0 80 20 ac 20 67 25 20 e6 30 2c 34 38 20 c8 9c 20 |. . g% .0,48 .. | 00004be0 30 0d 23 64 09 20 20 20 20 cd 0d 23 6e 1b 20 20 |0.#d. ..#n. | 00004bf0 20 20 e7 20 6d 75 6c 74 25 3d 30 20 e6 30 2c 30 | . mult%=0 .0,0| 00004c00 20 c8 9c 20 30 0d 23 78 20 20 20 20 20 78 70 25 | .. 0.#x xp%| 00004c10 3d 78 25 2d 28 a9 28 c3 28 6e 75 6d 25 29 29 2a |=x%-(.(.(num%))*| 00004c20 31 36 29 2f 32 0d 23 82 0f 20 20 20 20 ec 78 70 |16)/2.#.. .xp| 00004c30 25 2c 79 25 0d 23 8c 10 20 20 20 20 f1 c3 28 6e |%,y%.#.. ..(n| 00004c40 75 6d 25 29 0d 23 96 11 20 20 20 20 e6 30 2c 30 |um%).#.. .0,0| 00004c50 20 c8 9c 20 30 0d 23 a0 0e 20 20 20 20 78 25 2b | .. 0.#.. x%+| 00004c60 3d 38 30 0d 23 aa 09 20 20 ed 69 25 0d 23 b4 12 |=80.#.. .i%.#..| 00004c70 20 20 78 25 3d 67 72 69 64 78 25 2b 34 30 0d 23 | x%=gridx%+40.#| 00004c80 be 0c 20 20 79 25 2d 3d 38 30 0d 23 c8 07 ed 6a |.. y%-=80.#...j| 00004c90 25 0d 23 d2 33 e7 20 64 69 67 69 74 25 3e 3d 6e |%.#.3. digit%>=n| 00004ca0 75 6d 31 25 20 80 20 64 69 67 69 74 25 3c 6e 75 |um1% . digit%<nu| 00004cb0 6d 31 25 2b 68 65 69 67 68 74 25 2a 77 69 64 74 |m1%+height%*widt| 00004cc0 68 25 20 8c 0d 23 dc 2c 20 20 78 25 3d 67 72 69 |h% ..#., x%=gri| 00004cd0 64 78 25 2b 28 28 64 69 67 69 74 25 2d 6e 75 6d |dx%+((digit%-num| 00004ce0 31 25 29 20 83 20 77 69 64 74 68 25 29 2a 38 30 |1%) . width%)*80| 00004cf0 0d 23 e6 2f 20 20 79 25 3d 67 72 69 64 79 25 2d |.#./ y%=gridy%-| 00004d00 28 28 64 69 67 69 74 25 2d 6e 75 6d 31 25 29 20 |((digit%-num1%) | 00004d10 81 20 77 69 64 74 68 25 29 2a 38 30 2d 38 30 0d |. width%)*80-80.| 00004d20 23 f0 12 20 20 e6 30 2c 31 38 20 c8 9c 20 31 39 |#.. .0,18 .. 19| 00004d30 32 0d 23 fa 27 20 20 c8 93 20 78 25 2c 79 25 2c |2.#.' .. x%,y%,| 00004d40 38 30 2c 38 30 3a c8 93 20 78 25 2b 32 2c 79 25 |80,80:.. x%+2,y%| 00004d50 2b 34 2c 37 36 2c 37 32 0d 24 04 05 cd 0d 24 0e |+4,76,72.$....$.| 00004d60 05 e1 0d 24 18 04 0d 24 22 0e dd f2 44 72 61 77 |...$...$"...Draw| 00004d70 47 72 69 64 0d 24 2c 0b ea 20 78 25 2c 79 25 0d |Grid.$,.. x%,y%.| 00004d80 24 36 13 e6 30 2c 31 39 31 2d 31 32 38 20 c8 9c |$6..0,191-128 ..| 00004d90 20 30 0d 24 40 19 c8 93 c8 90 20 31 38 30 2c 39 | 0.$@..... 180,9| 00004da0 36 30 2c 38 36 30 2c 2d 38 30 30 0d 24 4a 11 e6 |60,860,-800.$J..| 00004db0 30 2c 31 32 37 20 c8 9c 20 31 39 32 0d 24 54 1c |0,127 .. 192.$T.| 00004dc0 67 72 69 64 78 25 3d 35 38 30 2d 28 77 69 64 74 |gridx%=580-(widt| 00004dd0 68 25 2a 38 30 29 2f 32 0d 24 5e 1d 67 72 69 64 |h%*80)/2.$^.grid| 00004de0 79 25 3d 35 36 30 2b 28 68 65 69 67 68 74 25 2a |y%=560+(height%*| 00004df0 38 30 29 2f 32 0d 24 68 2c c8 93 c8 90 20 67 72 |80)/2.$h,.... gr| 00004e00 69 64 78 25 2c 67 72 69 64 79 25 2c 77 69 64 74 |idx%,gridy%,widt| 00004e10 68 25 2a 38 30 2c 2d 68 65 69 67 68 74 25 2a 38 |h%*80,-height%*8| 00004e20 30 0d 24 72 0d e6 30 2c 30 20 c8 9c 20 30 0d 24 |0.$r..0,0 .. 0.$| 00004e30 7c 10 79 25 3d 67 72 69 64 79 25 2d 38 30 0d 24 ||.y%=gridy%-80.$| 00004e40 86 11 e3 69 25 3d 31 b8 68 65 69 67 68 74 25 0d |...i%=1.height%.| 00004e50 24 90 15 20 20 e3 20 78 25 3d 31 20 b8 20 77 69 |$.. . x%=1 . wi| 00004e60 64 74 68 25 0d 24 9a 24 20 20 20 20 c8 93 20 67 |dth%.$.$ .. g| 00004e70 72 69 64 78 25 2b 28 78 25 2d 31 29 2a 38 30 2c |ridx%+(x%-1)*80,| 00004e80 79 25 2c 38 30 2c 38 30 0d 24 a4 09 20 20 ed 78 |y%,80,80.$.. .x| 00004e90 25 0d 24 ae 0c 20 20 79 25 2d 3d 38 30 0d 24 b8 |%.$.. y%-=80.$.| 00004ea0 07 ed 69 25 0d 24 c2 0c e7 20 ac 20 67 25 20 8c |..i%.$... . g% .| 00004eb0 0d 24 cc 44 20 20 c8 99 20 22 4f 53 5f 53 70 72 |.$.D .. "OS_Spr| 00004ec0 69 74 65 4f 70 22 2c 32 35 36 2b 33 34 2c 53 25 |iteOp",256+34,S%| 00004ed0 2c 22 75 70 22 2c 67 72 69 64 78 25 2b 77 69 64 |,"up",gridx%+wid| 00004ee0 74 68 25 2a 38 30 2b 38 2c 67 72 69 64 79 25 2d |th%*80+8,gridy%-| 00004ef0 34 38 2c 30 0d 24 d6 4e 20 20 c8 99 20 22 4f 53 |48,0.$.N .. "OS| 00004f00 5f 53 70 72 69 74 65 4f 70 22 2c 32 35 36 2b 33 |_SpriteOp",256+3| 00004f10 34 2c 53 25 2c 22 64 6f 77 6e 22 2c 67 72 69 64 |4,S%,"down",grid| 00004f20 78 25 2b 77 69 64 74 68 25 2a 38 30 2b 38 2c 67 |x%+width%*80+8,g| 00004f30 72 69 64 79 25 2d 68 65 69 67 68 74 25 2a 38 30 |ridy%-height%*80| 00004f40 2c 30 0d 24 e0 05 cd 0d 24 ea 05 e1 0d 24 f4 04 |,0.$....$....$..| 00004f50 0d 24 fe 11 dd f2 4d 65 6e 75 53 65 74 28 6d 25 |.$....MenuSet(m%| 00004f60 29 0d 25 08 16 ea 20 63 6e 74 25 2c 78 25 2c 79 |).%... cnt%,x%,y| 00004f70 25 2c 69 63 6f 6e 24 0d 25 12 13 e6 30 2c 31 39 |%,icon$.%...0,19| 00004f80 31 2d 31 32 38 20 c8 9c 20 30 0d 25 1c 17 c8 93 |1-128 .. 0.%....| 00004f90 c8 90 20 34 30 2c 31 36 30 2c 31 33 30 2c 39 30 |.. 40,160,130,90| 00004fa0 30 0d 25 26 10 63 6e 74 25 3d 31 3a 78 25 3d 35 |0.%&.cnt%=1:x%=5| 00004fb0 30 0d 25 30 1c c8 95 20 6d 65 6e 75 25 28 6d 25 |0.%0... menu%(m%| 00004fc0 2c 63 6e 74 25 2c 30 29 3c 3e 39 39 39 0d 25 3a |,cnt%,0)<>999.%:| 00004fd0 1f 20 20 69 63 6f 6e 24 3d c3 28 6d 65 6e 75 25 |. icon$=.(menu%| 00004fe0 28 6d 25 2c 63 6e 74 25 2c 30 29 29 0d 25 44 19 |(m%,cnt%,0)).%D.| 00004ff0 20 20 79 25 3d 6d 65 6e 75 25 28 6d 25 2c 63 6e | y%=menu%(m%,cn| 00005000 74 25 2c 31 29 0d 25 4e 2e 20 20 c8 99 20 22 4f |t%,1).%N. .. "O| 00005010 53 5f 53 70 72 69 74 65 4f 70 22 2c 32 35 36 2b |S_SpriteOp",256+| 00005020 33 34 2c 53 25 2c 69 63 6f 6e 24 2c 78 25 2c 79 |34,S%,icon$,x%,y| 00005030 25 2c 30 0d 25 58 0d 20 20 63 6e 74 25 2b 3d 31 |%,0.%X. cnt%+=1| 00005040 0d 25 62 05 ce 0d 25 6c 0b c8 8e 20 6d 25 20 ca |.%b...%l... m% .| 00005050 0d 25 76 1e 20 20 c9 20 31 3a 20 f2 54 69 74 6c |.%v. . 1: .Titl| 00005060 65 28 22 4d 61 69 6e 20 4d 65 6e 75 22 29 0d 25 |e("Main Menu").%| 00005070 80 2a 20 20 c9 20 32 3a 20 f2 54 69 74 6c 65 28 |.* . 2: .Title(| 00005080 22 44 69 73 70 6c 61 79 20 4e 75 6d 62 65 72 20 |"Display Number | 00005090 53 65 72 69 65 73 22 29 0d 25 8a 19 20 20 20 20 |Series").%.. | 000050a0 20 20 20 20 20 20 e7 20 66 6c 61 67 28 35 29 20 | . flag(5) | 000050b0 8c 0d 25 94 1b 20 20 20 20 20 20 20 20 20 20 20 |..%.. | 000050c0 20 e6 30 2c 33 20 c8 9c 20 31 39 32 0d 25 9e 19 | .0,3 .. 192.%..| 000050d0 20 20 20 20 20 20 20 20 20 20 20 20 ec 20 31 33 | . 13| 000050e0 30 2c 34 32 38 0d 25 a8 19 20 20 20 20 20 20 20 |0,428.%.. | 000050f0 20 20 20 20 20 f1 c3 28 6d 75 6c 74 25 29 0d 25 | ..(mult%).%| 00005100 b2 0f 20 20 20 20 20 20 20 20 20 20 cd 0d 25 bc |.. ..%.| 00005110 28 20 20 c9 20 34 3a 20 f2 54 69 74 6c 65 28 22 |( . 4: .Title("| 00005120 48 65 6c 70 66 75 6c 20 49 6e 66 6f 72 6d 61 74 |Helpful Informat| 00005130 69 6f 6e 22 29 0d 25 c6 27 20 20 c9 20 35 3a 20 |ion").%.' . 5: | 00005140 f2 54 69 74 6c 65 28 22 49 6e 66 6f 72 6d 61 74 |.Title("Informat| 00005150 69 6f 6e 20 53 61 76 69 6e 67 22 29 0d 25 d0 17 |ion Saving").%..| 00005160 20 20 20 20 20 20 20 20 20 20 e6 30 2c 30 20 c8 | .0,0 .| 00005170 9c 20 30 0d 25 da 17 20 20 20 20 20 20 20 20 20 |. 0.%.. | 00005180 20 ec 20 34 34 38 2c 31 30 38 0d 25 e4 39 20 20 | . 448,108.%.9 | 00005190 20 20 20 20 20 20 20 20 f1 22 43 75 72 72 65 6e | ."Curren| 000051a0 74 20 72 61 6e 67 65 3a 20 22 3b c3 28 72 6d 69 |t range: ";.(rmi| 000051b0 6e 25 29 3b 22 20 74 6f 20 22 3b c3 28 72 6d 61 |n%);" to ";.(rma| 000051c0 78 25 29 0d 25 ee 1f 20 20 c9 20 36 3a 20 f2 54 |x%).%.. . 6: .T| 000051d0 69 74 6c 65 28 22 47 61 6d 65 73 20 4d 65 6e 75 |itle("Games Menu| 000051e0 22 29 0d 25 f8 05 cb 0d 26 02 05 e1 0d 26 0c 04 |").%....&....&..| 000051f0 0d 26 16 11 dd f2 4c 6f 61 64 53 70 72 69 74 65 |.&....LoadSprite| 00005200 73 0d 26 20 10 fb 20 31 32 37 20 c8 9c 20 31 39 |s.& .. 127 .. 19| 00005210 32 0d 26 2a 23 f1 8a 33 30 2c 31 34 29 22 4c 6f |2.&*#..30,14)"Lo| 00005220 61 64 69 6e 67 20 2d 20 50 6c 65 61 73 65 20 77 |ading - Please w| 00005230 61 69 74 22 0d 26 34 10 73 24 3d 22 53 70 72 69 |ait".&4.s$="Spri| 00005240 74 65 73 22 0d 26 3e 0f 66 69 6c 65 25 3d 8e 28 |tes".&>.file%=.(| 00005250 73 24 29 0d 26 48 11 4c 25 3d a2 23 66 69 6c 65 |s$).&H.L%=.#file| 00005260 25 2b 36 34 0d 26 52 0b d9 23 66 69 6c 65 25 0d |%+64.&R..#file%.| 00005270 26 5c 14 de 20 53 25 20 4c 25 2b 31 30 30 2a 31 |&\.. S% L%+100*1| 00005280 30 32 34 0d 26 66 14 53 25 21 30 3d 4c 25 2b 31 |024.&f.S%!0=L%+1| 00005290 30 30 2a 31 30 32 34 0d 26 70 1d c8 99 20 22 4f |00*1024.&p... "O| 000052a0 53 5f 53 70 72 69 74 65 4f 70 22 2c 32 35 36 2b |S_SpriteOp",256+| 000052b0 39 2c 53 25 0d 26 7a 21 c8 99 20 22 4f 53 5f 53 |9,S%.&z!.. "OS_S| 000052c0 70 72 69 74 65 4f 70 22 2c 32 35 36 2b 31 30 2c |priteOp",256+10,| 000052d0 53 25 2c 73 24 0d 26 84 05 e1 0d 26 8e 04 0d 26 |S%,s$.&....&...&| 000052e0 98 19 f4 20 2a 2a 2a 20 4d 61 74 68 73 20 53 74 |... *** Maths St| 000052f0 75 66 66 20 2a 2a 2a 0d 26 a2 04 0d 26 ac 11 dd |uff ***.&...&...| 00005300 a4 50 72 69 6d 65 28 6e 75 6d 25 29 0d 26 b6 0a |.Prime(num%).&..| 00005310 ea 73 71 2c 69 25 0d 26 c0 0e 73 71 3d b6 28 6e |.sq,i%.&..sq=.(n| 00005320 75 6d 25 29 0d 26 ca 08 74 66 3d b9 0d 26 d4 08 |um%).&..tf=..&..| 00005330 69 25 3d 33 0d 26 de 1d e7 20 28 6e 75 6d 25 2f |i%=3.&... (num%/| 00005340 32 29 3d a8 28 6e 75 6d 25 2f 32 29 20 74 66 3d |2)=.(num%/2) tf=| 00005350 a3 0d 26 e8 12 c8 95 20 74 66 20 80 20 69 25 3c |..&.... tf . i%<| 00005360 3d 73 71 0d 26 f2 21 20 20 e7 20 28 6e 75 6d 25 |=sq.&.! . (num%| 00005370 2f 69 25 29 3d a8 28 6e 75 6d 25 2f 69 25 29 20 |/i%)=.(num%/i%) | 00005380 74 66 3d a3 0d 26 fc 0b 20 20 69 25 2b 3d 32 0d |tf=..&.. i%+=2.| 00005390 27 06 05 ce 0d 27 10 11 e7 20 6e 75 6d 25 3d 32 |'....'... num%=2| 000053a0 20 74 66 3d b9 0d 27 1a 11 e7 20 6e 75 6d 25 3d | tf=..'... num%=| 000053b0 31 20 74 66 3d a3 0d 27 24 07 3d 74 66 0d 27 2e |1 tf=..'$.=tf.'.| 000053c0 05 3a 0d 27 38 18 dd f2 46 61 63 74 6f 72 73 28 |.:.'8...Factors(| 000053d0 6e 75 6d 25 2c f8 20 6a 25 29 0d 27 42 07 ea 69 |num%,. j%).'B..i| 000053e0 25 0d 27 4c 12 6a 25 3d 31 3a 66 61 63 74 25 28 |%.'L.j%=1:fact%(| 000053f0 29 3d 30 0d 27 56 19 e7 20 6e 75 6d 25 3d 31 20 |)=0.'V.. num%=1 | 00005400 66 61 63 74 25 28 31 29 3d 31 3a e1 0d 27 60 35 |fact%(1)=1:..'`5| 00005410 e7 20 a4 50 72 69 6d 65 28 6e 75 6d 25 29 20 8c |. .Prime(num%) .| 00005420 20 66 61 63 74 25 28 31 29 3d 31 3a 66 61 63 74 | fact%(1)=1:fact| 00005430 25 28 32 29 3d 6e 75 6d 25 3a 6a 25 2b 3d 31 3a |%(2)=num%:j%+=1:| 00005440 e1 0d 27 6a 08 69 25 3d 31 0d 27 74 0f 73 71 25 |..'j.i%=1.'t.sq%| 00005450 3d b6 28 6e 75 6d 25 29 0d 27 7e 05 f5 0d 27 88 |=.(num%).'~...'.| 00005460 2f 20 20 e7 20 28 6e 75 6d 25 2f 69 25 29 3d a8 |/ . (num%/i%)=.| 00005470 28 6e 75 6d 25 2f 69 25 29 20 66 61 63 74 25 28 |(num%/i%) fact%(| 00005480 6a 25 29 3d 69 25 3a 6a 25 2b 3d 31 0d 27 92 0b |j%)=i%:j%+=1.'..| 00005490 20 20 69 25 2b 3d 31 0d 27 9c 0c fd 20 69 25 3e | i%+=1.'... i%>| 000054a0 73 71 25 0d 27 a6 0a 6f 66 66 25 3d 30 0d 27 b0 |sq%.'..off%=0.'.| 000054b0 0e e3 69 25 3d 31 b8 6a 25 2d 31 0d 27 ba 29 20 |..i%=1.j%-1.'.) | 000054c0 20 66 61 63 74 25 28 6a 25 2b 69 25 2b 6f 66 66 | fact%(j%+i%+off| 000054d0 25 29 3d 6e 75 6d 25 2f 66 61 63 74 25 28 6a 25 |%)=num%/fact%(j%| 000054e0 2d 69 25 29 0d 27 c4 24 20 20 e7 20 66 61 63 74 |-i%).'.$ . fact| 000054f0 25 28 6a 25 2b 69 25 29 3d b6 28 6e 75 6d 25 29 |%(j%+i%)=.(num%)| 00005500 20 6f 66 66 25 3d 2d 31 0d 27 ce 07 ed 69 25 0d | off%=-1.'...i%.| 00005510 27 d8 09 6a 25 2b 3d 31 0d 27 e2 05 e1 0d 27 ec |'..j%+=1.'....'.| 00005520 05 3a 0d 27 f6 13 dd a4 50 65 72 66 65 63 74 28 |.:.'....Perfect(| 00005530 6e 75 6d 25 29 0d 28 00 07 ea 69 25 0d 28 0a 0f |num%).(...i%.(..| 00005540 74 66 3d a3 3a 74 6f 74 25 3d 30 0d 28 14 28 e3 |tf=.:tot%=0.(.(.| 00005550 69 25 3d 31 b8 6a 25 2a 32 2d 32 3a 74 6f 74 25 |i%=1.j%*2-2:tot%| 00005560 3d 74 6f 74 25 2b 66 61 63 74 25 28 69 25 29 3a |=tot%+fact%(i%):| 00005570 ed 69 25 0d 28 1e 17 e7 74 6f 74 25 3d 32 2a 6e |.i%.(...tot%=2*n| 00005580 75 6d 25 20 8c 20 74 66 3d b9 0d 28 28 07 3d 74 |um% . tf=..((.=t| 00005590 66 0d 28 32 05 3a 0d 28 3c 12 dd a4 53 71 75 61 |f.(2.:.(<...Squa| 000055a0 72 65 28 6e 75 6d 25 29 0d 28 46 08 74 66 3d a3 |re(num%).(F.tf=.| 000055b0 0d 28 50 1d e7 20 b6 28 6e 75 6d 25 29 3d a8 28 |.(P.. .(num%)=.(| 000055c0 b6 28 6e 75 6d 25 29 29 20 74 66 3d b9 0d 28 5a |.(num%)) tf=..(Z| 000055d0 07 3d 74 66 0d 28 64 05 3a 0d 28 6e 15 dd a4 46 |.=tf.(d.:.(n...F| 000055e0 69 62 6f 6e 61 63 63 69 28 6e 75 6d 25 29 0d 28 |ibonacci(num%).(| 000055f0 78 08 ea 20 69 25 0d 28 82 08 74 66 3d a3 0d 28 |x.. i%.(..tf=..(| 00005600 8c 0f e3 20 69 25 3d 31 20 b8 20 31 36 0d 28 96 |... i%=1 . 16.(.| 00005610 20 20 20 e7 20 66 69 62 25 28 69 25 29 3d 6e 75 | . fib%(i%)=nu| 00005620 6d 25 20 74 66 3d b9 3a 69 25 3d 31 36 0d 28 a0 |m% tf=.:i%=16.(.| 00005630 07 ed 69 25 0d 28 aa 07 3d 74 66 0d 28 b4 04 0d |..i%.(..=tf.(...| 00005640 28 be 14 dd a4 54 72 69 61 6e 67 6c 65 28 6e 75 |(....Triangle(nu| 00005650 6d 25 29 0d 28 c8 07 ea 69 25 0d 28 d2 08 74 66 |m%).(...i%.(..tf| 00005660 3d a3 0d 28 dc 0f 69 25 3d 31 3a 74 6f 74 25 3d |=..(..i%=1:tot%=| 00005670 30 0d 28 e6 05 f5 0d 28 f0 0e 20 20 74 6f 74 25 |0.(....(.. tot%| 00005680 2b 3d 69 25 0d 28 fa 0b 20 20 69 25 2b 3d 31 0d |+=i%.(.. i%+=1.| 00005690 29 04 18 20 20 e7 20 74 6f 74 25 3d 6e 75 6d 25 |).. . tot%=num%| 000056a0 20 8c 20 74 66 3d b9 0d 29 0e 14 fd 20 74 66 20 | . tf=..)... tf | 000056b0 84 20 74 6f 74 25 3e 6e 75 6d 25 0d 29 18 07 3d |. tot%>num%.)..=| 000056c0 74 66 0d 29 22 04 0d 29 2c 17 f4 20 2a 2a 2a 20 |tf.)"..),.. *** | 000056d0 4d 65 6e 75 20 44 61 74 61 20 2a 2a 2a 0d 29 36 |Menu Data ***.)6| 000056e0 1b dc 20 38 33 30 2c 31 2c 32 2c 33 2c 35 2c 36 |.. 830,1,2,3,5,6| 000056f0 2c 37 2c 38 2c 39 39 39 0d 29 40 1e dc 20 37 38 |,7,8,999.)@.. 78| 00005700 30 2c 39 2c 31 30 2c 31 31 2c 31 32 2c 31 35 2c |0,9,10,11,12,15,| 00005710 31 36 2c 39 39 39 0d 29 4a 1c dc 20 37 33 30 2c |16,999.)J.. 730,| 00005720 31 37 2c 31 38 2c 32 30 2c 31 39 2c 31 36 2c 39 |17,18,20,19,16,9| 00005730 39 39 0d 29 54 23 dc 20 38 38 30 2c 39 2c 31 30 |99.)T#. 880,9,10| 00005740 2c 31 31 2c 31 32 2c 31 34 2c 31 33 2c 34 2c 31 |,11,12,14,13,4,1| 00005750 36 2c 39 39 39 0d 29 5e 22 dc 20 38 38 30 2c 39 |6,999.)^". 880,9| 00005760 2c 31 30 2c 31 31 2c 31 32 2c 37 2c 31 2c 32 31 |,10,11,12,7,1,21| 00005770 2c 31 36 2c 39 39 39 0d 29 68 1c dc 20 37 33 30 |,16,999.)h.. 730| 00005780 2c 32 34 2c 32 35 2c 32 36 2c 32 37 2c 31 36 2c |,24,25,26,27,16,| 00005790 39 39 39 0d 29 72 10 dc 20 35 33 30 2c 31 36 2c |999.)r.. 530,16,| 000057a0 39 39 39 0d 29 7c 16 dc 20 36 33 30 2c 32 39 2c |999.)|.. 630,29,| 000057b0 32 38 2c 31 36 2c 39 39 39 0d 29 86 04 0d 29 90 |28,16,999.)...).| 000057c0 24 f4 20 2a 2a 2a 20 46 69 62 6f 6e 6e 61 63 69 |$. *** Fibonnaci| 000057d0 20 53 65 72 69 65 73 20 43 68 65 61 74 20 2a 2a | Series Cheat **| 000057e0 2a 0d 29 9a 34 dc 20 31 2c 31 2c 32 2c 33 2c 35 |*.).4. 1,1,2,3,5| 000057f0 2c 38 2c 31 33 2c 32 31 2c 33 34 2c 35 35 2c 38 |,8,13,21,34,55,8| 00005800 39 2c 31 34 34 2c 32 33 33 2c 33 37 37 2c 36 31 |9,144,233,377,61| 00005810 30 2c 39 38 37 0d 29 a4 04 0d 29 ae 16 f4 20 2a |0,987.)...)... *| 00005820 2a 2a 20 44 6f 74 20 44 61 74 61 20 2a 2a 2a 0d |** Dot Data ***.| 00005830 29 b8 1e dc 20 33 35 2c 31 39 32 2c 33 2c 31 39 |)... 35,192,3,19| 00005840 32 2c 31 32 2c 30 2c 33 33 2c 31 39 32 0d 29 c2 |2,12,0,33,192.).| 00005850 04 0d 29 cc 21 f4 20 2a 2a 2a 20 48 65 6c 70 66 |..).!. *** Helpf| 00005860 75 6c 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 2a |ul Information *| 00005870 2a 2a 0d 29 d6 18 dc 20 22 46 49 42 4f 4e 41 43 |**.)... "FIBONAC| 00005880 43 49 20 53 45 52 49 45 53 22 0d 29 e0 4a dc 20 |CI SERIES".).J. | 00005890 22 45 61 63 68 20 6e 75 6d 62 65 72 20 69 6e 20 |"Each number in | 000058a0 74 68 65 20 46 69 62 6f 6e 61 63 63 69 20 53 65 |the Fibonacci Se| 000058b0 72 69 65 73 20 69 73 20 70 72 6f 64 75 63 65 64 |ries is produced| 000058c0 20 62 79 20 61 64 64 69 6e 67 20 74 6f 67 65 74 | by adding toget| 000058d0 68 65 72 22 0d 29 ea 2f dc 20 22 74 68 65 20 74 |her".)./. "the t| 000058e0 77 6f 20 70 72 65 76 69 6f 75 73 20 6e 75 6d 62 |wo previous numb| 000058f0 65 72 73 20 69 6e 20 74 68 65 20 73 65 72 69 65 |ers in the serie| 00005900 73 2e 22 0d 29 f4 3c dc 20 22 65 67 29 20 20 20 |s.".).<. "eg) | 00005910 31 2c 31 2c 32 2c 33 2c 35 2c 38 2c 31 33 2c 32 |1,1,2,3,5,8,13,2| 00005920 31 2c 33 34 2c 35 35 2c 38 39 2c 31 34 34 2c 32 |1,34,55,89,144,2| 00005930 33 33 2c 33 37 37 2c 36 31 30 2c 39 38 37 22 0d |33,377,610,987".| 00005940 29 fe 04 0d 2a 08 15 dc 20 22 50 52 49 4d 45 20 |)...*... "PRIME | 00005950 4e 55 4d 42 45 52 53 22 0d 2a 12 51 dc 20 22 54 |NUMBERS".*.Q. "T| 00005960 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 |he definition of| 00005970 20 61 20 50 52 49 4d 45 20 6e 75 6d 62 65 72 20 | a PRIME number | 00005980 69 73 20 61 6e 79 20 77 68 6f 6c 65 20 6e 75 6d |is any whole num| 00005990 62 65 72 20 67 72 65 61 74 65 72 20 74 68 65 6e |ber greater then| 000059a0 20 31 2c 20 74 68 61 74 22 0d 2a 1c 2c dc 20 22 | 1, that".*.,. "| 000059b0 63 61 6e 20 6f 6e 6c 79 20 62 65 20 64 69 76 69 |can only be divi| 000059c0 64 65 64 20 62 79 20 69 74 73 65 6c 66 20 61 6e |ded by itself an| 000059d0 64 20 31 2e 22 0d 2a 26 44 dc 20 22 65 67 29 20 |d 1.".*&D. "eg) | 000059e0 20 20 31 33 20 63 61 6e 20 6f 6e 6c 79 20 62 65 | 13 can only be| 000059f0 20 64 69 76 69 64 65 64 20 62 79 20 31 33 20 61 | divided by 13 a| 00005a00 6e 64 20 31 20 77 69 74 68 6f 75 74 20 61 20 72 |nd 1 without a r| 00005a10 65 6d 61 69 6e 64 65 72 22 0d 2a 30 04 0d 2a 3a |emainder".*0..*:| 00005a20 16 dc 20 22 53 51 55 41 52 45 20 4e 55 4d 42 45 |.. "SQUARE NUMBE| 00005a30 52 53 22 0d 2a 44 4b dc 20 22 41 20 6e 75 6d 62 |RS".*DK. "A numb| 00005a40 65 72 20 69 73 20 27 73 71 75 61 72 65 27 20 69 |er is 'square' i| 00005a50 66 20 32 20 69 64 65 6e 74 69 63 61 6c 20 77 68 |f 2 identical wh| 00005a60 6f 6c 65 20 6e 75 6d 62 65 72 73 20 63 61 6e 20 |ole numbers can | 00005a70 62 65 20 6d 75 6c 74 69 70 6c 69 65 64 22 0d 2a |be multiplied".*| 00005a80 4e 28 dc 20 22 74 6f 67 65 74 68 65 72 20 74 6f |N(. "together to| 00005a90 20 70 72 6f 64 75 63 65 20 74 68 69 73 20 6e 75 | produce this nu| 00005aa0 6d 62 65 72 2e 22 0d 2a 58 40 dc 20 22 65 67 29 |mber.".*X@. "eg)| 00005ab0 20 20 20 32 35 20 69 73 20 73 71 75 61 72 65 20 | 25 is square | 00005ac0 61 73 20 35 78 35 3d 32 35 20 28 54 68 69 73 20 |as 5x5=25 (This | 00005ad0 63 61 6e 20 62 65 20 77 72 69 74 74 65 6e 20 35 |can be written 5| 00005ae0 b2 3d 32 35 29 22 0d 2a 62 04 0d 2a 6c 18 dc 20 |.=25)".*b..*l.. | 00005af0 22 54 52 49 41 4e 47 4c 45 20 4e 55 4d 42 45 52 |"TRIANGLE NUMBER| 00005b00 53 22 0d 2a 76 49 dc 20 22 41 20 74 72 69 61 6e |S".*vI. "A trian| 00005b10 67 6c 65 20 6e 75 6d 62 65 72 20 69 73 20 66 6f |gle number is fo| 00005b20 72 6d 65 64 20 62 79 20 61 64 64 69 6e 67 20 74 |rmed by adding t| 00005b30 6f 67 65 74 68 65 72 20 73 75 63 63 65 73 73 69 |ogether successi| 00005b40 76 65 20 6e 75 6d 62 65 72 73 22 0d 2a 80 23 dc |ve numbers".*.#.| 00005b50 20 22 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 | "starting from | 00005b60 74 68 65 20 6e 75 6d 62 65 72 20 31 2e 22 0d 2a |the number 1.".*| 00005b70 8a 40 dc 20 22 65 67 29 20 20 20 54 68 65 20 35 |.@. "eg) The 5| 00005b80 74 68 20 74 72 69 61 6e 67 6c 65 20 6e 75 6d 62 |th triangle numb| 00005b90 65 72 20 69 73 20 31 35 20 62 65 63 61 75 73 65 |er is 15 because| 00005ba0 20 31 2b 32 2b 33 2b 34 2b 35 3d 31 35 22 0d 2a | 1+2+3+4+5=15".*| 00005bb0 94 04 0d 2a 9e 14 dc 20 22 45 56 45 4e 20 4e 55 |...*... "EVEN NU| 00005bc0 4d 42 45 52 53 22 0d 2a a8 45 dc 20 22 41 6e 20 |MBERS".*.E. "An | 00005bd0 65 76 65 6e 20 6e 75 6d 62 65 72 20 69 73 20 61 |even number is a| 00005be0 6e 79 20 6e 75 6d 62 65 72 20 74 68 61 74 20 63 |ny number that c| 00005bf0 61 6e 20 62 65 20 64 69 76 69 64 65 64 20 62 79 |an be divided by| 00005c00 20 32 20 77 69 74 68 6f 75 74 22 0d 2a b2 1e dc | 2 without".*...| 00005c10 20 22 6c 65 61 76 69 6e 67 20 61 6e 79 20 72 65 | "leaving any re| 00005c20 6d 61 69 6e 64 65 72 2e 22 0d 2a bc 34 dc 20 22 |mainder.".*.4. "| 00005c30 65 67 29 20 20 20 31 36 20 69 73 20 65 76 65 6e |eg) 16 is even| 00005c40 20 61 73 20 31 36 f7 32 3d 38 20 77 69 74 68 20 | as 16.2=8 with | 00005c50 4e 4f 20 72 65 6d 61 69 6e 64 65 72 22 0d 2a c6 |NO remainder".*.| 00005c60 04 0d 2a d0 13 dc 20 22 4f 44 44 20 4e 55 4d 42 |..*... "ODD NUMB| 00005c70 45 52 53 22 0d 2a da 4a dc 20 22 41 6e 20 6f 64 |ERS".*.J. "An od| 00005c80 64 20 6e 75 6d 62 65 72 20 69 73 20 61 6e 79 20 |d number is any | 00005c90 6e 75 6d 62 65 72 20 74 68 61 74 20 77 68 65 6e |number that when| 00005ca0 20 64 69 76 69 64 65 64 20 62 79 20 32 20 61 6c | divided by 2 al| 00005cb0 77 61 79 73 20 6c 65 61 76 65 73 20 61 22 0d 2a |ways leaves a".*| 00005cc0 e4 17 dc 20 22 72 65 6d 61 69 6e 64 65 72 20 6f |... "remainder o| 00005cd0 66 20 31 2e 22 0d 2a ee 2d dc 20 22 65 67 29 20 |f 1.".*.-. "eg) | 00005ce0 20 20 31 39 20 69 73 20 6f 64 64 20 61 73 20 31 | 19 is odd as 1| 00005cf0 39 f7 32 3d 39 20 72 65 6d 61 69 6e 64 65 72 20 |9.2=9 remainder | 00005d00 31 22 0d 2a f8 04 0d 2b 02 17 dc 20 22 50 45 52 |1".*...+... "PER| 00005d10 46 45 43 54 20 4e 55 4d 42 45 52 53 22 0d 2b 0c |FECT NUMBERS".+.| 00005d20 4b dc 20 22 41 20 70 65 72 66 65 63 74 20 6e 75 |K. "A perfect nu| 00005d30 6d 62 65 72 20 69 73 20 6f 6e 65 20 77 68 65 72 |mber is one wher| 00005d40 65 20 61 6c 6c 20 69 74 73 20 66 61 63 74 6f 72 |e all its factor| 00005d50 73 20 28 65 78 63 6c 75 64 69 6e 67 20 74 68 65 |s (excluding the| 00005d60 20 6e 75 6d 62 65 72 22 0d 2b 16 36 dc 20 22 69 | number".+.6. "i| 00005d70 74 73 65 6c 66 29 20 77 68 65 6e 20 61 64 64 65 |tself) when adde| 00005d80 64 20 74 6f 67 65 74 68 65 72 20 65 71 75 61 6c |d together equal| 00005d90 73 20 74 68 65 20 6e 75 6d 62 65 72 2e 22 0d 2b |s the number.".+| 00005da0 20 2c dc 20 22 65 67 29 20 20 20 32 38 20 69 73 | ,. "eg) 28 is| 00005db0 20 70 65 72 66 65 63 74 20 61 73 20 31 2b 32 2b | perfect as 1+2+| 00005dc0 34 2b 37 2b 31 34 3d 32 38 22 0d 2b 2a 3a dc 20 |4+7+14=28".+*:. | 00005dd0 22 46 69 62 6f 6e 61 63 63 69 22 2c 22 50 72 69 |"Fibonacci","Pri| 00005de0 6d 65 73 22 2c 22 53 71 75 61 72 65 73 22 2c 22 |mes","Squares","| 00005df0 54 72 69 61 6e 67 6c 65 73 22 2c 22 47 65 6e 65 |Triangles","Gene| 00005e00 72 61 6c 22 0d 2b 34 04 0d 2b 3e 2c f4 20 2a 2a |ral".+4..+>,. **| 00005e10 2a 20 44 72 61 77 46 69 6c 65 20 53 61 76 69 6e |* DrawFile Savin| 00005e20 67 20 52 6f 75 74 69 6e 65 73 20 65 74 63 2e 2e |g Routines etc..| 00005e30 20 2a 2a 2a 0d 2b 48 04 0d 2b 52 0e dd f2 53 61 | ***.+H..+R...Sa| 00005e40 76 65 47 72 69 64 0d 2b 5c 12 2a 44 49 52 3c 4f |veGrid.+\.*DIR<O| 00005e50 42 45 59 24 44 49 52 3e 0d 2b 66 07 2a 55 50 0d |BEY$DIR>.+f.*UP.| 00005e60 2b 70 0f 64 72 61 77 5f 70 25 3d 64 61 25 0d 2b |+p.draw_p%=da%.+| 00005e70 7a 29 e7 20 ac 20 a4 59 65 73 4e 6f 28 22 53 41 |z). . .YesNo("SA| 00005e80 56 45 20 47 52 49 44 22 29 20 f2 4d 65 6e 75 53 |VE GRID") .MenuS| 00005e90 65 74 28 35 29 3a e1 0d 2b 84 0e f2 73 74 61 72 |et(5):..+...star| 00005ea0 74 64 72 61 77 0d 2b 8e 17 f2 73 74 61 72 74 67 |tdraw.+...startg| 00005eb0 72 6f 75 70 28 22 6c 69 6e 65 22 29 0d 2b 98 0f |roup("line").+..| 00005ec0 e6 30 2c 33 20 c8 9c 20 31 39 32 0d 2b a2 17 c8 |.0,3 .. 192.+...| 00005ed0 93 c8 90 20 34 32 2c 31 32 2c 31 31 39 36 2c 31 |... 42,12,1196,1| 00005ee0 33 32 0d 2b ac 10 e6 20 31 32 37 20 c8 9c 20 31 |32.+... 127 .. 1| 00005ef0 39 32 0d 2b b6 1f ec 20 35 32 30 2c 39 32 3a f1 |92.+... 520,92:.| 00005f00 22 53 41 56 49 4e 47 20 44 52 41 57 46 49 4c 45 |"SAVING DRAWFILE| 00005f10 22 0d 2b c0 08 f2 62 6f 78 0d 2b ca 0a f2 6d 61 |".+...box.+...ma| 00005f20 72 6b 73 0d 2b d4 0d f2 65 6e 64 67 72 6f 75 70 |rks.+...endgroup| 00005f30 0d 2b de 0c f2 65 6e 64 64 72 61 77 0d 2b e8 30 |.+...enddraw.+.0| 00005f40 66 69 6c 65 24 3d c3 28 6e 75 6d 31 25 29 2b 22 |file$=.(num1%)+"| 00005f50 2d 22 2b c3 28 6e 75 6d 31 25 2b 77 69 64 74 68 |-"+.(num1%+width| 00005f60 25 2a 68 65 69 67 68 74 25 2d 31 29 0d 2b f2 15 |%*height%-1).+..| 00005f70 f2 73 61 76 65 5f 64 72 61 77 28 66 69 6c 65 24 |.save_draw(file$| 00005f80 29 0d 2b fc 0f f2 4d 65 6e 75 53 65 74 28 35 29 |).+...MenuSet(5)| 00005f90 0d 2c 06 05 e1 0d 2c 10 04 0d 2c 1a 0a dd 20 f2 |.,....,...,... .| 00005fa0 62 6f 78 0d 2c 24 10 ea 20 74 78 25 2c 74 79 25 |box.,$.. tx%,ty%| 00005fb0 2c 74 24 0d 2c 2e 1a 78 77 25 3d 77 69 64 74 68 |,t$.,..xw%=width| 00005fc0 25 3a 79 77 25 3d 68 65 69 67 68 74 25 0d 2c 38 |%:yw%=height%.,8| 00005fd0 1f f2 73 74 61 72 74 70 61 74 68 28 30 2c 32 35 |..startpath(0,25| 00005fe0 31 32 2c 2d 31 2c 26 46 46 2c 31 29 0d 2c 42 17 |12,-1,&FF,1).,B.| 00005ff0 e3 69 25 3d 30 b8 79 77 25 2a 31 30 30 20 88 20 |.i%=0.yw%*100 . | 00006000 31 30 30 0d 2c 4c 0f 20 20 f2 70 6d 28 30 2c 69 |100.,L. .pm(0,i| 00006010 25 29 0d 2c 56 15 20 20 f2 70 70 28 78 77 25 2a |%).,V. .pp(xw%*| 00006020 31 30 30 2c 69 25 29 0d 2c 60 07 ed 69 25 0d 2c |100,i%).,`..i%.,| 00006030 6a 19 e3 69 25 3d 30 20 b8 20 78 77 25 2a 31 30 |j..i%=0 . xw%*10| 00006040 30 20 88 20 31 30 30 0d 2c 74 15 20 20 f2 70 6d |0 . 100.,t. .pm| 00006050 28 69 25 2c 79 77 25 2a 31 30 30 29 0d 2c 7e 0f |(i%,yw%*100).,~.| 00006060 20 20 f2 70 70 28 69 25 2c 30 29 0d 2c 88 07 ed | .pp(i%,0).,...| 00006070 69 25 0d 2c 92 0c f2 65 6e 64 70 61 74 68 0d 2c |i%.,...endpath.,| 00006080 9c 0d e3 6a 25 3d 31 b8 79 77 25 0d 2c a6 0f 20 |...j%=1.yw%.,.. | 00006090 20 e3 69 25 3d 31 b8 78 77 25 0d 2c b0 23 20 20 | .i%=1.xw%.,.# | 000060a0 20 20 74 24 3d c3 28 6e 75 6d 31 25 2b 69 25 2d | t$=.(num1%+i%-| 000060b0 31 2b 28 6a 25 2d 31 29 2a 78 77 25 29 0d 2c ba |1+(j%-1)*xw%).,.| 000060c0 29 20 20 20 20 74 78 25 3d 28 69 25 2a 31 30 30 |) tx%=(i%*100| 000060d0 2d 35 30 2d a9 28 74 24 29 2a 38 29 2a 32 30 30 |-50-.(t$)*8)*200| 000060e0 2b 35 30 30 30 30 0d 2c c4 1c 20 20 20 20 74 79 |+50000.,.. ty| 000060f0 25 3d 28 79 77 25 2a 31 30 30 2d 34 32 29 2a 32 |%=(yw%*100-42)*2| 00006100 30 30 0d 2c ce 13 20 20 20 20 e7 20 6d 75 6c 74 |00.,.. . mult| 00006110 25 3e 30 20 8c 0d 2c d8 1f 20 20 20 20 20 20 e7 |%>0 ..,.. .| 00006120 20 28 bb 28 74 24 29 20 83 20 6d 75 6c 74 25 29 | (.(t$) . mult%)| 00006130 3d 30 20 8c 0d 2c e2 2e 20 20 20 20 20 20 20 20 |=0 ..,.. | 00006140 f2 74 65 78 74 6c 28 74 78 25 2c 74 79 25 2c 38 |.textl(tx%,ty%,8| 00006150 30 30 30 2c a4 63 6f 6c 6f 75 72 28 36 29 2c 74 |000,.colour(6),t| 00006160 24 29 0d 2c ec 0b 20 20 20 20 20 20 cc 0d 2c f6 |$).,.. ..,.| 00006170 27 20 20 20 20 20 20 20 20 f2 74 65 78 74 6c 28 |' .textl(| 00006180 74 78 25 2c 74 79 25 2c 38 30 30 30 2c 26 46 46 |tx%,ty%,8000,&FF| 00006190 2c 74 24 29 0d 2d 00 0b 20 20 20 20 20 20 cd 0d |,t$).-.. ..| 000061a0 2d 0a 09 20 20 20 20 cc 0d 2d 14 25 20 20 20 20 |-.. ..-.% | 000061b0 20 20 f2 74 65 78 74 6c 28 74 78 25 2c 74 79 25 | .textl(tx%,ty%| 000061c0 2c 38 30 30 30 2c 26 46 46 2c 74 24 29 0d 2d 1e |,8000,&FF,t$).-.| 000061d0 09 20 20 20 20 cd 0d 2d 28 09 20 20 ed 69 25 0d |. ..-(. .i%.| 000061e0 2d 32 0c 20 20 79 77 25 2d 3d 31 0d 2d 3c 07 ed |-2. yw%-=1.-<..| 000061f0 6a 25 0d 2d 46 0f 79 77 25 3d 68 65 69 67 68 74 |j%.-F.yw%=height| 00006200 25 0d 2d 50 05 e1 0d 2d 5a 04 0d 2d 64 0b dd f2 |%.-P...-Z..-d...| 00006210 6d 61 72 6b 73 0d 2d 6e 0d e3 6a 25 3d 31 b8 79 |marks.-n..j%=1.y| 00006220 77 25 0d 2d 78 0f 20 20 e3 69 25 3d 31 b8 78 77 |w%.-x. .i%=1.xw| 00006230 25 0d 2d 82 15 20 20 20 20 74 78 25 3d 69 25 2a |%.-.. tx%=i%*| 00006240 31 30 30 2d 38 35 0d 2d 8c 16 20 20 20 20 74 79 |100-85.-.. ty| 00006250 25 3d 79 77 25 2a 31 30 30 2b 31 30 0d 2d 96 23 |%=yw%*100+10.-.#| 00006260 20 20 20 20 6e 25 3d 6e 75 6d 31 25 2b 69 25 2d | n%=num1%+i%-| 00006270 31 2b 28 6a 25 2d 31 29 2a 77 69 64 74 68 25 0d |1+(j%-1)*width%.| 00006280 2d a0 20 20 20 20 20 e7 20 66 6c 61 67 28 32 29 |-. . flag(2)| 00006290 20 80 20 a4 50 72 69 6d 65 28 6e 25 29 20 8c 0d | . .Prime(n%) ..| 000062a0 2d aa 3b 20 20 20 20 20 20 f2 63 69 72 63 6c 65 |-.; .circle| 000062b0 28 74 78 25 2b 37 30 2c 74 79 25 2d 37 30 2c 31 |(tx%+70,ty%-70,1| 000062c0 30 2c a4 63 6f 6c 6f 75 72 28 31 29 2c a4 63 6f |0,.colour(1),.co| 000062d0 6c 6f 75 72 28 31 29 2c 31 29 0d 2d b4 09 20 20 |lour(1),1).-.. | 000062e0 20 20 cd 0d 2d be 24 20 20 20 20 e7 20 66 6c 61 | ..-.$ . fla| 000062f0 67 28 31 29 20 80 20 a4 46 69 62 6f 6e 61 63 63 |g(1) . .Fibonacc| 00006300 69 28 6e 25 29 20 8c 0d 2d c8 35 20 20 20 20 20 |i(n%) ..-.5 | 00006310 20 f2 63 69 72 63 6c 65 28 74 78 25 2c 74 79 25 | .circle(tx%,ty%| 00006320 2c 31 30 2c a4 63 6f 6c 6f 75 72 28 32 29 2c a4 |,10,.colour(2),.| 00006330 63 6f 6c 6f 75 72 28 32 29 2c 31 29 0d 2d d2 09 |colour(2),1).-..| 00006340 20 20 20 20 cd 0d 2d dc 21 20 20 20 20 e7 20 66 | ..-.! . f| 00006350 6c 61 67 28 33 29 20 80 20 a4 53 71 75 61 72 65 |lag(3) . .Square| 00006360 28 6e 25 29 20 8c 0d 2d e6 38 20 20 20 20 20 20 |(n%) ..-.8 | 00006370 f2 63 69 72 63 6c 65 28 74 78 25 2b 37 30 2c 74 |.circle(tx%+70,t| 00006380 79 25 2c 31 30 2c a4 63 6f 6c 6f 75 72 28 33 29 |y%,10,.colour(3)| 00006390 2c a4 63 6f 6c 6f 75 72 28 33 29 2c 31 29 0d 2d |,.colour(3),1).-| 000063a0 f0 09 20 20 20 20 cd 0d 2d fa 23 20 20 20 20 e7 |.. ..-.# .| 000063b0 20 66 6c 61 67 28 34 29 20 80 20 a4 54 72 69 61 | flag(4) . .Tria| 000063c0 6e 67 6c 65 28 6e 25 29 20 8c 0d 2e 04 38 20 20 |ngle(n%) ....8 | 000063d0 20 20 20 20 f2 63 69 72 63 6c 65 28 74 78 25 2c | .circle(tx%,| 000063e0 74 79 25 2d 37 30 2c 31 30 2c a4 63 6f 6c 6f 75 |ty%-70,10,.colou| 000063f0 72 28 34 29 2c a4 63 6f 6c 6f 75 72 28 34 29 2c |r(4),.colour(4),| 00006400 31 29 0d 2e 0e 09 20 20 20 20 cd 0d 2e 18 09 20 |1).... ..... | 00006410 20 ed 69 25 0d 2e 22 0c 20 20 79 77 25 2d 3d 31 | .i%..". yw%-=1| 00006420 0d 2e 2c 07 ed 6a 25 0d 2e 36 29 74 78 25 3d 28 |..,..j%..6)tx%=(| 00006430 77 69 64 74 68 25 2a 31 30 30 2b 31 30 30 29 2a |width%*100+100)*| 00006440 32 30 30 2b 35 30 30 30 30 3a 68 79 25 3d 35 30 |200+50000:hy%=50| 00006450 0d 2e 40 0f e7 20 66 6c 61 67 28 31 29 20 8c 0d |..@.. flag(1) ..| 00006460 2e 4a 14 20 20 74 24 3d 22 46 49 42 4f 4e 41 43 |.J. t$="FIBONAC| 00006470 43 49 22 0d 2e 54 11 20 20 74 79 25 3d 68 79 25 |CI"..T. ty%=hy%| 00006480 2a 32 30 30 0d 2e 5e 21 20 20 f2 74 65 78 74 6c |*200..^! .textl| 00006490 28 74 78 25 2c 74 79 25 2c 38 30 30 30 2c 26 46 |(tx%,ty%,8000,&F| 000064a0 46 2c 74 24 29 0d 2e 68 3e 20 20 f2 63 69 72 63 |F,t$)..h> .circ| 000064b0 6c 65 28 77 69 64 74 68 25 2a 31 30 30 2b 35 30 |le(width%*100+50| 000064c0 2c 68 79 25 2b 32 30 2c 31 30 2c a4 63 6f 6c 6f |,hy%+20,10,.colo| 000064d0 75 72 28 32 29 2c a4 63 6f 6c 6f 75 72 28 32 29 |ur(2),.colour(2)| 000064e0 2c 31 29 0d 2e 72 0d 20 20 68 79 25 2b 3d 35 30 |,1)..r. hy%+=50| 000064f0 0d 2e 7c 05 cd 0d 2e 86 0f e7 20 66 6c 61 67 28 |..|....... flag(| 00006500 32 29 20 8c 0d 2e 90 10 20 20 74 24 3d 22 50 52 |2) ..... t$="PR| 00006510 49 4d 45 22 0d 2e 9a 11 20 20 74 79 25 3d 68 79 |IME".... ty%=hy| 00006520 25 2a 32 30 30 0d 2e a4 21 20 20 f2 74 65 78 74 |%*200...! .text| 00006530 6c 28 74 78 25 2c 74 79 25 2c 38 30 30 30 2c 26 |l(tx%,ty%,8000,&| 00006540 46 46 2c 74 24 29 0d 2e ae 3e 20 20 f2 63 69 72 |FF,t$)...> .cir| 00006550 63 6c 65 28 77 69 64 74 68 25 2a 31 30 30 2b 35 |cle(width%*100+5| 00006560 30 2c 68 79 25 2b 32 30 2c 31 30 2c a4 63 6f 6c |0,hy%+20,10,.col| 00006570 6f 75 72 28 31 29 2c a4 63 6f 6c 6f 75 72 28 31 |our(1),.colour(1| 00006580 29 2c 31 29 0d 2e b8 0d 20 20 68 79 25 2b 3d 35 |),1).... hy%+=5| 00006590 30 0d 2e c2 05 cd 0d 2e cc 0f e7 20 66 6c 61 67 |0.......... flag| 000065a0 28 33 29 20 8c 0d 2e d6 11 20 20 74 24 3d 22 53 |(3) ..... t$="S| 000065b0 51 55 41 52 45 22 0d 2e e0 11 20 20 74 79 25 3d |QUARE".... ty%=| 000065c0 68 79 25 2a 32 30 30 0d 2e ea 21 20 20 f2 74 65 |hy%*200...! .te| 000065d0 78 74 6c 28 74 78 25 2c 74 79 25 2c 38 30 30 30 |xtl(tx%,ty%,8000| 000065e0 2c 26 46 46 2c 74 24 29 0d 2e f4 3e 20 20 f2 63 |,&FF,t$)...> .c| 000065f0 69 72 63 6c 65 28 77 69 64 74 68 25 2a 31 30 30 |ircle(width%*100| 00006600 2b 35 30 2c 68 79 25 2b 32 30 2c 31 30 2c a4 63 |+50,hy%+20,10,.c| 00006610 6f 6c 6f 75 72 28 33 29 2c a4 63 6f 6c 6f 75 72 |olour(3),.colour| 00006620 28 33 29 2c 31 29 0d 2e fe 0d 20 20 68 79 25 2b |(3),1).... hy%+| 00006630 3d 35 30 0d 2f 08 05 cd 0d 2f 12 0f e7 20 66 6c |=50./..../... fl| 00006640 61 67 28 34 29 20 8c 0d 2f 1c 13 20 20 74 24 3d |ag(4) ../.. t$=| 00006650 22 54 52 49 41 4e 47 4c 45 22 0d 2f 26 11 20 20 |"TRIANGLE"./&. | 00006660 74 79 25 3d 68 79 25 2a 32 30 30 0d 2f 30 21 20 |ty%=hy%*200./0! | 00006670 20 f2 74 65 78 74 6c 28 74 78 25 2c 74 79 25 2c | .textl(tx%,ty%,| 00006680 38 30 30 30 2c 26 46 46 2c 74 24 29 0d 2f 3a 3e |8000,&FF,t$)./:>| 00006690 20 20 f2 63 69 72 63 6c 65 28 77 69 64 74 68 25 | .circle(width%| 000066a0 2a 31 30 30 2b 35 30 2c 68 79 25 2b 32 30 2c 31 |*100+50,hy%+20,1| 000066b0 30 2c a4 63 6f 6c 6f 75 72 28 34 29 2c a4 63 6f |0,.colour(4),.co| 000066c0 6c 6f 75 72 28 34 29 2c 31 29 0d 2f 44 05 cd 0d |lour(4),1)./D...| 000066d0 2f 4e 05 e1 0d 2f 58 04 0d 2f 62 10 dd 20 f2 70 |/N.../X../b.. .p| 000066e0 6d 28 78 25 2c 79 25 29 0d 2f 6c 36 e7 20 78 25 |m(x%,y%)./l6. x%| 000066f0 20 3e 3d 30 20 80 20 78 25 20 3c 3d 20 31 32 38 | >=0 . x% <= 128| 00006700 30 20 20 80 20 79 25 20 3e 3d 20 2d 32 30 30 20 |0 . y% >= -200 | 00006710 80 20 79 25 20 3c 3d 20 31 32 30 30 20 8c 0d 2f |. y% <= 1200 ../| 00006720 76 22 20 f2 6d 74 28 35 30 30 30 30 2b 78 25 2a |v" .mt(50000+x%*| 00006730 32 30 30 2c 35 30 30 30 2b 79 25 2a 32 30 30 29 |200,5000+y%*200)| 00006740 0d 2f 80 0e 20 6d 6f 76 65 25 20 3d 20 a3 0d 2f |./.. move% = ../| 00006750 8a 05 cd 0d 2f 94 05 e1 0d 2f 9e 04 0d 2f a8 10 |..../..../.../..| 00006760 dd 20 f2 70 70 28 78 25 2c 79 25 29 0d 2f b2 0f |. .pp(x%,y%)./..| 00006770 20 20 6d 6f 76 65 25 20 3d 20 a3 0d 2f bc 34 20 | move% = ../.4 | 00006780 e7 20 79 25 20 3e 20 2d 31 35 30 20 80 20 79 25 |. y% > -150 . y%| 00006790 20 3c 20 31 31 30 30 20 80 20 78 25 20 3e 3d 30 | < 1100 . x% >=0| 000067a0 20 80 20 78 25 20 3c 3d 20 31 32 38 30 20 8c 0d | . x% <= 1280 ..| 000067b0 2f c6 27 20 20 f2 64 72 61 77 74 6f 28 35 30 30 |/.' .drawto(500| 000067c0 30 30 2b 78 25 2a 32 30 30 2c 35 30 30 30 2b 79 |00+x%*200,5000+y| 000067d0 25 2a 32 30 30 29 0d 2f d0 06 20 cc 0d 2f da 10 |%*200)./.. ../..| 000067e0 20 20 20 6d 6f 76 65 25 20 3d 20 b9 0d 2f e4 07 | move% = ../..| 000067f0 20 20 cd 0d 2f ee 05 e1 0d 2f f8 04 0d 30 02 0e | ../..../...0..| 00006800 dd f2 70 75 73 68 28 50 25 29 0d 30 0c 31 e7 73 |..push(P%).0.1.s| 00006810 74 61 63 6b 25 3e 3d 6d 61 78 73 74 61 63 6b 25 |tack%>=maxstack%| 00006820 3a 85 39 39 2c 22 4d 61 74 68 47 72 61 70 68 20 |:.99,"MathGraph | 00006830 73 74 61 63 6b 20 66 75 6c 6c 22 0d 30 16 15 73 |stack full".0..s| 00006840 74 61 63 6b 25 28 73 74 61 63 6b 25 29 3d 50 25 |tack%(stack%)=P%| 00006850 0d 30 20 0d 73 74 61 63 6b 25 2b 3d 31 0d 30 2a |.0 .stack%+=1.0*| 00006860 05 e1 0d 30 34 04 0d 30 3e 10 dd f2 70 75 6c 6c |...04..0>...pull| 00006870 28 f8 20 50 25 29 0d 30 48 2a e7 73 74 61 63 6b |(. P%).0H*.stack| 00006880 25 3c 3d 30 3a 85 39 39 2c 22 4d 61 74 68 47 72 |%<=0:.99,"MathGr| 00006890 61 70 68 20 73 74 61 63 6b 20 65 6d 70 74 79 22 |aph stack empty"| 000068a0 0d 30 52 0d 73 74 61 63 6b 25 2d 3d 31 0d 30 5c |.0R.stack%-=1.0\| 000068b0 15 50 25 3d 73 74 61 63 6b 25 28 73 74 61 63 6b |.P%=stack%(stack| 000068c0 25 29 0d 30 66 05 e1 0d 30 70 04 0d 30 7a 12 dd |%).0f...0p..0z..| 000068d0 f2 73 74 61 72 74 6f 62 6a 28 54 25 29 0d 30 84 |.startobj(T%).0.| 000068e0 07 ea 50 25 0d 30 8e 0e 50 25 3d 64 72 61 77 5f |..P%.0..P%=draw_| 000068f0 70 25 0d 30 98 0d f2 70 75 73 68 28 50 25 29 0d |p%.0...push(P%).| 00006900 30 a2 3c 21 50 25 3d 54 25 3a 50 25 21 34 3d 30 |0.<!P%=T%:P%!4=0| 00006910 3a 50 25 21 38 3d 30 3a 50 25 21 31 32 3d 30 3a |:P%!8=0:P%!12=0:| 00006920 50 25 21 31 36 3d 30 3a 50 25 21 32 30 3d 30 3a |P%!16=0:P%!20=0:| 00006930 64 72 61 77 5f 70 25 2b 3d 32 34 0d 30 ac 05 e1 |draw_p%+=24.0...| 00006940 0d 30 b6 04 0d 30 c0 0c dd f2 65 6e 64 6f 62 6a |.0...0....endobj| 00006950 0d 30 ca 07 ea 50 25 0d 30 d4 0d f2 70 75 6c 6c |.0...P%.0...pull| 00006960 28 50 25 29 0d 30 de 13 50 25 21 34 3d 64 72 61 |(P%).0..P%!4=dra| 00006970 77 5f 70 25 2d 50 25 0d 30 e8 1b e7 50 25 21 38 |w_p%-P%.0...P%!8| 00006980 3c 64 61 25 21 32 34 64 61 25 21 32 34 3d 50 25 |<da%!24da%!24=P%| 00006990 21 38 0d 30 f2 1d e7 50 25 21 31 32 3c 64 61 25 |!8.0...P%!12<da%| 000069a0 21 32 38 64 61 25 21 32 38 3d 50 25 21 31 32 0d |!28da%!28=P%!12.| 000069b0 30 fc 1d e7 50 25 21 31 36 3e 64 61 25 21 33 32 |0...P%!16>da%!32| 000069c0 64 61 25 21 33 32 3d 50 25 21 31 36 0d 31 06 1d |da%!32=P%!16.1..| 000069d0 e7 50 25 21 32 30 3e 64 61 25 21 33 36 64 61 25 |.P%!20>da%!36da%| 000069e0 21 33 36 3d 50 25 21 32 30 0d 31 10 05 e1 0d 31 |!36=P%!20.1....1| 000069f0 1a 04 0d 31 24 0f dd f2 73 74 61 72 74 64 72 61 |...1$...startdra| 00006a00 77 0d 31 2e 21 24 64 61 25 3d 22 44 72 61 77 22 |w.1.!$da%="Draw"| 00006a10 3a 64 61 25 21 34 3d 32 30 31 3a 64 61 25 21 38 |:da%!4=201:da%!8| 00006a20 3d 30 0d 31 38 18 24 28 64 61 25 2b 31 32 29 3d |=0.18.$(da%+12)=| 00006a30 22 21 47 72 61 70 68 20 20 22 0d 31 42 23 64 61 |"!Graph ".1B#da| 00006a40 25 21 32 34 3d 30 3a 64 61 25 21 32 38 3d 30 3a |%!24=0:da%!28=0:| 00006a50 64 61 25 21 33 32 3d 32 33 30 34 30 30 0d 31 4c |da%!32=230400.1L| 00006a60 2a 64 61 25 21 33 36 3d 31 38 34 33 32 30 3a 64 |*da%!36=184320:d| 00006a70 73 74 74 25 3d 64 61 25 3a 64 72 61 77 5f 70 25 |stt%=da%:draw_p%| 00006a80 3d 64 61 25 2b 34 30 0d 31 56 0c 73 74 61 63 6b |=da%+40.1V.stack| 00006a90 25 3d 30 0d 31 60 05 e1 0d 31 6a 04 0d 31 74 0d |%=0.1`...1j..1t.| 00006aa0 dd f2 65 6e 64 64 72 61 77 0d 31 7e 2f e7 73 74 |..enddraw.1~/.st| 00006ab0 61 63 6b 25 3c 3e 30 20 85 39 39 2c 22 54 68 65 |ack%<>0 .99,"The| 00006ac0 20 64 72 61 77 69 6e 67 20 68 61 73 20 67 6f 6e | drawing has gon| 00006ad0 65 20 77 72 6f 6e 67 22 0d 31 88 13 64 65 6e 64 |e wrong".1..dend| 00006ae0 25 3d 64 72 61 77 5f 70 25 2d 34 0d 31 92 05 e1 |%=draw_p%-4.1...| 00006af0 0d 31 9c 04 0d 31 a6 14 dd f2 73 74 61 72 74 67 |.1...1....startg| 00006b00 72 6f 75 70 28 54 24 29 0d 31 b0 10 f2 73 74 61 |roup(T$).1...sta| 00006b10 72 74 6f 62 6a 28 36 29 0d 31 ba 1d 24 64 72 61 |rtobj(6).1..$dra| 00006b20 77 5f 70 25 3d c0 54 24 2b c4 31 32 2c 22 20 22 |w_p%=.T$+.12," "| 00006b30 29 2c 31 32 29 0d 31 c4 0f 64 72 61 77 5f 70 25 |),12).1..draw_p%| 00006b40 2b 3d 31 32 0d 31 ce 05 e1 0d 31 d8 04 0d 31 e2 |+=12.1....1...1.| 00006b50 0e dd f2 65 6e 64 67 72 6f 75 70 0d 31 ec 0b f2 |...endgroup.1...| 00006b60 65 6e 64 6f 62 6a 0d 31 f6 05 e1 0d 32 00 04 0d |endobj.1....2...| 00006b70 32 0a 1b dd f2 74 65 78 74 6c 28 58 25 2c 59 25 |2....textl(X%,Y%| 00006b80 2c 48 25 2c 43 25 2c 41 24 29 0d 32 14 10 f2 73 |,H%,C%,A$).2...s| 00006b90 74 61 72 74 6f 62 6a 28 31 29 0d 32 1e 49 21 64 |tartobj(1).2.I!d| 00006ba0 72 61 77 5f 70 25 3d 43 25 3a 64 72 61 77 5f 70 |raw_p%=C%:draw_p| 00006bb0 25 21 34 3d 26 46 46 46 46 46 46 30 30 3a 64 72 |%!4=&FFFFFF00:dr| 00006bc0 61 77 5f 70 25 21 38 3d 30 3a 64 72 61 77 5f 70 |aw_p%!8=0:draw_p| 00006bd0 25 2b 3d 31 32 3a 21 64 72 61 77 5f 70 25 3d 48 |%+=12:!draw_p%=H| 00006be0 25 81 32 0d 32 28 3f 64 72 61 77 5f 70 25 21 34 |%.2.2(?draw_p%!4| 00006bf0 3d 48 25 3a 64 72 61 77 5f 70 25 2b 3d 38 3a 21 |=H%:draw_p%+=8:!| 00006c00 64 72 61 77 5f 70 25 3d 58 25 3a 64 72 61 77 5f |draw_p%=X%:draw_| 00006c10 70 25 21 34 3d 59 25 3a 64 72 61 77 5f 70 25 2b |p%!4=Y%:draw_p%+| 00006c20 3d 38 0d 32 32 32 48 25 3d 34 2d a9 41 24 83 34 |=8.222H%=4-.A$.4| 00006c30 3a 24 64 72 61 77 5f 70 25 3d 41 24 2b c4 48 25 |:$draw_p%=A$+.H%| 00006c40 2c bd 30 29 3a 64 72 61 77 5f 70 25 2b 3d a9 41 |,.0):draw_p%+=.A| 00006c50 24 2b 48 25 0d 32 3c 0b f2 65 6e 64 6f 62 6a 0d |$+H%.2<..endobj.| 00006c60 32 46 05 e1 0d 32 50 04 0d 32 5a 33 dd f2 73 74 |2F...2P..2Z3..st| 00006c70 61 72 74 70 61 74 68 28 58 25 2c 59 25 2c 66 69 |artpath(X%,Y%,fi| 00006c80 6c 6c 63 6f 6c 25 2c 6c 69 6e 65 63 6f 6c 25 2c |llcol%,linecol%,| 00006c90 6c 69 6e 65 74 68 69 63 6b 25 29 0d 32 64 10 f2 |linethick%).2d..| 00006ca0 73 74 61 72 74 6f 62 6a 28 32 29 0d 32 6e 33 21 |startobj(2).2n3!| 00006cb0 64 72 61 77 5f 70 25 3d 66 69 6c 6c 63 6f 6c 25 |draw_p%=fillcol%| 00006cc0 3a 64 72 61 77 5f 70 25 21 34 3d 6c 69 6e 65 63 |:draw_p%!4=linec| 00006cd0 6f 6c 25 3a 64 72 61 77 5f 70 25 2b 3d 38 0d 32 |ol%:draw_p%+=8.2| 00006ce0 78 3b 21 64 72 61 77 5f 70 25 3d 6c 69 6e 65 74 |x;!draw_p%=linet| 00006cf0 68 69 63 6b 25 3a 64 72 61 77 5f 70 25 21 34 3d |hick%:draw_p%!4=| 00006d00 32 5e 36 3a 64 72 61 77 5f 70 25 2b 3d 38 3a 21 |2^6:draw_p%+=8:!| 00006d10 64 72 61 77 5f 70 25 3d 32 0d 32 82 29 64 72 61 |draw_p%=2.2.)dra| 00006d20 77 5f 70 25 21 34 3d 58 25 3a 64 72 61 77 5f 70 |w_p%!4=X%:draw_p| 00006d30 25 21 38 3d 59 25 3a 64 72 61 77 5f 70 25 2b 3d |%!8=Y%:draw_p%+=| 00006d40 31 32 0d 32 8c 05 e1 0d 32 96 04 0d 32 a0 13 dd |12.2....2...2...| 00006d50 f2 64 72 61 77 74 6f 28 58 25 2c 59 25 29 0d 32 |.drawto(X%,Y%).2| 00006d60 aa 34 21 64 72 61 77 5f 70 25 3d 38 3a 64 72 61 |.4!draw_p%=8:dra| 00006d70 77 5f 70 25 21 34 3d 58 25 3a 64 72 61 77 5f 70 |w_p%!4=X%:draw_p| 00006d80 25 21 38 3d 59 25 3a 64 72 61 77 5f 70 25 2b 3d |%!8=Y%:draw_p%+=| 00006d90 31 32 0d 32 b4 05 e1 0d 32 be 04 0d 32 c8 0f dd |12.2....2...2...| 00006da0 f2 6d 74 28 58 25 2c 59 25 29 0d 32 d2 34 21 64 |.mt(X%,Y%).2.4!d| 00006db0 72 61 77 5f 70 25 3d 32 3a 64 72 61 77 5f 70 25 |raw_p%=2:draw_p%| 00006dc0 21 34 3d 58 25 3a 64 72 61 77 5f 70 25 21 38 3d |!4=X%:draw_p%!8=| 00006dd0 59 25 3a 64 72 61 77 5f 70 25 2b 3d 31 32 0d 32 |Y%:draw_p%+=12.2| 00006de0 dc 05 e1 0d 32 e6 04 0d 32 f0 0d dd f2 65 6e 64 |....2...2....end| 00006df0 70 61 74 68 0d 32 fa 21 21 64 72 61 77 5f 70 25 |path.2.!!draw_p%| 00006e00 3d 30 3a 64 72 61 77 5f 70 25 2b 3d 34 3a f2 65 |=0:draw_p%+=4:.e| 00006e10 6e 64 6f 62 6a 0d 33 04 05 e1 0d 33 0e 04 0d 33 |ndobj.3....3...3| 00006e20 18 0f dd f2 63 6c 6f 73 65 70 61 74 68 0d 33 22 |....closepath.3"| 00006e30 22 21 64 72 61 77 5f 70 25 3d 35 3a 64 72 61 77 |"!draw_p%=5:draw| 00006e40 5f 70 25 2b 3d 34 3a f2 65 6e 64 70 61 74 68 0d |_p%+=4:.endpath.| 00006e50 33 2c 05 e1 0d 33 36 04 0d 33 40 16 dd f2 73 61 |3,...36..3@...sa| 00006e60 76 65 5f 64 72 61 77 28 6e 61 6d 65 24 29 0d 33 |ve_draw(name$).3| 00006e70 4a 07 ea 54 25 0d 33 54 2c ff 22 53 61 76 65 20 |J..T%.3T,."Save | 00006e80 22 2b 6e 61 6d 65 24 2b 22 20 22 2b c3 7e 64 61 |"+name$+" "+.~da| 00006e90 25 2b 22 20 22 2b c3 7e 28 64 65 6e 64 25 2b 34 |%+" "+.~(dend%+4| 00006ea0 29 0d 33 5e 1c ff 22 53 65 74 74 79 70 65 20 22 |).3^.."Settype "| 00006eb0 2b 6e 61 6d 65 24 2b 22 20 41 46 46 22 0d 33 68 |+name$+" AFF".3h| 00006ec0 05 e1 0d 33 72 04 0d 33 7c 15 dd 20 a4 63 6f 6c |...3r..3|.. .col| 00006ed0 6f 75 72 28 76 61 6c 75 65 25 29 0d 33 86 0f c8 |our(value%).3...| 00006ee0 8e 20 76 61 6c 75 65 25 20 ca 0d 33 90 12 20 20 |. value% ..3.. | 00006ef0 c9 20 31 20 3a 20 3d 26 43 43 30 30 0d 33 9a 14 |. 1 : =&CC00.3..| 00006f00 20 20 c9 20 32 20 3a 20 3d 26 44 44 30 30 30 30 | . 2 : =&DD0000| 00006f10 0d 33 a4 14 20 20 c9 20 33 20 3a 20 3d 26 45 45 |.3.. . 3 : =&EE| 00006f20 45 45 42 42 0d 33 ae 14 20 20 c9 20 34 20 3a 20 |EEBB.3.. . 4 : | 00006f30 3d 26 35 35 38 38 30 30 0d 33 b8 14 20 20 c9 20 |=&558800.3.. . | 00006f40 35 20 3a 20 3d 26 46 46 42 42 30 30 0d 33 c2 14 |5 : =&FFBB00.3..| 00006f50 20 20 c9 20 36 20 3a 20 3d 26 46 46 30 30 41 41 | . 6 : =&FF00AA| 00006f60 0d 33 cc 05 cb 0d 33 d6 05 e0 0d 33 e0 04 0d 33 |.3....3....3...3| 00006f70 ea 23 dd f2 62 65 7a 69 65 72 28 58 25 2c 59 25 |.#..bezier(X%,Y%| 00006f80 2c 78 31 25 2c 79 31 25 2c 78 32 25 2c 79 32 25 |,x1%,y1%,x2%,y2%| 00006f90 29 0d 33 f4 36 21 64 72 61 77 5f 70 25 3d 36 3a |).3.6!draw_p%=6:| 00006fa0 64 72 61 77 5f 70 25 21 34 3d 78 31 25 3a 64 72 |draw_p%!4=x1%:dr| 00006fb0 61 77 5f 70 25 21 38 3d 79 31 25 3a 64 72 61 77 |aw_p%!8=y1%:draw| 00006fc0 5f 70 25 2b 3d 31 32 0d 33 fe 29 21 64 72 61 77 |_p%+=12.3.)!draw| 00006fd0 5f 70 25 3d 78 32 25 3a 64 72 61 77 5f 70 25 21 |_p%=x2%:draw_p%!| 00006fe0 34 3d 79 32 25 3a 64 72 61 77 5f 70 25 2b 3d 38 |4=y2%:draw_p%+=8| 00006ff0 0d 34 08 27 21 64 72 61 77 5f 70 25 3d 58 25 3a |.4.'!draw_p%=X%:| 00007000 64 72 61 77 5f 70 25 21 34 3d 59 25 3a 64 72 61 |draw_p%!4=Y%:dra| 00007010 77 5f 70 25 2b 3d 38 0d 34 12 05 e1 0d 34 1c 04 |w_p%+=8.4....4..| 00007020 0d 34 26 33 dd f2 63 69 72 63 6c 65 28 58 25 2c |.4&3..circle(X%,| 00007030 59 25 2c 52 25 2c 66 69 6c 6c 63 6f 6c 25 2c 6c |Y%,R%,fillcol%,l| 00007040 69 6e 65 63 6f 6c 25 2c 6c 69 6e 65 74 68 69 63 |inecol%,linethic| 00007050 6b 25 29 0d 34 30 06 ea 66 0d 34 3a 12 66 3d b5 |k%).40..f.4:.f=.| 00007060 b2 33 33 2e 33 33 33 33 33 33 33 0d 34 44 13 58 |.33.3333333.4D.X| 00007070 25 3d 58 25 2a 32 30 30 2b 35 30 30 30 30 0d 34 |%=X%*200+50000.4| 00007080 4e 0d 59 25 3d 59 25 2a 32 30 30 0d 34 58 0d 52 |N.Y%=Y%*200.4X.R| 00007090 25 3d 52 25 2a 32 30 30 0d 34 62 35 f2 73 74 61 |%=R%*200.4b5.sta| 000070a0 72 74 70 61 74 68 28 58 25 2c 59 25 2b 52 25 2c |rtpath(X%,Y%+R%,| 000070b0 66 69 6c 6c 63 6f 6c 25 2c 6c 69 6e 65 63 6f 6c |fillcol%,linecol| 000070c0 25 2c 6c 69 6e 65 74 68 69 63 6b 25 29 0d 34 6c |%,linethick%).4l| 000070d0 31 f2 62 65 7a 69 65 72 28 58 25 2d 52 25 2c 59 |1.bezier(X%-R%,Y| 000070e0 25 2c 58 25 2d 52 25 2a 66 2c 59 25 2b 52 25 2c |%,X%-R%*f,Y%+R%,| 000070f0 58 25 2d 52 25 2c 59 25 2b 52 25 2a 66 29 0d 34 |X%-R%,Y%+R%*f).4| 00007100 76 31 f2 62 65 7a 69 65 72 28 58 25 2c 59 25 2d |v1.bezier(X%,Y%-| 00007110 52 25 2c 58 25 2d 52 25 2c 59 25 2d 52 25 2a 66 |R%,X%-R%,Y%-R%*f| 00007120 2c 58 25 2d 52 25 2a 66 2c 59 25 2d 52 25 29 0d |,X%-R%*f,Y%-R%).| 00007130 34 80 31 f2 62 65 7a 69 65 72 28 58 25 2b 52 25 |4.1.bezier(X%+R%| 00007140 2c 59 25 2c 58 25 2b 52 25 2a 66 2c 59 25 2d 52 |,Y%,X%+R%*f,Y%-R| 00007150 25 2c 58 25 2b 52 25 2c 59 25 2d 52 25 2a 66 29 |%,X%+R%,Y%-R%*f)| 00007160 0d 34 8a 31 f2 62 65 7a 69 65 72 28 58 25 2c 59 |.4.1.bezier(X%,Y| 00007170 25 2b 52 25 2c 58 25 2b 52 25 2c 59 25 2b 52 25 |%+R%,X%+R%,Y%+R%| 00007180 2a 66 2c 58 25 2b 52 25 2a 66 2c 59 25 2b 52 25 |*f,X%+R%*f,Y%+R%| 00007190 29 0d 34 94 0e f2 63 6c 6f 73 65 70 61 74 68 0d |).4...closepath.| 000071a0 34 9e 05 e1 0d 34 a8 04 0d 34 b2 1b f4 20 2a 2a |4....4...4... **| 000071b0 2a 20 45 52 52 4f 52 20 52 4f 55 54 49 4e 45 20 |* ERROR ROUTINE | 000071c0 2a 2a 2a 0d 34 bc 0c dd f2 52 65 70 6f 72 74 0d |***.4....Report.| 000071d0 34 c6 05 db 0d 34 d0 07 ef 20 35 0d 34 da 20 f1 |4....4... 5.4. .| 000071e0 20 22 53 59 53 54 45 4d 20 44 49 41 47 4e 4f 53 | "SYSTEM DIAGNOS| 000071f0 54 49 43 20 45 52 52 4f 52 22 27 0d 34 e4 12 f1 |TIC ERROR"'.4...| 00007200 20 22 41 54 20 4c 49 4e 45 20 22 3b 9e 0d 34 ee | "AT LINE ";..4.| 00007210 09 f1 20 27 f6 24 0d 34 f8 05 e1 0d ff |.. '.$.4.....| 0000721d