10 SCREEN 1,0:COLOR 8,0: KEY OFF: CLS 15 DEF FNCEN$(V$,X)=SPACE$((X-LEN(V$))/2)+V$ 20 LOCATE 12,1:PRINT FNCEN$("SAMURAI HELMET/GROUPER",40) 25 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT 30 PRINT FNCEN$("(C) COPYRIGHT 1985 George Furiya",40) 35 PRINT FNCEN$("All Rights Reserved",40) 40 d=2500:GOSUB 31000 45 CLS 50 LOCATE 10,1:PRINT FNCEN$("We will first fold SAMURAI HELMET",40) 55 d=2000:GOSUB 31000 60 PRINT:PRINT FNCEN$("and then transform HELMET into GROUPER.",40) 65 d=2500:GOSUB 31000 70 PRINT:PRINT FNCEN$("What's a GROUPER?",40) 75 d=1500:GOSUB 31000 80 PRINT:PRINT:PRINT FNCEN$("You'll see.",40) 85 d=1500:GOSUB 31000 90 CLS 95 LOCATE 12,1 100 PRINT FNCEN$("One moment, please.",40) 105 d=1500:GOSUB 31000 110 '***Zapsound*** 115 FOR A=0 TO 20 120 OUT 66,A:OUT 66,A 125 OUT 97,(INP(97) OR 3) 130 NEXT A 135 SOUND 37,0 140 CLS 145 d=250:GOSUB 31000 150 LINE(160,30)-(240,100) 155 LINE-(160,170) 160 LINE-(80,100) 165 LINE-(160,30) 170 d=750:GOSUB 31000 175 GOSUB 30000 '** Textpad ** 180 PRINT FNCEN$("Here's our first fold.",40) 185 d=1500:GOSUB 31000 190 FOR H=80 TO 240 STEP 2 195 PSET(H,100) 200 NEXT H 205 d=750:GOSUB 31000 210 FOR V=30 TO 100 215 LINE(80,100)-(160,V),3 220 LINE-(240,100),3 225 LINE(80,100)-(160,V),0 230 LINE-(240,100),0 235 NEXT V 240 FOR V=100 TO 170 245 LINE(80,100)-(160,V),3 250 LINE-(240,100),3 255 NEXT V 260 GOSUB 30000 '*** Textpad *** 265 PRINT FNCEN$("Press to continue.",40) 270 A$=INKEY$:IF A$="" GOTO 270 275 IF A$="C" OR A$="c" GOTO 285 280 GOTO 260 285 GOSUB 30000 '** Textpad ** 290 PRINT FNCEN$("These corners",40) 295 d=1500:GOSUB 31000 300 '*** arrow right *** 305 FOR K=1 TO 15 310 PSET(72,100):DRAW"H5D4L7D2R7D4E5" 315 PAINT(66,100) 320 PSET(248,100):DRAW"E5D4R7D2L7D4H5" 325 PAINT(254,100) 330 'd=25:GOSUB 31000 335 CIRCLE(66,100),7,0 340 PAINT(66,100),0 345 CIRCLE(254,100),7,0 350 PAINT(254,100),0 355 NEXT K 360 '***end arrow right *** 365 d=250:GOSUB 31000 370 GOSUB 30000 '** Textpad ** 375 PRINT FNCEN$("fold down to this corner",40) 380 d=750:GOSUB 31000 385 '*** arrow up *** 390 FOR K=1 TO 15 395 PSET(160,178):DRAW"g5r4d7r2u7r4h5" 400 PAINT(160,184) 405 d=25:GOSUB 31000 410 CIRCLE(160,184),7,0 415 PAINT(160,184),0 420 NEXT K 425 d=750:GOSUB 31000 430 GOSUB 30000 '** Textpad ** 435 PRINT FNCEN$("across these lines,",40) 440 d=1000:GOSUB 31000 445 CIRCLE(160,184),7,0 450 PAINT(160,184),0 455 LINE(120,135)-(160,100),0 460 LINE-(200,135),0 465 d=750:GOSUB 31000 470 GOSUB 30000 '** Textpad ** 475 PRINT FNCEN$("SO!",40) 480 d=1000:GOSUB 31000 485 FOR Q=0 TO 40 490 LINE(160,100)-(80+Q,100+.8750001*Q),0 495 LINE(160,99)-(80+Q,99+.8750001*Q),0 500 d=50:GOSUB 31000 505 NEXT Q 510 FOR Q=0 TO 40 515 LINE(160,100)-(120+Q,135+.8750001*Q),0 520 LINE(160,99)-(120+Q,134+.8750001*Q),0 525 LINE(160,100)-(120+Q,135+.8750001*Q),3 530 LINE(160,99)-(120+Q,134+.8750001*Q),3 535 d=50:GOSUB 31000 540 NEXT Q 545 LINE(160,100)-(160,170),0 550 d=250:GOSUB 31000 555 FOR Q=0 TO 40 560 LINE(160,100)-(240-Q,100+.8750001*Q),0 565 LINE(160,99)-(240-Q,99+.8750001*Q),0 570 d=50:GOSUB 31000 575 NEXT Q 580 FOR Q=0 TO 40 585 LINE(160,100)-(200-Q,135+.8750001*Q),0 590 LINE(160,99)-(200-Q,134+.8750001*Q),0 595 LINE(160,100)-(200-Q,135+.8750001*Q),3 600 LINE(160,99)-(200-Q,134+.8750001*Q),3 605 d=50:GOSUB 31000 610 NEXT Q 615 LINE(160,100)-(160,170),0 620 d=750:GOSUB 31000 625 GOSUB 30000 '** Textpad ** 630 PRINT FNCEN$("Now, I'll change scale.",40) 635 d=1500:GOSUB 31000 640 GOSUB 30000 '** Textpad ** 645 PRINT FNCEN$("One moment, please.",40) 650 d=1500:GOSUB 31000 655 '***Zapsound*** 660 FOR A=0 TO 20 665 OUT 66,A:OUT 66,A 670 OUT 97,(INP(97) OR 3) 675 NEXT A 680 SOUND 37,0 685 CLS 690 d=250:GOSUB 31000 695 LINE(160,30)-(80,100) 700 LINE-(160,170) 705 LINE-(240,100) 710 LINE-(160,30) 715 PAINT(160,100) 720 LINE(160,30)-(160,170),0 725 GOSUB 30000 '*** Textpad *** 730 PRINT FNCEN$("Press to continue.",40) 735 A$=INKEY$:IF A$="" GOTO 735 740 IF A$="C" OR A$="c" GOTO 745 745 GOSUB 30000 '** Textpad ** 750 PRINT FNCEN$("These flaps",40) 755 d=750:GOSUB 31000 760 LINE(150,160)-(170,160),0 765 LINE-(165,150),0 770 LINE-(160,160),0 775 LINE-(155,150),0 780 LINE-(150,160),0 785 d=250:GOSUB 31000 790 FOR K=1 TO 15 795 PSET(160,178):DRAW"g5r4d7r2u7r4h5" 800 PAINT(160,184) 805 d=25:GOSUB 31000 810 CIRCLE(160,184),7,0 815 PAINT(160,184),0 820 NEXT K 825 d=250:GOSUB 31000 830 GOSUB 30000 '** Textpad ** 835 PRINT FNCEN$("fold across this line",40) 840 d=750:GOSUB 31000 845 FOR H=80 TO 240 STEP 2 850 PSET(H,100),0 855 NEXT H 860 d=750:GOSUB 31000 865 GOSUB 30000 '** Textpad ** 870 PRINT FNCEN$("up to here,",40) 875 d=750:GOSUB 31000 880 '*** arrow down *** 885 FOR K=1 TO 15 890 PSET(160,22):DRAW"E5L4U7L2D7L4F5" 895 PAINT(160,16) 900 d=25:GOSUB 31000 905 CIRCLE(160,16),7,0 910 PAINT(160,16),0 915 NEXT K 920 '***end arrow down *** 925 d=750:GOSUB 31000 930 GOSUB 30000 '** Textpad ** 935 PRINT FNCEN$("THUS!",40) 940 d=750:GOSUB 31000 945 LINE(150,160)-(170,160) 950 LINE-(165,150) 955 LINE-(160,160) 960 LINE-(155,150) 965 LINE-(150,160) 970 LINE(160,150)-(160,170),0 975 FOR V=169 TO 100 STEP -1 980 LINE(239,100)-(161,V-1),0 985 LINE(240,100)-(161,V),0 990 LINE(240,100)-(161,V),3 995 NEXT V 1000 FOR V=100 TO 32 STEP -1 1005 LINE(239,100)-(161,V-1),0 1010 LINE(240,100)-(161,V),0 1015 LINE(239,100)-(161,V-1),3 1020 LINE(240,100)-(161,V),3 1025 LINE(161,100)-(240,100),0 1030 NEXT V 1035 d=750:GOSUB 31000 1040 FOR V=169 TO 100 STEP -1 1045 LINE(81,100)-(160,V-1),0 1050 LINE(80,100)-(160,V),0 1055 LINE(80,100)-(160,V),3 1060 NEXT V 1065 FOR V=100 TO 32 STEP -1 1070 LINE(81,100)-(160,V-1),0 1075 LINE(80,100)-(160,V),0 1080 LINE(81,100)-(160,V-1),3 1085 LINE(80,100)-(160,V),3 1090 LINE(80,100)-(240,100),0 1095 LINE(160,30)-(160,100),0 1100 NEXT V 1105 d=750:GOSUB 31000 1110 GOSUB 30000 '*** Textpad *** 1115 PRINT FNCEN$("Press to continue.",40) 1120 A$=INKEY$:IF A$="" GOTO 1120 1125 IF A$="C" OR A$="c" GOTO 1135 1130 GOTO 1110 1135 GOSUB 30000 '** Textpad ** 1140 PRINT FNCEN$("Execute the next folds so that this edge",40) 1145 d=2000:GOSUB 31000 1150 LINE(160,100)-(183,50),0 1155 d=250:GOSUB 31000 1160 PSET(179,40):DRAW"u5f2e5f2g5f2l6" 1165 PAINT(183,36) 1170 d=750:GOSUB 31000 1175 FOR K=1 TO 25 1180 LINE(160,30)-(183,50),3 1185 LINE(161,31)-(182,50),3 1190 d=25:GOSUB 31000 1195 LINE(160,30)-(183,50),2 1200 LINE(161,31)-(182,50),2 1205 NEXT K 1210 CIRCLE(183,37),7,0 1215 PAINT(183,37),0 1220 GOSUB 30000 '** Textpad ** 1225 PRINT FNCEN$("ends up parallel to this center line,",40) 1230 d=2000:GOSUB 31000 1235 FOR K=1 TO 25 1240 LINE(80,100)-(240,100),3 1245 d=25:GOSUB 31000 1250 LINE(80,100)-(240,100),2 1255 NEXT K 1260 d=750:GOSUB 31000 1265 GOSUB 30000 '** Textpad ** 1270 PRINT FNCEN$("SO!",40) 1275 d=250:GOSUB 31000 1280 'LINE(160,30)-(183,50),3 1285 'LINE(161,31)-(182,50),3 1290 d=250:GOSUB 31000 1295 FOR Q=0 TO 23 1300 LINE(160,100)-(160+Q,30+.87*Q),0 1305 LINE(160,100)-(160+Q,30+.87*Q),3 1310 LINE(160,30)-(160,100),0 1315 d=50:GOSUB 31000 1320 NEXT Q 1325 FOR H=183 TO 215 1330 LINE(160,100)-(H,50),0 1335 LINE(160,100)-(H,50),3 1340 LINE(160,100)-(183,50),0 1345 d=50:GOSUB 31000 1350 NEXT H 1355 LINE(160,100)-(215,50),0 1360 LINE(184,50)-(214,50),2 1365 d=250:GOSUB 31000 1370 GOSUB 30000 '** Textpad ** 1375 PRINT FNCEN$("Parallel?",40) 1380 d=1500:GOSUB 31000 1385 GOSUB 30000 '** Textpad ** 1390 PRINT FNCEN$("Parallel!",40) 1395 d=1500:GOSUB 31000 1400 LINE(80,100)-(240,100),0 1405 LINE(184,50)-(214,50) 1410 GOSUB 30000 '** Textpad ** 1415 PRINT FNCEN$("Repeat on the other side.",40) 1420 d=750:GOSUB 31000 1425 LINE(160,100)-(137,50),0 1430 d=750:GOSUB 31000 1435 FOR Q=0 TO 23 1440 LINE(160,100)-(160-Q,30+.87*Q),0 1445 LINE(160,100)-(160-Q,30+.87*Q),3 1450 LINE(160,30)-(160,100),0 1455 d=50:GOSUB 31000 1460 NEXT Q 1465 FOR H=137 TO 105 STEP -1 1470 LINE(160,100)-(H,50),0 1475 LINE(160,100)-(H,50),3 1480 LINE(160,100)-(137,50),0 1485 d=50:GOSUB 31000 1490 NEXT H 1495 LINE(160,100)-(105,50),0 1500 GOSUB 30000 '*** Textpad *** 1505 PRINT FNCEN$("Press to continue.",40) 1510 A$=INKEY$:IF A$="" GOTO 1510 1515 IF A$="C" OR A$="c" GOTO 1525 1520 GOTO 1500 1525 GOSUB 30000 '** Textpad ** 1530 PRINT FNCEN$("Our next fold takes this corner",40) 1535 d=750:GOSUB 31000 1540 FOR K=1 TO 15 1545 PSET(160,178):DRAW"g5r4d7r2u7r4h5" 1550 PAINT(160,184) 1555 d=25:GOSUB 31000 1560 CIRCLE(160,184),7,0 1565 PAINT(160,184),0 1570 NEXT K 1575 LINE(160,170)-(166,165),0 1580 LINE-(160,160),0 1585 LINE-(154,165),0 1590 LINE-(160,170),0 1595 PAINT(160,165),0 1600 LINE(160,170)-(166,165) 1605 LINE-(160,160) 1610 LINE-(154,165) 1615 LINE-(160,170) 1620 LINE(154,165)-(166,165) 1625 d=750:GOSUB 31000 1630 GOSUB 30000 '** Textpad ** 1635 PRINT FNCEN$("up to this center point of HELMET",40) 1640 d=1500:GOSUB 31000 1645 CIRCLE(160,184),7,0 1650 PAINT(160,184),0 1655 PAINT(160,163) 1660 PAINT(160,168) 1665 '*** flashdot *** 1670 FOR K=1 TO 15 1675 CIRCLE(160,65),5,3 1680 LINE(158,65)-(162,65),3 1685 LINE(160,63)-(160,67),3 1690 d=25:GOSUB 31000 1695 CIRCLE(160,65),5,0 1700 LINE(158,65)-(162,65),0 1705 LINE(160,63)-(160,67),0 1710 NEXT K 1715 CIRCLE(160,65),5,3 1720 PAINT(160,65),3 1725 LINE(160,50)-(160,80),0 1730 d=750:GOSUB 31000 1735 '*** end flashdot *** 1740 GOSUB 30000 '** Textpad ** 1745 PRINT FNCEN$("across this line.",40) 1750 d=750:GOSUB 31000 1755 FOR H=97 TO 223 STEP 2 1760 PSET(H,115),0 1765 NEXT H 1770 d=750:GOSUB 31000 1775 FOR V=170 TO 115 STEP -1 1780 LINE(97,115)-(160,V),0 1785 LINE-(223,115),0 1790 PSET(157,168),0:PSET(163,168),0 1795 LINE(80,100)-(160,170) 1800 LINE-(240,100) 1805 NEXT V 1810 FOR V=115 TO 65 STEP -1 1815 LINE(97,115)-(160,V),0 1820 LINE-(223,115),0 1825 LINE(97,115)-(223,115) 1830 NEXT V 1835 GOSUB 30000 '*** Textpad *** 1840 PRINT FNCEN$("Press to continue.",40) 1845 A$=INKEY$:IF A$="" GOTO 1845 1850 IF A$="C" OR A$="c" GOTO 1860 1855 GOTO 1835 1860 GOSUB 30000 '** Textpad ** 1865 PRINT FNCEN$("We next take this edge",40) 1870 d=750:GOSUB 31000 1875 PSET(160,123):DRAW"g5r4d7r2u7r4h5" 1880 PAINT(160,129) 1885 d=250:GOSUB 31000 1890 FOR K=1 TO 15 1895 LINE(97,115)-(223,115),0 1900 d=25:GOSUB 31000 1905 LINE(97,115)-(223,115),3 1910 NEXT K 1915 CIRCLE(160,129),7,0 1920 PAINT(160,129),0 1925 d=750:GOSUB 31000 1930 GOSUB 30000 '** Textpad ** 1935 PRINT FNCEN$("over this line,",40) 1940 d=750:GOSUB 31000 1945 FOR H=115 TO 205 STEP 2 1950 PSET(H,100),3 1955 NEXT H 1960 d=750:GOSUB 31000 1965 GOSUB 30000 '** Textpad ** 1970 PRINT FNCEN$("SO!",40) 1975 d=750:GOSUB 31000 1980 FOR V=115 TO 100 STEP -1 1985 LINE(80,100)-(97,V),3 1990 LINE-(223,V),3 1995 LINE-(240,100),3 2000 LINE(80,100)-(97,V),0 2005 LINE-(223,V),0 2010 LINE-(240,100),0 2015 LINE(80,100)-(160,170) 2020 LINE-(240,100) 2025 d=50:GOSUB 31000 2030 NEXT V 2035 FOR V=100 TO 85 STEP -1 2040 LINE(80,100)-(97,V),3 2045 LINE-(223,V),3 2050 LINE-(240,100),3 2055 LINE(80,100)-(97,V),0 2060 LINE-(223,V),0 2065 LINE-(240,100),0 2070 LINE(98,84)-(80,100) 2075 LINE-(240,100) 2080 LINE-(222,84) 2085 d=50:GOSUB 31000 2090 NEXT V 2095 LINE(98,84)-(222,84) 2100 GOSUB 30000 '*** Textpad *** 2105 PRINT FNCEN$("Press to continue.",40) 2110 A$=INKEY$:IF A$="" GOTO 2110 2115 IF A$="C" OR A$="c" GOTO 2125 2120 GOTO 2100 2125 GOSUB 30000 '** Textpad ** 2130 PRINT FNCEN$("Our final fold takes this corner",40) 2135 d=750:GOSUB 31000 2140 FOR K=1 TO 15 2145 PSET(160,178):DRAW"g5r4d7r2u7r4h5" 2150 PAINT(160,184) 2155 d=25:GOSUB 31000 2160 CIRCLE(160,184),7,0 2165 PAINT(160,184),0 2170 NEXT K 2175 d=750:GOSUB 31000 2180 GOSUB 30000 '** Textpad ** 2185 PRINT FNCEN$("up to this corner",40) 2190 d=750:GOSUB 31000 2195 '*** arrow down *** 2200 FOR K=1 TO 15 2205 PSET(160,22):DRAW"E5L4U7L2D7L4F5" 2210 PAINT(160,16) 2215 d=25:GOSUB 31000 2220 CIRCLE(160,16),7,0 2225 PAINT(160,16),0 2230 NEXT K 2235 '***end arrow down *** 2240 d=750:GOSUB 31000 2245 GOSUB 30000 '** Textpad ** 2250 PRINT FNCEN$("on the hidden side,",40) 2255 d=1500:GOSUB 31000 2260 GOSUB 30000 '** Textpad ** 2265 PRINT FNCEN$("THUS!",40) 2270 d=750:GOSUB 31000 2275 FOR V=170 TO 100 STEP -1 2280 LINE(80,100)-(160,V),3 2285 LINE-(240,100),3 2290 LINE(80,100)-(160,V),0 2295 LINE-(240,100),0 2300 PSET(157,168),0:PSET(163,168),0 2305 NEXT V 2310 LINE(80,100)-(240,100) 2315 FOR V=100 TO 85 STEP -1 2320 LINE(80,100)-(160,V),1 2325 LINE-(240,100),1 2330 LINE(80,100)-(160,V),0 2335 LINE-(240,100),0 2340 LINE(80,100)-(240,100) 2345 NEXT V 2350 LINE(82,99)-(98,85),1 2355 LINE(238,99)-(222,85),1 2360 FOR V=64 TO 30 STEP -1 2365 LINE(98,84)-(160,V),1 2370 LINE-(222,84),1 2375 LINE(98,84)-(160,V),3 2380 LINE-(222,84),3 2385 LINE(160,65)-(137,83),0 2390 LINE-(183,83),0 2395 PAINT(160,82),0 2400 LINE(130,84)-(190,84),3 2405 LINE(105,50)-(139,81),0 2410 LINE(215,50)-(181,81),0 2415 LINE(148,74)-(137,50),0 2420 LINE(172,74)-(183,50),0 2425 LINE(160,30)-(160,65),0 2430 NEXT V 2435 LINE(98,85)-(160,31),1 2440 LINE-(222,85),1 2445 d=750:GOSUB 31000 2450 GOSUB 30000 '** Textpad ** 2455 PRINT FNCEN$("And there we have it!",40) 2460 d=1500:GOSUB 31000 2465 LINE(82,99)-(160,31) 2470 LINE-(238,99) 2475 LINE(105,50)-(139,81),0 2480 LINE(215,50)-(181,81),0 2485 LINE(148,74)-(137,50),0 2490 LINE(172,74)-(183,50),0 2495 LINE(160,30)-(160,65),0 2500 GOSUB 30000 '** Textpad ** 2505 PRINT FNCEN$("SAMURAI HELMET!",40) 2510 d=1500:GOSUB 31000 2515 GOSUB 30000 '*** Textpad *** 2520 PRINT FNCEN$("Press to continue.",40) 2525 A$=INKEY$:IF A$="" GOTO 2525 2530 IF A$="C" OR A$="c" GOTO 2540 2535 GOTO 2515 2540 GOSUB 30000 '** Textpad ** 2545 PRINT FNCEN$("We now transform HELMET into GROUPER",40) 2550 d=1500:GOSUB 31000 2555 GOSUB 30000 '** Textpad ** 2560 PRINT FNCEN$("by squashing these corners",40) 2565 d=750:GOSUB 31000 2570 PSET(248,100):DRAW"E5D4R7D2L7D4H5" 2575 PAINT(254,100) 2580 PSET(72,100):DRAW"H5D4L7D2R7D4E5" 2585 PAINT(66,100) 2590 d=750:GOSUB 31000 2595 GOSUB 30000 '** Textpad ** 2600 PRINT FNCEN$("together down to this point,",40) 2605 d=750:GOSUB 31000 2610 '*** flashdot *** 2615 FOR K=1 TO 15 2620 CIRCLE(160,170),5,3 2625 LINE(158,170)-(162,170),3 2630 LINE(160,168)-(160,172),3 2635 d=25:GOSUB 31000 2640 CIRCLE(160,170),5,0 2645 LINE(158,170)-(162,170),0 2650 LINE(160,168)-(160,172),0 2655 NEXT K 2660 d=750:GOSUB 31000 2665 '*** end flashdot *** 2670 GOSUB 30000 '** Textpad ** 2675 PRINT FNCEN$("thus effectively flattening HELMET out,",40) 2680 d=1500:GOSUB 31000 2685 GOSUB 30000 '** Textpad ** 2690 PRINT FNCEN$("SO!",40) 2695 d=750:GOSUB 31000 2700 '***Zapsound*** 2705 FOR A=0 TO 20 2710 OUT 66,A:OUT 66,A 2715 OUT 97,(INP(97) OR 3) 2720 NEXT A 2725 SOUND 37,0 2730 CLS 2735 '***End Zapsound*** 2740 LINE(159,40)-(161,40) 2745 LINE-(162,100) 2750 LINE-(161,160) 2755 LINE-(159,160) 2760 LINE-(158,100) 2765 LINE-(159,40) 2770 d=750:GOSUB 31000 2775 GOSUB 30000 '** Textpad ** 2780 PRINT FNCEN$("Now, we want to work",40) 2785 d=1000:GOSUB 31000 2790 PRINT FNCEN$("with this side of HELMET.",40) 2795 d=750:GOSUB 31000 2800 '*** arrow left *** 2805 FOR K=1 TO 15 2810 PSET(170,100):DRAW"E5D4R7D2L7D4H5" 2815 PAINT(176,100) 2820 d=25:GOSUB 31000 2825 CIRCLE(176,100),7,0 2830 PAINT(176,100),0 2835 NEXT K 2840 '***end arrow left *** 2845 GOSUB 30000 '** Textpad ** 2850 PRINT FNCEN$("One moment, please.",40) 2855 d=750:GOSUB 31000 2860 '***Zapsound*** 2865 FOR A=0 TO 20 2870 OUT 66,A:OUT 66,A 2875 OUT 97,(INP(97) OR 3) 2880 NEXT A 2885 SOUND 37,0 2890 CLS 2895 d=250:GOSUB 31000 2900 LINE(160,40)-(90,100) 2905 LINE-(160,160) 2910 LINE-(230,100) 2915 LINE-(160,40) 2920 LINE(111,81)-(160,130) 2925 LINE(160,101)-(160,160) 2930 LINE(160,40)-(160,79) 2935 LINE-(190,100) 2940 LINE-(160,100) 2945 LINE(160,40)-(160,80) 2950 LINE (120,74)-(120,90) 2955 PAINT(140,90) 2960 LINE(120,85)-(155,75),0 2965 LINE-(160,79),0 2970 LINE(131,101)-(160,101),0 2975 d=250:GOSUB 31000 2980 GOSUB 30000 '** Textpad ** 2985 PRINT FNCEN$("Well, well!",40) 2990 d=1000:GOSUB 31000 2995 GOSUB 30000 '** Textpad ** 3000 PRINT FNCEN$("Looks faintly like a fish",40) 3005 d=1500:GOSUB 31000 3010 PRINT FNCEN$("without a tail.",40) 3015 d=1500:GOSUB 31000 3020 GOSUB 30000 '** Textpad ** 3025 PRINT FNCEN$("Let's give it a tail!",40) 3030 d=1500:GOSUB 31000 3035 GOSUB 30000 '** Textpad ** 3040 PRINT FNCEN$("We'll fold this corner",40) 3045 d=750:GOSUB 31000 3050 '*** arrow left *** 3055 FOR K=1 TO 15 3060 PSET(238,100):DRAW"E5D4R7D2L7D4H5" 3065 PAINT(244,100) 3070 d=25:GOSUB 31000 3075 CIRCLE(244,100),7,0 3080 PAINT(244,100),0 3085 NEXT K 3090 '***end arrow left *** 3095 d=750:GOSUB 31000 3100 GOSUB 30000 '** Textpad ** 3105 PRINT FNCEN$("across this line",40) 3110 d=750:GOSUB 31000 3115 FOR V=84 TO 116 STEP 2 3120 PSET(211,V) 3125 NEXT V 3130 d=750:GOSUB 31000 3135 FOR H=230 TO 211 STEP -1 3140 LINE(211,84)-(H,100) 3145 LINE-(211,116) 3150 LINE(211,84)-(H,100),0 3155 LINE-(211,116),0 3160 LINE(213,85)-(220,91),0 3165 LINE(213,115)-(220,109),0 3170 d=25:GOSUB 31000 3175 NEXT H 3180 FOR H=211 TO 192 STEP -1 3185 LINE(211,84)-(H,100),3 3190 LINE-(211,116),3 3195 LINE(211,84)-(H,100),0 3200 LINE-(211,116),0 3205 LINE(211,84)-(211,116) 3210 d=25:GOSUB 31000 3215 NEXT H 3220 LINE(211,84)-(192,100) 3225 LINE-(211,116) 3230 d=750:GOSUB 31000 3235 FOR H=192 TO 211 3240 LINE(211,84)-(H,100),3 3245 LINE-(211,116),3 3250 LINE(211,84)-(H,100),0 3255 LINE-(211,116),0 3260 LINE(211,84)-(211,116) 3265 d=25:GOSUB 31000 3270 NEXT H 3275 FOR H=211 TO 230 3280 LINE(211,84)-(H,100) 3285 LINE-(211,116) 3290 LINE(211,84)-(H,100),0 3295 LINE-(211,116),0 3300 LINE(213,85)-(220,91),0 3305 FOR V=84 TO 116 STEP 2 3310 PSET(211,V) 3315 NEXT V 3320 NEXT H 3325 LINE(211,84)-(230,100) 3330 LINE-(211,116) 3335 d=750:GOSUB 31000 3340 GOSUB 30000 '** Textpad ** 3345 PRINT FNCEN$("and BACKFOLD!",40) 3350 d=750:GOSUB 31000 3355 FOR H=230 TO 211 STEP -1 3360 LINE(211,84)-(H,100) 3365 LINE-(211,116) 3370 LINE(211,84)-(H,100),0 3375 LINE-(211,116),0 3380 LINE(213,85)-(220,91),0 3385 LINE(213,115)-(220,109),0 3390 d=25:GOSUB 31000 3395 NEXT H 3400 FOR H=211 TO 192 STEP -1 3405 LINE(211,84)-(H,100),1 3410 LINE-(211,116),1 3415 LINE(211,84)-(H,100),0 3420 LINE-(211,116),0 3425 LINE(211,84)-(211,116) 3430 d=25:GOSUB 31000 3435 NEXT H 3440 LINE(211,84)-(192,100),1 3445 LINE-(211,116),1 3450 d=750:GOSUB 31000 3455 FOR H=192 TO 211 3460 LINE(211,84)-(H,100),1 3465 LINE-(211,116),1 3470 LINE(211,84)-(H,100),0 3475 LINE-(211,116),0 3480 LINE(211,84)-(211,116) 3485 d=25:GOSUB 31000 3490 NEXT H 3495 FOR H=211 TO 230 3500 LINE(211,84)-(H,100) 3505 LINE-(211,116) 3510 LINE(211,84)-(H,100),0 3515 LINE-(211,116),0 3520 LINE(213,85)-(220,91),0 3525 FOR V=84 TO 116 STEP 2 3530 PSET(211,V) 3535 NEXT V 3540 NEXT H 3545 LINE(211,84)-(230,100) 3550 LINE-(211,116) 3555 d=750:GOSUB 31000 3560 GOSUB 30000 '*** Textpad *** 3565 PRINT FNCEN$("Press to continue.",40) 3570 A$=INKEY$:IF A$="" GOTO 3570 3575 IF A$="C" OR A$="c" GOTO 3585 3580 GOTO 3560 3585 GOSUB 30000 '** Textpad ** 3590 PRINT FNCEN$("With a pair of scissors or a penknife,",40) 3595 d=1500:GOSUB 31000 3600 LINE(155,165)-(149,169) 3605 LINE-(145,175) 3610 LINE-(151,171) 3615 LINE-(155,165) 3620 CIRCLE(147,177),2 3625 CIRCLE(143,173),2 3630 LINE(155,35)-(151,29) 3635 LINE-(145,25) 3640 LINE-(149,31) 3645 LINE-(155,35) 3650 CIRCLE(143,27),2 3655 CIRCLE(147,23),2 3660 d=750:GOSUB 31000 3665 GOSUB 30000 '** Textpad ** 3670 CIRCLE(147,23),2 3675 PRINT FNCEN$("we cut along these lines",40) 3680 d=750:GOSUB 31000 3685 PSET(164,43),0:PSET(164,157),0 3690 PSET(171,49),0:PSET(171,151),0 3695 PSET(178,55),0:PSET(178,145),0 3700 PSET(185,61),0:PSET(185,139),0 3705 PSET(192,67),0:PSET(192,133),0 3710 PSET(199,73),0:PSET(199,127),0 3715 PSET(206,79),0:PSET(206,121),0 3720 LINE(161,41)-(210,83) 3725 LINE(161,159)-(210,117) 3730 FOR Q=0 TO 49 3735 PSET(161+Q,41+.8570001*Q),0 3740 PSET(161+Q,41+.8570001*Q),2 3745 NEXT Q 3750 FOR Q=0 TO 49 3755 PSET(161+Q,159-.8570001*Q),0 3760 PSET(161+Q,159-.8570001*Q),2 3765 NEXT Q 3770 GOSUB 30000 '** Textpad ** 3775 CIRCLE(147,23),2 3780 PRINT FNCEN$("and on the hidden side",40) 3785 d=750:GOSUB 31000 3790 FOR Q=0 TO 49 3795 PSET(161+Q,158-.8570001*Q),0 3800 PSET(161+Q,158-.8570001*Q),1 3805 NEXT Q 3810 d=750:GOSUB 31000 3815 LINE(140,20)-(155,35),0,BF 3820 LINE(140,164)-(155,180),0,BF 3825 d=250:GOSUB 31000 3830 GOSUB 30000 '*** Textpad *** 3835 PRINT FNCEN$("Press to continue.",40) 3840 A$=INKEY$:IF A$="" GOTO 3840 3845 IF A$="C" OR A$="c" GOTO 3855 3850 GOTO 3830 3855 GOSUB 30000 '** Textpad ** 3860 PRINT FNCEN$("and unfold!",40) 3865 d=750:GOSUB 31000 3870 FOR Q=0 TO 50 3875 LINE(161+Q,41)-(161+Q,159),3 3880 LINE(161+Q,41)-(161+Q,159),0 3885 LINE(161+Q,41+.8599999*Q)-(161+Q,159-.8599999*Q) 3890 LINE(155,75)-(191,101),0 3895 LINE-(131,101),0 3900 LINE(160,101)-(160,160),0 3905 NEXT Q 3910 FOR Q=0 TO 51 3915 LINE(211+Q,41)-(211+Q,159),3 3920 LINE(211+Q,41)-(211+Q,159),0 3925 LINE(211+Q,84-.8630001*Q)-(211+Q,116+.8630001*Q) 3930 LINE(211,84)-(211,116),0 3935 NEXT Q 3940 GOSUB 30000 '** Textpad ** 3945 PRINT FNCEN$("and repeat on the hidden side.",40) 3950 d=750:GOSUB 31000 3955 FOR Q=0 TO 50 3960 LINE(161+Q,41)-(161+Q,159),3 3965 LINE(161+Q,41)-(161+Q,159),0 3970 LINE(161+Q,41+.8599999*Q)-(161+Q,159-.8599999*Q),1 3975 LINE(161+Q,41+.8599999*Q)-(161+Q,159-.8599999*Q),3 3980 LINE(155,75)-(191,101),0 3985 LINE-(131,101),0 3990 LINE(160,101)-(160,160),0 3995 NEXT Q 4000 FOR Q=0 TO 51 4005 LINE(211+Q,41)-(211+Q,159),3 4010 LINE(211+Q,41)-(211+Q,159),0 4015 LINE(211+Q,84-.8630001*Q)-(211+Q,116+.8630001*Q),1 4020 LINE(211+Q,84-.8630001*Q)-(211+Q,116+.8630001*Q),3 4025 LINE(211,84)-(211,116),0 4030 NEXT Q 4035 IF A$="C" OR A$="c" GOTO 4065 4040 GOSUB 30000 '*** Textpad *** 4045 PRINT FNCEN$("Press to continue.",40) 4050 A$=INKEY$:IF A$="" GOTO 4050 4055 IF A$="C" OR A$="c" GOTO 4065 4060 GOTO 4040 4065 GOSUB 30000 '** Textpad ** 4070 PRINT FNCEN$("Now, we'll make our tail",40) 4075 d=1500:GOSUB 31000 4080 GOSUB 30000 '** Textpad ** 4085 PRINT FNCEN$("a little more tail-like",40) 4090 d=1500:GOSUB 31000 4095 GOSUB 30000 '** Textpad ** 4100 PRINT FNCEN$("with some judicious cutting away,",40) 4105 d=1500:GOSUB 31000 4110 GOSUB 30000 '** Textpad ** 4115 PRINT FNCEN$("SO!",40) 4120 d=750:GOSUB 31000 4125 LINE(262,40)-(240,100),0 4130 LINE-(262,160),0 4135 PAINT(250,100),0 4140 d=750:GOSUB 31000 4145 GOSUB 30000 '*** Textpad *** 4150 PRINT FNCEN$("Press to continue.",40) 4155 A$=INKEY$:IF A$="" GOTO 4155 4160 IF A$="C" OR A$="c" GOTO 4170 4165 GOTO 4145 4170 GOSUB 30000 '** Textpad ** 4175 PRINT FNCEN$("Now we'll give GROUPER a flatter belly",40) 4180 d=1500:GOSUB 31000 4185 GOSUB 30000 '** Textpad ** 4190 PRINT FNCEN$("by folding both these corners",40) 4195 d=750:GOSUB 31000 4200 LINE(160,150)-(165,155),0 4205 LINE-(160,160),0 4210 LINE-(160,150),0 4215 PAINT(162,155),0 4220 LINE(160,150)-(165,155) 4225 LINE-(160,160) 4230 LINE-(155,155) 4235 LINE-(160,150) 4240 'LINE-(160,160) 4245 LINE(155,155)-(165,155) 4250 '*** arrow up *** 4255 FOR K=1 TO 15 4260 PSET(160,168):DRAW"g5r4d7r2u7r4h5" 4265 PAINT(160,174) 4270 d=25:GOSUB 31000 4275 CIRCLE(160,174),7,0 4280 PAINT(160,174),0 4285 NEXT K 4290 d=750:GOSUB 31000 4295 GOSUB 30000 '** Textpad ** 4300 PRINT FNCEN$("up over this line",40) 4305 d=750:GOSUB 31000 4310 FOR H=126 TO 161 STEP 2 4315 PSET(H,131) 4320 NEXT H 4325 FOR H=161 TO 195 STEP 2 4330 PSET(H,131),0 4335 NEXT H 4340 d=750:GOSUB 31000 4345 GOSUB 30000 '** Textpad ** 4350 PRINT FNCEN$("on both the seen and hidden sides,",40) 4355 d=1500:GOSUB 31000 4360 GOSUB 30000 '** Textpad ** 4365 PRINT FNCEN$("SO!",40) 4370 d=750:GOSUB 31000 4375 LINE(165,155)-(155,155),0 4380 LINE-(160,150),0 4385 LINE-(161,159) 4390 PAINT(163,155) 4395 LINE(160,150)-(160,159),0 4400 FOR V=160 TO 131 STEP -1 4405 LINE(126,131)-(160,V),3 4410 LINE-(194,131),0 4415 LINE(126,131)-(160,V),0 4420 PSET(160,V) 4425 LINE(126,131)-(160,160) 4430 LINE-(194,131) 4435 NEXT V 4440 FOR V=131 TO 102 STEP -1 4445 LINE(126,131)-(160,V),3 4450 LINE(126,131)-(160,V),0 4455 LINE-(194,131),0 4460 PSET(160,V) 4465 LINE(126,131)-(194,131) 4470 NEXT V 4475 LINE(126,131)-(160,102) 4480 d=750:GOSUB 31000 4485 FOR V=160 TO 131 STEP -1 4490 LINE(126,131)-(160,V),3 4495 LINE-(194,131),3 4500 LINE(126,131)-(160,V),0 4505 LINE-(194,131),0 4510 NEXT V 4515 FOR V=131 TO 102 STEP -1 4520 LINE(127,131)-(160,V),1 4525 LINE-(193,131),1 4530 LINE(127,131)-(160,V),0 4535 LINE-(193,131),0 4540 PSET(160,V) 4545 LINE(126,131)-(194,131) 4550 NEXT V 4555 LINE(126,131)-(160,102) 4560 d=750:GOSUB 31000 4565 GOSUB 30000 '*** Textpad *** 4570 PRINT FNCEN$("Press to continue.",40) 4575 A$=INKEY$:IF A$="" GOTO 4575 4580 IF A$="C" OR A$="c" GOTO 4590 4585 GOTO 4565 4590 GOSUB 30000 '** Textpad ** 4595 PRINT FNCEN$("And now we tuck those flaps",40) 4600 d=1500:GOSUB 31000 4605 GOSUB 30000 '** Textpad ** 4610 PRINT FNCEN$("into GROUPER's tummy",40) 4615 d=750:GOSUB 31000 4620 LINE(90,100)-(120,135) 4625 LINE-(200,135) 4630 LINE-(211,116) 4635 FOR K=1 TO 15 4640 PSET(160,143):DRAW"g5r4d7r2u7r4h5" 4645 PAINT(160,149) 4650 d=25:GOSUB 31000 4655 CIRCLE(160,149),7,0 4660 PAINT(160,149),0 4665 NEXT K 4670 d=750:GOSUB 31000 4675 GOSUB 30000 '** Textpad ** 4680 PRINT FNCEN$("like SO!",40) 4685 d=750:GOSUB 31000 4690 FOR A=0 TO 20 4695 OUT 66,A:OUT 66,A 4700 OUT 97,(INP(97) OR 3) 4705 NEXT A 4710 SOUND 37,0 4715 d=250:GOSUB 31000 4720 LINE(90,100)-(120,135),0 4725 LINE-(200,135),0 4730 LINE-(211,116),0 4735 LINE(90,100)-(126,131) 4740 LINE(160,101)-(160,130),0 4745 LINE(127,130)-(160,102),0 4750 LINE(130,100)-(160,130) 4755 PAINT(160,110) 4760 LINE(130,100)-(188,100),0 4765 PSET(130,128),0:PSET(143,117),0 4770 GOSUB 30000 '** Textpad ** 4775 PRINT FNCEN$("And there we have it!",40) 4780 d=1500:GOSUB 31000 4785 GOSUB 30000 '** Textpad ** 4790 PRINT FNCEN$("GROUPER",40) 4795 d=1500:GOSUB 31000 4800 PRINT FNCEN$("A Deep-Sea Fish",40) 4805 d=1500:GOSUB 31000 4810 GOSUB 30000 '*** Textpad *** 4815 PRINT" Press <1> - To return to MAIN MENU." 4820 PRINT " <2> - To repeat HELMET/GROUPER." 4825 PRINT " <3> - To exit from program." 4830 E$=INPUT$(1) 4835 IF E$<"1" OR E$>"3" GOTO 4830 4840 SEL=VAL(E$) 4845 COMMON SEL 4850 CLS 4855 LOCATE 13,1:PRINT FNCEN$("One moment, please.",40) 4856 LINE(70,75)-(250,125),3,B 4860 ON SEL GOTO 4865,4870,4875 4865 CHAIN"main" 4870 CHAIN"helmet 4875 CHAIN"end" 10080 END 30000 LOCATE 1,1 30010 PRINT" " 30020 LOCATE 1,1:RETURN 31000 REM *** Delay procedure added by Maarten van Gelder 31010 FOR I=1 TO D 31020 FOR J=1 TO 1:NEXT J ' Delay factor: change for actual CPU 31030 NEXT I 31040 RETURN