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$("WATERFOWL",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 FOR A=0 TO 20 55 OUT 66,A:OUT 66,A 60 OUT 97,(INP(97) OR 3) 65 NEXT A 70 SOUND 37,0 75 d=250:GOSUB 31000 80 LINE(105,45)-(215,145),3,B 85 GOSUB 30000 '*** *** 90 PRINT FNCEN$("Our first fold takes this corner",40) 95 d=750:GOSUB 31000 100 FOR K=1 TO 15 105 PSET(223,153):DRAW"R8G3F6G2H6G3U8" 110 PAINT(228,158) 115 d=25:GOSUB 31000 120 CIRCLE(228,158),9,0 125 PAINT(228,158),0 130 NEXT K 135 d=750:GOSUB 31000 140 GOSUB 30000 '*** *** 145 PRINT FNCEN$("up to this corner",40) 150 d=750:GOSUB 31000 155 FOR K=1 TO 15 160 PSET(97,37):DRAW"U8G3H6G2F6G3R8" 165 PAINT(92,32) 170 d=25:GOSUB 31000 175 CIRCLE(92,32),9,0 180 PAINT(92,32),0 185 NEXT K 190 d=750:GOSUB 31000 195 GOSUB 30000 '*** *** 200 PRINT FNCEN$("across this line,",40) 205 d=750:GOSUB 31000 210 LINE(105,145)-(215,45) 215 d=750:GOSUB 31000 220 GOSUB 30000 '*** *** 225 PRINT FNCEN$("SO!",40) 230 d=750:GOSUB 31000 235 FOR Q=0 TO 55 240 LINE(105,145)-(215-Q,145-.9099999*Q) 245 LINE-(215,45) 250 LINE(105,145)-(215-Q,145-.9099999*Q),0 255 LINE-(215,45),0 260 NEXT Q 265 FOR Q=0 TO 55 270 LINE(105,145)-(160-Q,95-.9099999*Q) 275 LINE-(215,45) 280 LINE(105,145)-(160-Q,96-.9099999*Q) 285 LINE-(215,45) 290 NEXT Q 295 GOSUB 30000 '*** *** 300 PRINT FNCEN$("Your turn. I'll wait for you.",40) 305 d=1500:GOSUB 31000 310 GOSUB 30000 '*** Textpad *** 315 PRINT FNCEN$("Press to continue.",40) 320 A$=INKEY$:IF A$="" GOTO 320 325 IF A$="C" OR A$="c" GOTO 335 330 GOTO 310 335 GOSUB 30000 '*** *** 340 PRINT FNCEN$("Our second fold takes this corner",40) 345 d=750:GOSUB 31000 350 FOR K=1 TO 15 355 PSET(223,37):DRAW"U8F3E6F2G6F3L8" 360 PAINT(228,32) 365 d=25:GOSUB 31000 370 CIRCLE(228,32),9,0 375 PAINT(228,32),0 380 NEXT K 385 GOSUB 30000 '*** *** 390 PRINT FNCEN$("down to this corner",40) 395 d=750:GOSUB 31000 400 FOR K=1 TO 15 405 PSET(97,153):DRAW"L8F3G6F2E6F3U8" 410 PAINT(92,158) 415 d=25:GOSUB 31000 420 CIRCLE(92,158),9,0 425 PAINT(92,158),0 430 NEXT K 435 GOSUB 30000 '*** *** 440 PRINT FNCEN$("across this line,",40) 445 d=750:GOSUB 31000 450 LINE(105,45)-(215,145),0 455 d=750:GOSUB 31000 460 GOSUB 30000 '*** *** 465 PRINT FNCEN$("SO!",40) 470 d=750:GOSUB 31000 475 FOR Q=0 TO 55 480 LINE(105,45)-(215-Q,45+.9099999*Q),0 485 LINE(105,45)-(216-Q,45+.9099999*Q),0 490 NEXT Q 495 FOR Q=0 TO 55 500 LINE(105,45)-(160-Q,95+.9099999*Q),0 505 LINE(105,45)-(160-Q,95+.9099999*Q) 510 NEXT Q 515 d=750:GOSUB 31000 520 GOSUB 30000 '*** Textpad *** 525 PRINT FNCEN$("Press to continue.",40) 530 A$=INKEY$:IF A$="" GOTO 530 535 IF A$="C" OR A$="c" GOTO 545 540 GOTO 520 545 GOSUB 30000 '*** *** 550 PRINT FNCEN$("Folds 3 and 4 take these two corners",40) 555 d=750:GOSUB 31000 560 LINE(105,140)-(110,140),0 565 LINE-(105,135),0 570 d=750:GOSUB 31000 575 FOR K=1 TO 15 580 PSET(105,153):DRAW"G5R4D7R2U7R4H5" 585 PAINT(105,159) 590 d=25:GOSUB 31000 595 CIRCLE(105,159),7,0 600 PAINT(105,159),0 605 NEXT K 610 d=750:GOSUB 31000 615 LINE(105,140)-(110,140) 620 LINE-(105,135) 625 d=750:GOSUB 31000 630 GOSUB 30000 '*** *** 635 PRINT FNCEN$("up to this corner",40) 640 d=750:GOSUB 31000 645 FOR K=1 TO 15 650 PSET(105,37):DRAW"E5L4U7L2D7L4F5" 655 PAINT(105,31) 660 d=25:GOSUB 31000 665 CIRCLE(105,31),7,0 670 PAINT(105,31),0 675 NEXT K 680 d=750:GOSUB 31000 685 GOSUB 30000 '*** *** 690 PRINT FNCEN$("across this center line,",40) 695 d=750:GOSUB 31000 700 FOR H=105 TO 160 STEP 2 705 PSET(H,95),0 710 NEXT H 715 d=750:GOSUB 31000 720 GOSUB 30000 '*** *** 725 PRINT FNCEN$("first in front",40) 730 d=750:GOSUB 31000 735 FOR V=145 TO 95 STEP -1 740 LINE(160,95)-(105,V),0 745 LINE(160,95)-(105,V) 750 NEXT V 755 FOR V=95 TO 45 STEP -1 760 LINE(160,95)-(105,V),0 765 LINE(160,95)-(105,V) 770 LINE(105,95)-(160,95),0 775 NEXT V 780 d=750:GOSUB 31000 785 GOSUB 30000 '*** *** 790 PRINT FNCEN$("and then in back.",40) 795 d=750:GOSUB 31000 800 FOR V=146 TO 95 STEP -1 805 LINE(161,95)-(105,V),0 810 NEXT V 815 FOR V=95 TO 45 STEP -1 820 LINE(160,95)-(105,V),1 825 LINE(160,95)-(105,V) 830 NEXT V 835 d=750:GOSUB 31000 840 GOSUB 30000 '*** Textpad *** 845 PRINT FNCEN$("Press to continue.",40) 850 A$=INKEY$:IF A$="" GOTO 850 855 IF A$="C" OR A$="c" GOTO 865 860 GOTO 840 865 GOSUB 30000 '*** *** 870 PRINT FNCEN$("I need more room to work in.",40) 875 d=1500:GOSUB 31000 880 GOSUB 30000 '*** Textpad *** 885 PRINT FNCEN$("One moment, please.",40) 890 d=1500:GOSUB 31000 895 FOR A=0 TO 20 900 OUT 66,A:OUT 66,A 905 OUT 97,(INP(97) OR 3) 910 NEXT A 915 SOUND 37,0 920 CLS 925 LINE(105,35)-(105,145) 930 LINE-(230,145) 935 LINE-(105,35) 940 PAINT(130,120) 945 d=750:GOSUB 31000 950 GOSUB 30000 '*** *** 955 PRINT FNCEN$("Let's have a look at what's up here.",40) 960 d=750:GOSUB 31000 965 FOR K=1 TO 15 970 PSET(105,27):DRAW"E5L4U7L2D7L4F5" 975 PAINT(105,21) 980 d=25:GOSUB 31000 985 CIRCLE(105,21),7,0 990 PAINT(105,21),0 995 NEXT K 1000 d=750:GOSUB 31000 1005 GOSUB 30000 '*** *** 1010 PRINT FNCEN$("Flap 1",40) 1015 d=750:GOSUB 31000 1020 LINE(105,45)-(115,45),0 1025 LINE-(105,55),0 1030 d=750:GOSUB 31000 1035 GOSUB 30000 '*** *** 1040 PRINT FNCEN$("Flap 2",40) 1045 d=750:GOSUB 31000 1050 LINE(105,40)-(112,40),0 1055 LINE-(105,45),0 1060 d=750:GOSUB 31000 1065 GOSUB 30000 '*** *** 1070 PRINT FNCEN$("Flap 3",40) 1075 d=750:GOSUB 31000 1080 FOR K=1 TO 15 1085 LINE(105,40)-(105,35),0 1090 LINE-(110,40),0 1095 d=25:GOSUB 31000 1100 LINE(105,40)-(105,35) 1105 LINE-(110,40) 1110 PSET(110,39),0 1115 NEXT K 1120 PSET(105,40),0 1125 PSET(110,40),0 1130 d=750:GOSUB 31000 1135 GOSUB 30000 '*** *** 1140 PRINT FNCEN$("Flaps 1 and 3 fold down to this corner",40) 1145 d=750:GOSUB 31000 1150 FOR K=1 TO 15 1155 PSET(230,153):DRAW"G5R4D7R2U7R4H5" 1160 PAINT(230,159) 1165 d=25:GOSUB 31000 1170 CIRCLE(230,159),7,0 1175 PAINT(230,159),0 1180 NEXT K 1185 d=750:GOSUB 31000 1190 GOSUB 30000 '*** *** 1195 PRINT FNCEN$("across this line,",40) 1200 d=750:GOSUB 31000 1205 LINE(105,145)-(166,89),0 1210 GOSUB 30000 '*** *** 1215 PRINT FNCEN$("first in front",40) 1220 d=750:GOSUB 31000 1225 LINE(106,45)-(115,45) 1230 LINE-(105,55) 1235 FOR Q=0 TO 50 1240 LINE(105,145)-(115+Q,45+.9000001*Q),0 1245 LINE(105,145)-(115+Q,45+.9000001*Q) 1250 NEXT Q 1255 FOR Q=0 TO 65 1260 LINE(105,145)-(166+Q,89+.8499999*Q),0 1265 LINE(105,145)-(166+Q,89+.8499999*Q) 1270 LINE(105,145)-(166,89),0 1275 NEXT Q 1280 d=750:GOSUB 31000 1285 GOSUB 30000 '*** *** 1290 PRINT FNCEN$("and then in back.",40) 1295 d=750:GOSUB 31000 1300 LINE(105,35)-(115,40),0,BF 1305 FOR Q=0 TO 50 1310 LINE(105,145)-(115+Q,45+.9000001*Q),1 1315 LINE(105,145)-(115+Q,45+.9000001*Q) 1320 NEXT Q 1325 FOR Q=0 TO 65 1330 LINE(105,145)-(166+Q,89+.8499999*Q),1 1335 LINE(105,145)-(166+Q,89+.8499999*Q) 1340 LINE(105,145)-(166,89),0 1345 NEXT Q 1350 d=750:GOSUB 31000 1355 LINE(105,45)-(111,40) 1360 LINE(105,45)-(105,35) 1365 LINE-(115,45) 1370 PAINT(107,38) 1375 PSET(107,44) 1380 d=750:GOSUB 31000 1385 GOSUB 30000 '*** Textpad *** 1390 PRINT FNCEN$("Press to continue.",40) 1395 A$=INKEY$:IF A$="" GOTO 1395 1400 IF A$="C" OR A$="c" GOTO 1410 1405 GOTO 1385 1410 GOSUB 30000 '*** *** 1415 PRINT FNCEN$("We next fold and backfold this corner",40) 1420 d=750:GOSUB 31000 1425 FOR K=1 TO 15 1430 PSET(105,27):DRAW"E5L4U7L2D7L4F5" 1435 PAINT(105,21) 1440 d=25:GOSUB 31000 1445 CIRCLE(105,21),7,0 1450 PAINT(105,21),0 1455 NEXT K 1460 d=750:GOSUB 31000 1465 GOSUB 30000 '*** *** 1470 PRINT FNCEN$("across this line of our choosing,",40) 1475 d=1500:GOSUB 31000 1480 LINE(105,70)-(166,89),0 1485 d=750:GOSUB 31000 1490 GOSUB 30000 '*** *** 1495 PRINT FNCEN$("SO!",40) 1500 d=750:GOSUB 31000 1505 FOR V=35 TO 70 1510 LINE(166,89)-(105,V),0 1515 LINE(118,46)-(161,84),0 1520 d=10:GOSUB 31000 1525 NEXT V 1530 FOR Q=O TO 30 1535 LINE(166,89)-(105-.67*Q,70+Q),0 1540 LINE(166,89)-(105-.67*Q,70+Q) 1545 LINE(166,89)-(106-.67*Q,70+Q) 1550 d=10:GOSUB 31000 1555 NEXT Q 1560 LINE(85,100)-(166,89),0 1565 PSET(89,100),0:PSET(104,98),0 1570 d=750:GOSUB 31000 1575 GOSUB 30000 '*** Textpad *** 1580 PRINT FNCEN$("Press to continue.",40) 1585 A$=INKEY$:IF A$="" GOTO 1585 1590 IF A$="C" OR A$="c" GOTO 1600 1595 GOTO 1575 1600 GOSUB 30000 '*** *** 1605 PRINT FNCEN$("and return.",40) 1610 d=750:GOSUB 31000 1615 FOR Q=0 TO 30 1620 LINE(166,89)-(85+.67*Q,100-Q),0 1625 LINE(166,89)-(84+.67*Q,100-Q),0 1630 LINE(166,89)-(105,100-Q) 1635 LINE(166,89)-(105,101-Q) 1640 PSET(113,80):PSET(115,82):PSET(124,84):PSET(141,85):PSET(149,87) 1645 NEXT Q 1650 FOR V=70 TO 35 STEP -1 1655 LINE(166,89)-(105,V) 1660 LINE(105,70)-(166,89),0 1665 NEXT V 1670 d=750:GOSUB 31000 1675 GOSUB 30000 '*** *** 1680 PRINT FNCEN$("Your turn to fold and backfold.",40) 1685 d=1500:GOSUB 31000 1690 GOSUB 30000 1695 PRINT FNCEN$("To review that fold, press .",40) 1700 d=1000:GOSUB 31000 1705 PRINT FNCEN$("To continue, press .",40) 1710 A$=INKEY$:IF A$="" GOTO 1710 1715 IF A$="r" OR A$="R" GOTO 1730 1720 IF A$="c" OR A$="C" GOTO 1780 1725 GOTO 1695 1730 FOR A=0 TO 20 1735 OUT 66,A:OUT 66,A 1740 OUT 97,(INP(97) OR 3) 1745 NEXT A 1750 SOUND 37,0 1755 LINE(105,70)-(166,89) 1760 GOSUB 30000 1765 PRINT FNCEN$("* Review *",40) 1770 d=1500:GOSUB 31000 1775 GOTO 1410 1780 GOSUB 30000 '*** *** 1785 PRINT FNCEN$("Our final fold is a REVERSE FOLD",40) 1790 d=1500:GOSUB 31000 1795 GOSUB 30000 '*** *** 1800 PRINT FNCEN$("that pulls this portion of our figure",40) 1805 d=1500:GOSUB 31000 1810 FOR K=1 TO 15 1815 LINE(166,89)-(105,35),0 1820 LINE-(105,70),0 1825 LINE(118,46)-(161,84),0:PSET(160,83),0 1830 d=25:GOSUB 31000 1835 LINE(166,89)-(105,35) 1840 LINE-(105,70) 1845 NEXT K 1850 d=750:GOSUB 31000 1855 GOSUB 30000 '*** *** 1860 PRINT FNCEN$("down into this pocket,",40) 1865 d=750:GOSUB 31000 1870 FOR A=0 TO 20 1875 OUT 66,A:OUT 66,A 1880 OUT 97,(INP(97) OR 3) 1885 NEXT A 1890 SOUND 37,0 1895 LINE(105,35)-(95,140) 1900 LINE-(105,140) 1905 PAINT(100,130) 1910 LINE(104,35)-(104,145),0 1915 FOR K=1 TO 15 1920 PSET(92,85):DRAW"H5D4L7D2R7D4E5" 1925 PAINT(86,85) 1930 d=25:GOSUB 31000 1935 CIRCLE(86,85),7,0 1940 PAINT(86,85),0 1945 NEXT K 1950 d=750:GOSUB 31000 1955 GOSUB 30000 '*** *** 1960 PRINT FNCEN$("SO!",40) 1965 d=750:GOSUB 31000 1970 FOR A=0 TO 20 1975 OUT 66,A:OUT 66,A 1980 OUT 97,(INP(97) OR 3) 1985 NEXT A 1990 SOUND 37,0 1995 LINE(118,46)-(161,84),0:PSET(160,83),0 2000 LINE(105,35)-(95,140),0 2005 LINE-(105,140),0 2010 PAINT(100,130),0 2015 LINE(105,35)-(105,145) 2020 LINE(105,70)-(105,35),0 2025 LINE-(166,89),0 2030 PAINT(120,60),0 2035 LINE(105,70)-(85,100) 2040 LINE-(166,89) 2045 PAINT(100,90) 2050 LINE(105,145)-(105,70),0 2055 LINE-(166,89) 2060 d=750:GOSUB 31000 2065 GOSUB 30000 2070 PRINT FNCEN$("To review that fold, press .",40) 2075 d=1000:GOSUB 31000 2080 PRINT FNCEN$("Press to continue.",40) 2085 A$=INKEY$:IF A$="" GOTO 2085 2090 IF A$="r" OR A$="R" GOTO 2105 2095 IF A$="c" OR A$="C" GOTO 2180 2100 GOTO 2065 2105 FOR A=0 TO 20 2110 OUT 66,A:OUT 66,A 2115 OUT 97,(INP(97) OR 3) 2120 NEXT A 2125 SOUND 37,0 2130 LINE(85,70)-(105,100),0,BF 2135 LINE(105,145)-(105,35) 2140 LINE-(230,145) 2145 LINE(105,70)-(166,89) 2150 PAINT(120,60) 2155 LINE(105,70)-(166,89),0 2160 GOSUB 30000 2165 PRINT FNCEN$("* Review *",40) 2170 d=1500:GOSUB 31000 2175 GOTO 1780 2180 GOSUB 30000 '*** *** 2185 PRINT FNCEN$("There! We're done. Let's open up.",40) 2190 d=1500:GOSUB 31000 2195 GOSUB 30000 '*** Textpad *** 2200 PRINT FNCEN$("One moment, please.",40) 2205 d=1500:GOSUB 31000 2210 FOR A=0 TO 20 2215 OUT 66,A:OUT 66,A 2220 OUT 97,(INP(97) OR 3) 2225 NEXT A 2230 SOUND 37,0 2235 CLS 2240 LINE(85,100)-(100,65) 2245 LINE-(165,90) 2250 LINE-(170,95) 2255 LINE-(180,85) 2260 LINE-(235,135) 2265 LINE-(220,135) 2270 LINE-(230,145) 2275 LINE-(205,145) 2280 LINE-(215,155) 2285 LINE-(115,145) 2290 LINE-(115,140) 2295 LINE-(105,140) 2300 LINE-(102,98) 2305 LINE-(85,100) 2310 PAINT(160,100) 2315 LINE(85,100)-(107,75),0 2320 LINE-(165,90),0 2325 LINE(107,75)-(115,140),0 2330 LINE(115,145)-(165,100),0 2335 LINE-(205,145),0 2340 LINE(165,100)-(230,145),0 2345 LINE-(170,95),0 2350 LINE(180,85)-(220,135),0 2355 LINE(85,101)-(110,98),0 2360 d=750:GOSUB 31000 2365 GOSUB 30000 '*** *** 2370 PRINT FNCEN$("WATERFOWL",40) 2375 d=1500:GOSUB 31000 2380 GOSUB 30000 '*** Textpad *** 2385 PRINT FNCEN$(" Press <1> - To return to MAIN MENU.",40) 2390 PRINT FNCEN$(" <2> - To repeat WATERFOWL.",40) 2395 PRINT FNCEN$(" <3> - To exit from program.",40) 2400 E$=INPUT$(1) 2405 IF E$<"1" OR E$>"3" GOTO 2400 2410 SEL=VAL(E$) 2415 COMMON SEL 2420 CLS 2425 LOCATE 13,1:PRINT FNCEN$("One moment, please.",40) 2426 LINE(70,75)-(250,125),3,B 2430 ON SEL GOTO 2435,2440,2445 2435 CHAIN"main" 2440 CHAIN"waterfow 2445 CHAIN"end" 8999 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