home *** CD-ROM | disk | FTP | other *** search
/ Softdisk G-S 131 / SGDS 131.2mg / SDGS.131 / SDC131 / C / MD.1 (.txt) < prev    next >
Encoding:
Applesoft BASIC Source Code  |  1992-08-24  |  11.1 KB  |  384 lines  |  [FC] Applesoft BASIC Program (0x0801)

  1. 120  DIM M$(12),Z$(11),R%(16),S%(16)
  2. 170 HG = 49234: HCOLOR= 3
  3. 180 MP = 1:CH = 32:BS$ =  CHR$(8):FS$ =  CHR$(21):CR$ =  CHR$(13):UP$ =  CHR$(11):DN$ =  CHR$(10):ES$ =  CHR$(27):BL$ =  CHR$(7)
  4. 190  GOSUB 4120
  5. 200 :
  6. 210  VTAB 12: HTAB 5: PRINT "Working...";
  7. 220  FOR X = 1 TO 16: READ R%(X),S%(X): NEXT X
  8. 230  DATA  4,19,6,16,6,22,8,13,8,19,8,25,10,10,10,16,10,22,10,28
  9. 240  DATA  12,13,12,19,12,25,14,16,14,22,16,19
  10. 250  FOR X = 1 TO 6: READ W$(X): NEXT X
  11. 260  DATA "9-cell Diamonds","16-cell Diamonds","The 8 PATHS"
  12. 270  DATA  "How to make Magic Diamonds","Make Your Own","QUIT"
  13. 280  FOR X = 1 TO 5: READ N$(X): NEXT X
  14. 290  DATA A,B,C,D,MENU
  15. 300  FOR X = 1 TO 10: READ L$(X): NEXT X
  16. 310  DATA A,B,C,D,E,F,G,H,A(L)L,MENU
  17. 320  FOR C1 = 1 TO 12: READ M$(C1): NEXT C1
  18. 330  DATA A,B,C,D,E,F,G,H,I,J,K,MENU
  19. 340  GOSUB 4120: GOTO 1370
  20. 350  REM  ** 4 OBLIQUE COLUMNS **
  21. 360 D = 21/10:E = 16/10
  22. 370 X1 = 123.25:Y1 = 127:X2 = 207.25:Y2 = 63: GOSUB 1260
  23. 380 X1 = 102.25:Y1 = 111:X2 = 186.25:Y2 = 47: GOSUB 1260
  24. 390 X1 = 81.25:Y1 = 95:X2 = 165.25:Y2 = 31: GOSUB 1260
  25. 400 X1 = 60.25:Y1 = 79:X2 = 144.25:Y2 = 15: GOSUB 1260
  26. 410  GOSUB 1930: GOSUB 1330: GOSUB 1170: RETURN 
  27. 420  REM  ** 4 OBLIQUE ROWS **
  28. 430 D =  -21/10:E = 16/10
  29. 440 X1 = 133.75:Y1 = 15:X2 = 217.75:Y2 = 79: GOSUB 1260
  30. 450 X1 = 112.75:Y1 = 31:X2 = 196.75:Y2 = 95: GOSUB 1260
  31. 460 X1 = 91.75:Y1 = 47:X2 = 175.75:Y2 = 111: GOSUB 1260
  32. 470 X1 = 70.75:Y1 = 63:X2 = 154.75:Y2 = 127: GOSUB 1260
  33. 480  GOSUB 1930: GOSUB 1330: GOSUB 1170: RETURN 
  34. 490  REM  ** 1 HORIZONTAL DIAGONAL **
  35. 500 D =  -21/10:E = 16/10
  36. 510 X1 = 70.75:Y1 = 63:X2 = 91.75:Y2 = 79: GOSUB 1260
  37. 520 X1 = 112.75:Y1 = 63:X2 = 133.75:Y2 = 79: GOSUB 1260
  38. 530 X1 = 154.75:Y1 = 63:X2 = 175.75:Y2 = 79: GOSUB 1260
  39. 540 X1 = 196.75:Y1 = 63:X2 = 217.75:Y2 = 79: GOSUB 1260
  40. 550  GOSUB 1930: GOSUB 1330: GOSUB 1170: RETURN 
  41. 560  REM  ** 1 VERTICAL DIAGONAL **
  42. 570 D =  -21/10:E = 16/10
  43. 580 X1 = 133.75:Y1 = 15:X2 = 154.75:Y2 = 31: GOSUB 1260
  44. 590 X1 = 133.75:Y1 = 47:X2 = 154.75:Y2 = 63: GOSUB 1260
  45. 600 X1 = 133.75:Y1 = 79:X2 = 154.75:Y2 = 95: GOSUB 1260
  46. 610 X1 = 133.75:Y1 = 111:X2 = 154.75:Y2 = 127: GOSUB 1260
  47. 620  GOSUB 1930: GOSUB 1330: GOSUB 1170: RETURN 
  48. 630  REM  ** 1 OPP. SIDE COMBO,B TO T **
  49. 640 D =  -21/10:E = 16/10
  50. 650 X1 = 154.75:Y1 = 31:X2 = 196.75:Y2 = 63: GOSUB 1260
  51. 660 X1 = 91.75:Y1 = 79:X2 = 133.75:Y2 = 111: GOSUB 1260
  52. 670  GOSUB 1930: GOSUB 1330: GOSUB 1170: RETURN 
  53. 680  REM  ** 1 OPP. SIDE COMBO,L TO R **
  54. 690 D = 21/10:E = 16/10
  55. 700 X1 = 81.25:Y1 = 63:X2 = 123.75:Y2 = 31: GOSUB 1260
  56. 710 X1 = 144.25:Y1 = 111:X2 = 186.25:Y2 = 79: GOSUB 1260
  57. 720  GOSUB 1930: GOSUB 1330: GOSUB 1170: RETURN 
  58. 730  REM  ** 1 ENDS OF MAJOR DIAGONAL **
  59. 740 D =  -21/10:E = 16/10
  60. 750 X1 = 91.75:Y1 = 47:X2 = 112.75:Y2 = 63: GOSUB 1260
  61. 760 X1 = 91.75:Y1 = 79:X2 = 112.75:Y2 = 95: GOSUB 1260
  62. 770 X1 = 175.75:Y1 = 47:X2 = 196.75:Y2 = 63: GOSUB 1260
  63. 780 X1 = 175.75:Y1 = 79:X2 = 196.75:Y2 = 95: GOSUB 1260
  64. 790  GOSUB 1930: GOSUB 1330: GOSUB 1170: RETURN 
  65. 800  REM  ** 1 ENDS OF MINOR DIAGONAL **
  66. 810 D =  -21/10:E = 16/10
  67. 820 X1 = 112.75:Y1 = 31:X2 = 133.75:Y2 = 47: GOSUB 1260
  68. 830 X1 = 154.75:Y1 = 31:X2 = 175.75:Y2 = 47: GOSUB 1260
  69. 840 X1 = 112.75:Y1 = 95:X2 = 133.75:Y2 = 111: GOSUB 1260
  70. 850 X1 = 154.75:Y1 = 95:X2 = 175.75:Y2 = 111: GOSUB 1260
  71. 860  GOSUB 1930: GOSUB 1330: GOSUB 1170: RETURN 
  72. 870  REM  ** 1 FOUR CORNERS **
  73. 880 D =  -21/10:E = 16/10
  74. 890 X1 = 133.75:Y1 = 15:X2 = 154.75:Y2 = 31: GOSUB 1260
  75. 900 X1 = 196.75:Y1 = 63:X2 = 217.75:Y2 = 79: GOSUB 1260
  76. 910 X1 = 133.75:Y1 = 111:X2 = 154.75:Y2 = 127: GOSUB 1260
  77. 920 X1 = 70.75:Y1 = 63:X2 = 91.75:Y2 = 79: GOSUB 1260
  78. 930  GOSUB 1930: GOSUB 1330: GOSUB 1170: RETURN 
  79. 940  REM  ** 4 INNER DIAMONDS **
  80. 950 D = 21/10:E = 16/10
  81. 960 X1 = 102.25:Y1 = 47:X2 = 144.25:Y2 = 15: GOSUB 1260
  82. 970 X1 = 123.25:Y1 = 63:X2 = 165.25:Y2 = 31: GOSUB 1260
  83. 980 X1 = 102.25:Y1 = 111:X2 = 144.25:Y2 = 79: GOSUB 1260
  84. 990 X1 = 123.25:Y1 = 127:X2 = 165.25:Y2 = 95: GOSUB 1260
  85. 1000 D =  -21/10:E = 16/10
  86. 1010 X1 = 175.75:Y1 = 47:X2 = 217.75:Y2 = 79: GOSUB 1260
  87. 1020 X1 = 154.75:Y1 = 63:X2 = 196.75:Y2 = 95: GOSUB 1260
  88. 1030 X1 = 91.75:Y1 = 47:X2 = 133.75:Y2 = 79: GOSUB 1260
  89. 1040 X1 = 70.75:Y1 = 63:X2 = 112.75:Y2 = 95: GOSUB 1260
  90. 1050  GOSUB 1930: GOSUB 1330: GOSUB 1170: RETURN 
  91. 1060  REM  ** 1 INNERMOST DIAMOND **
  92. 1070 D =  -21/10:E = 16/10
  93. 1080 X1 = 133.75:Y1 = 47:X2 = 175.75:Y2 = 79: GOSUB 1260
  94. 1090 X1 = 112.75:Y1 = 63:X2 = 154.75:Y2 = 95: GOSUB 1260
  95. 1100  GOSUB 1930: GOSUB 1330: GOSUB 1170: RETURN 
  96. 1110  REM   ** DRAWS 9-CELL DIAMOND **
  97. 1120  HPLOT 139,11 TO 202,59 TO 139,107 TO 76,59 TO 139,11
  98. 1130  HPLOT 118,27 TO 181,75: HPLOT 160,27 TO 97,75
  99. 1140  HPLOT 97,43 TO 160,91: HPLOT 181,43 TO 118,91
  100. 1150  RETURN 
  101. 1160  REM    ** DRAWS 16-CELL DIAMOND **
  102. 1170  HPLOT 55,75 TO 139,11 TO 223,75 TO 139,139 TO 55,75
  103. 1180  HPLOT 76,59 TO 160,123
  104. 1190  HPLOT 97,43 TO 181,107
  105. 1200  HPLOT 118,27 TO 202,91
  106. 1210  HPLOT 76,91 TO 160,27
  107. 1220  HPLOT 97,107 TO 181,43
  108. 1230  HPLOT 118,123 TO 202,59
  109. 1240  RETURN 
  110. 1250  REM   **FILL ROUTINE**
  111. 1260  FOR X = 1 TO 5
  112. 1270 X1 = X1 +D:Y1 = Y1 +E
  113. 1280 X2 = X2 +D:Y2 = Y2 +E
  114. 1290  HPLOT X1,Y1 TO X2,Y2
  115. 1300  NEXT X
  116. 1310  RETURN 
  117. 1320  REM    **ERASE DIAMOND**
  118. 1330  FOR R = 2 TO 17
  119. 1340  VTAB R: HTAB 1: PRINT  SPC( 32)
  120. 1350  NEXT R: VTAB 18: HTAB 20: PRINT  SPC( 2): RETURN 
  121. 1360  REM  ** MAIN MENU **
  122. 1370 M1 = 1
  123. 1380  CALL 54915: GOSUB 4120
  124. 1390  VTAB 1: HTAB 13: PRINT "MAGIC DIAMONDS"
  125. 1400  VTAB 3: HTAB 15: INVERSE : PRINT "-- MENU --": NORMAL 
  126. 1410  FOR C1 = 1 TO 6: IF M1 = C1  THEN  INVERSE 
  127. 1420  HTAB 7: VTAB 2 *C1 +3: PRINT W$(C1): NORMAL 
  128. 1430  NEXT 
  129. 1440  VTAB 24: HTAB 1: PRINT "ARROWS MOVE HIGHLIGHT - RETURN SELECTS"
  130. 1450  GET K$
  131. 1460  NORMAL : HTAB 7: VTAB 2 *M1 +3: PRINT W$(M1)
  132. 1470  IF (K$ = BS$  OR K$ = UP$)  THEN M1 = M1 -1: IF M1 <1  THEN M1 = 6
  133. 1480  IF (K$ = FS$  OR K$ = DN$)  THEN M1 = M1 +1: IF M1 >6  THEN M1 = 1
  134. 1490  IF K$ = CR$  THEN  INVERSE : HTAB 7: VTAB 2 *M1 +3: PRINT W$(M1): NORMAL : GOTO 1530
  135. 1500  IF K$ = ES$  THEN M1 = 6: GOTO 1530
  136. 1510  INVERSE : HTAB 7: VTAB 2 *M1 +3: PRINT W$(M1): NORMAL 
  137. 1520  GOTO 1450
  138. 1530  ON M1 GOTO 1550,1560,1570,1580,1590,1600
  139. 1540  GOTO 1410
  140. 1550  GOSUB 4120: GOSUB 3470: GOSUB 1120: GOTO 2320
  141. 1560  GOSUB 4120: GOSUB 1170: GOSUB 3610: GOSUB 1170: GOSUB 1730: GOTO 1620
  142. 1570  GOSUB 4120: GOSUB 1170: GOSUB 3900: GOSUB 1170: GOTO 2420
  143. 1580  PRINT  CHR$(4);"RUNMD.2"
  144. 1590  PRINT  CHR$(4);" RUN MD.3"
  145. 1600  GOSUB 4120: GOTO 4190
  146. 1610  REM  ** CHOICES FOR 20 4-CELL SETS **
  147. 1620 MP = 1
  148. 1630  VTAB 24: HTAB 2: FOR C1 = 1 TO 12: IF MP = C1  THEN  INVERSE 
  149. 1640  PRINT M$(C1);: NORMAL : PRINT "  ";: NEXT 
  150. 1650  IF K$ < > CHR$(255)  THEN  GET K$
  151. 1651  IF K$ >"@"  AND K$ <"L"  THEN MP =  ASC(K$) -64: GOTO 1630
  152. 1652  IF K$ >"`"  AND K$ <"l"  THEN MP =  ASC(K$) -96: GOTO 1630
  153. 1653  IF K$ = "M"  OR K$ = "m"  THEN MP = 12: GOTO 1630
  154. 1660  IF (K$ = BS$  OR K$ = UP$)  THEN MP = MP -1: IF MP <1  THEN MP = 12
  155. 1670  IF (K$ = FS$  OR K$ = DN$)  THEN MP = MP +1: IF MP >12  THEN MP = 1
  156. 1680  IF (K$ = CR$  OR K$ =  CHR$(255))  THEN 1710
  157. 1690  IF K$ = ES$  THEN MP = 12:K$ =  CHR$(255): GOTO 1630
  158. 1700  GOTO 1630
  159. 1710  ON MP GOSUB 360,430,500,570,880,640,690,740,810,950,1070,1380
  160. 1720  GOTO 1630
  161. 1730  REM  ** 20 4-CELL SETS MENU **
  162. 1740  GOSUB 1170
  163. 1750 Z$(1) = "A 4 slant columns"
  164. 1760 Z$(3) = "B 4 slant rows"
  165. 1770 Z$(5) = "C 1 horiz row"
  166. 1780 Z$(7) = "D 1 vert row"
  167. 1790 Z$(9) = "E 1 four corners"
  168. 1800 Z$(2) = "F 1 opp side pair"
  169. 1810 Z$(4) = "G 1 opp side pair"
  170. 1820 Z$(6) = "H 1 ends hor diag"
  171. 1830 Z$(8) = "I 1 ends ver diag"
  172. 1840 Z$(10) = "J 4 inner diamonds"
  173. 1850 Z$(11) = "K 1 inner diamond"
  174. 1860  VTAB 18: HTAB 1
  175. 1870  FOR X = 1 TO 10  STEP 2
  176. 1880  PRINT Z$(X);: HTAB 22: PRINT Z$(X +1)
  177. 1890  NEXT X
  178. 1900  HTAB 11: PRINT Z$(11)
  179. 1910  VTAB 1: HTAB 1: PRINT "Each marked set's sum is the MAGIC SUM."
  180. 1920  RETURN 
  181. 1930  VTAB 4: HTAB 1: PRINT "Press any key"
  182. 1940  PRINT "to continue.": GET P$: IF P$ = ES$  THEN  POP : GOTO 1370
  183. 1950  RETURN 
  184. 1960  REM  ** 3 OBLIQUE COLUMNS **
  185. 1970 D = 21/10:E = 16/10
  186. 1980 X1 = 123.25:Y1 = 95:X2 = 186.25:Y2 = 47: GOSUB 1260
  187. 1990 X1 = 102.25:Y1 = 79:X2 = 165.25:Y2 = 31: GOSUB 1260
  188. 2000 X1 = 81.25:Y1 = 63:X2 = 144.25:Y2 = 15: GOSUB 1260
  189. 2010  GOSUB 1930: GOSUB 1330: GOSUB 1120: RETURN 
  190. 2020  REM  ** 3 OBLIQUE ROWS **
  191. 2030 D =  -21/10:E = 16/10
  192. 2040 X1 = 133.75:Y1 = 15:X2 = 196.75:Y2 = 63: GOSUB 1260
  193. 2050 X1 = 112.75:Y1 = 31:X2 = 175.75:Y2 = 79: GOSUB 1260
  194. 2060 X1 = 91.75:Y1 = 47:X2 = 154.75:Y2 = 95: GOSUB 1260
  195. 2070  GOSUB 1930: GOSUB 1330: GOSUB 1120: RETURN 
  196. 2080  REM  ** 1 HORIZONTAL DIAGONAL **
  197. 2090 D =  -21/10:E = 16/10
  198. 2100 X1 = 91.75:Y1 = 47:X2 = 112.75:Y2 = 63: GOSUB 1260
  199. 2110 X1 = 133.75:Y1 = 47:X2 = 154.75:Y2 = 63: GOSUB 1260
  200. 2120 X1 = 175.75:Y1 = 47:X2 = 196.75:Y2 = 63: GOSUB 1260
  201. 2130  GOSUB 1930: GOSUB 1330: GOSUB 1120: RETURN 
  202. 2140  REM  ** 1 VERTICAL DIAGONAL **
  203. 2150 D = 21/10:E = 16/10
  204. 2160 X1 = 123.25:Y1 = 31:X2 = 144.25:Y2 = 15: GOSUB 1260
  205. 2170 X1 = 123.25:Y1 = 63:X2 = 144.25:Y2 = 47: GOSUB 1260
  206. 2180 X1 = 123.25:Y1 = 95:X2 = 144.25:Y2 = 79: GOSUB 1260
  207. 2190  GOSUB 1930: GOSUB 1330: GOSUB 1120: RETURN 
  208. 2200  REM    ** CHOICES FOR 8 3-CELL SETS **
  209. 2210 NP = 1
  210. 2220  VTAB 24: HTAB 12: FOR C1 = 1 TO 5: IF NP = C1  THEN  INVERSE 
  211. 2230  PRINT N$(C1);: NORMAL : PRINT "  ";: NEXT 
  212. 2240  IF K$ < > CHR$(255)  THEN  GET K$
  213. 2241  IF K$ >"@"  AND K$ <"E"  THEN NP =  ASC(K$) -64: GOTO 2220
  214. 2242  IF K$ >"`"  AND K$ <"e"  THEN NP =  ASC(K$) -96: GOTO 2220
  215. 2243  IF K$ = "M"  OR K$ = "m"  THEN NP = 5: GOTO 2220
  216. 2250  IF (K$ = BS$  OR K$ = UP$)  THEN NP = NP -1: IF NP <1  THEN NP = 5
  217. 2260  IF (K$ = FS$  OR K$ = DN$)  THEN NP = NP +1: IF NP >5  THEN NP = 1
  218. 2270  IF (K$ = CR$  OR K$ =  CHR$(255))  THEN 2300
  219. 2280  IF K$ = ES$  THEN NP = 5:K$ =  CHR$(255): GOTO 2220
  220. 2290  GOTO 2220
  221. 2300  ON NP GOSUB 1970,2030,2090,2150,1380
  222. 2310  GOTO 2220
  223. 2320  REM   ** 8 3-CELL SETS MENU **
  224. 2330 J$(1) = "A 3 slant columns"
  225. 2340 J$(3) = "B 3 slant rows"
  226. 2350 J$(2) = "C 1 horiz diag"
  227. 2360 J$(4) = "D 1 vert diag"
  228. 2370  VTAB 20: HTAB 1
  229. 2380  FOR X = 1 TO 4  STEP 2
  230. 2390  PRINT J$(X);: HTAB 22: PRINT J$(X +1)
  231. 2400  NEXT X
  232. 2410  GOSUB 1910: GOTO 2210
  233. 2420  VTAB 1: HTAB 14: PRINT "The 8 PATHS."
  234. 2430 NP = 1
  235. 2440  VTAB 22: HTAB 2: FOR C1 = 1 TO 10: IF NP = C1  THEN  INVERSE 
  236. 2450  PRINT L$(C1);: NORMAL : PRINT "  ";: NEXT 
  237. 2460 PP = 0
  238. 2470  IF K$ < > CHR$(255)  THEN  GET K$
  239. 2471  IF K$ >"@"  AND K$ <"I"  THEN NP =  ASC(K$) -64: GOTO 2440
  240. 2472  IF K$ >"`"  AND K$ <"i"  THEN NP =  ASC(K$) -96: GOTO 2440
  241. 2473  IF K$ = "L"  OR K$ = "l"  THEN NP = 9: GOTO 2440
  242. 2474  IF K$ = "M"  OR K$ = "m"  THEN NP = 10: GOTO 2440
  243. 2480  IF (K$ = BS$  OR K$ = UP$)  THEN NP = NP -1: IF NP <1  THEN NP = 10
  244. 2490  IF (K$ = FS$  OR K$ = DN$)  THEN NP = NP +1: IF NP >10  THEN NP = 1
  245. 2500  IF (K$ = CR$  OR K$ =  CHR$(255))  THEN 2530
  246. 2510  IF K$ = ES$  THEN NP = 10:K$ =  CHR$(255): GOTO 2440
  247. 2520  GOTO 2440
  248. 2530  ON NP GOSUB 2570,2620,2670,2720,2770,2820,2870,2920,2560,1380
  249. 2540  VTAB 24: HTAB 1: PRINT  SPC( 40)
  250. 2550  GOSUB 4250: GOSUB 1170: GOTO 2440
  251. 2560  GOSUB 4250: GOSUB 1170:PP = 1
  252. 2570  VTAB 4: HTAB 20: PRINT "A";
  253. 2580  VTAB 10: HTAB 23: PRINT "A";
  254. 2590  VTAB 12: HTAB 14: PRINT "A";
  255. 2600  VTAB 14: HTAB 23: PRINT "A";
  256. 2610  IF PP < >1  THEN  GOSUB 4140: RETURN 
  257. 2620  VTAB 4: HTAB 21: PRINT "B";
  258. 2630  VTAB 10: HTAB 17: PRINT "B";
  259. 2640  VTAB 12: HTAB 26: PRINT "B";
  260. 2650  VTAB 14: HTAB 17: PRINT "B";
  261. 2660  IF PP < >1  THEN  GOSUB 4140: RETURN 
  262. 2670  VTAB 8: HTAB 20: PRINT "C";
  263. 2680  VTAB 8: HTAB 26: PRINT "C";
  264. 2690  VTAB 10: HTAB 11: PRINT "C";
  265. 2700  VTAB 14: HTAB 24: PRINT "C";
  266. 2710  IF PP < >1  THEN  GOSUB 4140: RETURN 
  267. 2720  VTAB 6: HTAB 23: PRINT "D";
  268. 2730  VTAB 10: HTAB 12: PRINT "D";
  269. 2740  VTAB 12: HTAB 20: PRINT "D";
  270. 2750  VTAB 12: HTAB 27: PRINT "D";
  271. 2760  IF PP < >1  THEN  GOSUB 4140: RETURN 
  272. 2770  VTAB 6: HTAB 24: PRINT "E";
  273. 2780  VTAB 8: HTAB 14: PRINT "E";
  274. 2790  VTAB 10: HTAB 24: PRINT "E";
  275. 2800  VTAB 16: HTAB 20: PRINT "E";
  276. 2810  IF PP < >1  THEN  GOSUB 4140: RETURN 
  277. 2820  VTAB 6: HTAB 17: PRINT "F";
  278. 2830  VTAB 8: HTAB 27: PRINT "F";
  279. 2840  VTAB 10: HTAB 18: PRINT "F";
  280. 2850  VTAB 16: HTAB 21: PRINT "F";
  281. 2860  IF PP < >1  THEN  GOSUB 4140: RETURN 
  282. 2870  VTAB 8: HTAB 15: PRINT "G";
  283. 2880  VTAB 8: HTAB 21: PRINT "G";
  284. 2890  VTAB 10: HTAB 29: PRINT "G";
  285. 2900  VTAB 14: HTAB 18: PRINT "G";
  286. 2910  IF PP < >1  THEN  GOSUB 4140: RETURN 
  287. 2920  VTAB 6: HTAB 18: PRINT "H";
  288. 2930  VTAB 10: HTAB 30: PRINT "H";
  289. 2940  VTAB 12: HTAB 15: PRINT "H";
  290. 2950  VTAB 12: HTAB 21: PRINT "H";
  291. 2960  IF PP < >1  THEN  GOSUB 4140: RETURN 
  292. 2970 PP = 0: GOSUB 4140: RETURN 
  293. 3330  GOSUB 4140: GOSUB 4120
  294. 3340  VTAB 1: HTAB 13: PRINT "MAGIC DIAMONDS": VTAB 6: HTAB 1
  295. 3350  PRINT "Welcome to the World of Magic Diamonds!"
  296. 3360  PRINT "This program will help you learn about"
  297. 3370  PRINT "9 and 16 cell magic diamonds. You will"
  298. 3380  PRINT "learn how to make your own 16 cell"
  299. 3390  PRINT "magic diamonds with cells containing"
  300. 3400  PRINT "numbers you choose!!": PRINT 
  301. 3410  PRINT "Follow along to see just what is magic"
  302. 3420  PRINT "about them. You'll have a chance to try"
  303. 3430  PRINT "to make a basic magic diamond of each"
  304. 3440  PRINT "type and then concentrate on the 16"
  305. 3450  PRINT "cell diamond. READ ON and ENJOY!!"
  306. 3470  GOSUB 1120: VTAB 1: HTAB 13: PRINT "MAGIC DIAMONDS"
  307. 3480  VTAB 19: HTAB 1
  308. 3490  PRINT "This is a 9-cell diamond. Fill it with"
  309. 3500  PRINT "9 numbers so that each slant column,"
  310. 3510  PRINT "each slant row, and each diagonal add"
  311. 3520  PRINT "to the same number (the MAGIC SUM) and"
  312. 3530  PRINT "it's called a MAGIC DIAMOND of 9 cells."
  313. 3540  GOSUB 4140: GOSUB 4180: VTAB 19: HTAB 1
  314. 3550  PRINT "This MAGIC DIAMOND is just a rotated"
  315. 3560  PRINT "3x3 MAGIC SQUARE, squashed a bit. Use"
  316. 3570  PRINT "the menu on the next page to see the 8"
  317. 3580  PRINT "3-cell sets each of which adds up to"
  318. 3590  PRINT "the MAGIC SUM!"
  319. 3600  GOSUB 4140: GOSUB 4120: RETURN 
  320. 3610  VTAB 1: HTAB 13: PRINT "MAGIC DIAMONDS"
  321. 3620  VTAB 19: HTAB 1
  322. 3630  PRINT "This is a 16-cell diamond. It's much"
  323. 3640  PRINT "more interesting than the 9-cell one."
  324. 3650  PRINT "Fill the 16 cells with the correct"
  325. 3660  PRINT "numbers, and there are 20 4-cell sets"
  326. 3670  PRINT "which add up to the MAGIC SUM!"
  327. 3680  GOSUB 4140: GOSUB 4180
  328. 3690  VTAB 19: HTAB 1
  329. 3700  PRINT "Better still, many cells can be made to"
  330. 3710  PRINT "hold numbers special for you. Like"
  331. 3720  PRINT "dates, ages, years, or any number"
  332. 3730  PRINT "of importance to you, your friends or"
  333. 3740  PRINT "to your own family."
  334. 3750  GOSUB 4140: GOSUB 4180
  335. 3760  VTAB 19: HTAB 1
  336. 3770  PRINT "This program is designed to tell you"
  337. 3780  PRINT "about MAGIC DIAMONDS and allow you to"
  338. 3790  PRINT "make 16-cell MAGIC DIAMONDS of your own"
  339. 3800  PRINT "design and print copies of the cells"
  340. 3810  PRINT "in diamond form."
  341. 3820  GOSUB 4140: GOSUB 4180
  342. 3830  VTAB 19: HTAB 1
  343. 3840  PRINT "These 20 4-cell sets, in which each set"
  344. 3850  PRINT "adds to the MAGIC SUM, are not easy to"
  345. 3860  PRINT "define. Usually, only some of them are"
  346. 3870  PRINT "remembered by people. Use the menu on"
  347. 3880  PRINT "the next page to see them all."
  348. 3890  GOSUB 4140: GOSUB 4120: RETURN 
  349. 3900  VTAB 1: HTAB 13: PRINT "MAGIC DIAMONDS";: VTAB 19: HTAB 1
  350. 3910  PRINT "The secret in making 16-cell MAGIC"
  351. 3920  PRINT "DIAMONDS is the existance of 8 special"
  352. 3930  PRINT "4-cell sets called PATHS. When you add"
  353. 3940  PRINT "the same number to each cell in a PATH"
  354. 3950  PRINT "you change the numbers in these cells."
  355. 3960  GOSUB 4140: GOSUB 4180
  356. 3970  VTAB 19: HTAB 1
  357. 3980  PRINT "These numbers can be made to be"
  358. 3990  PRINT "almost any number you wish. The magic"
  359. 4000  PRINT "properties of the diamond are retained."
  360. 4010  PRINT "The 8 PATHS are so located that each"
  361. 4020  PRINT "of the 16 cells is part of two PATHS."
  362. 4030  GOSUB 4140: GOSUB 4180
  363. 4040  VTAB 19: HTAB 1
  364. 4050  PRINT "So.. the way to make MAGIC DIAMONDS"
  365. 4060  PRINT "is to know the 8 PATHS and just add"
  366. 4070  PRINT "numbers to these PATHS! Use the menu"
  367. 4080  PRINT "on the next page to locate the PATHS."
  368. 4090  PRINT "( No..you won't need a good memory! )"
  369. 4100  GOSUB 4140: GOSUB 4120: RETURN 
  370. 4110  REM   ** CLEAR SCREEN **
  371. 4120  HCOLOR= 0: HPLOT 0,0: CALL  -3082: HCOLOR= 3: RETURN 
  372. 4130  REM   ** PRESS KEY **
  373. 4140  VTAB 24: HTAB 13: PRINT "-Press a Key-";: GET A$
  374. 4150  IF A$ = ES$  THEN  POP : GOTO 1370
  375. 4160  RETURN 
  376. 4170  REM   ** ERASE 6 LINES **
  377. 4180  VTAB 19: HTAB 1: FOR X = 19 TO 24: VTAB X: HTAB 1: PRINT  SPC( 40): NEXT X: RETURN 
  378. 4190  VTAB 12: HTAB 2
  379. 4200  PRINT "Are you sure you want to quit (Y/N) ?";: GET A$
  380. 4210  IF A$ < >"Y"  AND A$ < >"y"  AND A$ < >"N"  AND A$ < >"n"  THEN  PRINT BL$;: GOTO 4190
  381. 4220  IF A$ = "N"  OR A$ = "n"  THEN  GOTO 1380
  382. 4230  PRINT  CHR$(4)"BYE"
  383. 4240  REM   ** CLEAR DIAMOND CELLS **
  384. 4250  FOR X = 1 TO 16: VTAB R%(X): HTAB S%(X): PRINT  SPC( 4): NEXT X: RETURN