home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 September / Simtel20_Sept92.cdr / msdos / qbasic / squawk.arc / SQUAWK.BAS next >
BASIC Source File  |  1987-04-18  |  9KB  |  316 lines

  1. 'SQUAWK.BAS v 1.0  A sound effects sampler (C) 1987 by Merlin R. Null 4-17-87
  2.  
  3. DEFINT A-X
  4. RANDOMIZE TIMER
  5. Cuckoo$="T120L16MLO3BF#"
  6. Zap$="T255L64MLO4BAGFEDC<BAGFEDEC<BAGFEDC<BAGFEDC<BAGFEDC"
  7. Tifweet$="T255L32O4mlDGD<G>DGDDGDGBAGF#EE"
  8. Zang1$="T255L64MLO2BCADGEFEGDACBCADGEFEGDACB"
  9. Zang2$="T255L64MLO3BCADGEFEGDACBCADGEFEGDACB"
  10. Zang3$="T255L64MLO4BCADGEFEGDACBCADGEFEGDACB"
  11. Zang4$="T255L64MLO5BCADGEFEGDACBCADGEFEGDACB"
  12. Downer1$="T150L64MSO4BGEC<AFL16D"
  13. Downer2$="T150L64MSO4BFC<GD<AL16E"
  14. Downer3$="T150L64MSO4BE<AD<GC<L32F"
  15. UpScale1$="T150L64MSO3DFA>CEGL16B"
  16. UpScale2$="T120L64MSO2E.A.>D.G.>C.F.B."
  17. UpScale3$="T150L64MSO0F>CG>DA>EB."
  18. Tweedle$="T240L64MLO4EGEGEGCFCFCFGEGEGE"
  19. Whoople$="T255L64O4CDEFGABO3CDEFGABO2CDEFGAB"
  20. Bongee1$="T255L64MLO1BAGFEDC<BAGFEDCP16>CDEFGAB>CDEFGABP32"
  21. Bongee2$="T255L64MLO2BAGFEDC<BAGFEDCP16>CDEFGAB>CDEFGABP32"
  22. Bongee3$="T255L64MLO3BAGFEDC<BAGFEDCP16>CDEFGAB>CDEFGABP32"
  23. Bongee4$="T255L64MLO4BAGFEDC<BAGFEDCP16>CDEFGAB>CDEFGABP32"
  24. Uhoh1$="T255L64MLO1CDEFGAB>CDEFGABP16<BAGFEDC<BAGFEDCP32"
  25. Uhoh2$="T255L64MLO2CDEFGAB>CDEFGABP16<BAGFEDC<BAGFEDCP32"
  26. Uhoh3$="T255L64MLO3CDEFGAB>CDEFGABP16<BAGFEDC<BAGFEDCP32"
  27. Uhoh4$="T255L64MLO4CDEFGAB>CDEFGABP16<BAGFEDC<BAGFEDCP32"
  28. BobWhite$="T120L16O4C#.P16T255L64mlC#DD#EFF#GG#AA#BO5CC#DD#EF"
  29. Whung$="T255L32mlO3CD<CD>>CD<<CD>>CD<<CD>CD"
  30. Phone2$="T240L64MLO4EGEGEGEGEGEGEGEGEGEGEGEGEGEGEG"
  31. Tweet$="O4T255L64MLB-BB-BAGAG.>EGG>EGG"
  32. Wolf$="T200L64MLO4C#DD#EFF#GG#AA#B>CC#DD#EFP8.<C#DD#EFF#GG#AA#B>CC#DD#EFFED#DC#C<BA#AG#GGF#FED#DC#"
  33. Fweet$="T255L64MsO4C#DD#EFF#GG#AA#B>CC#DD#EF"
  34. COLOR 14,1
  35. CLS
  36. LOCATE 3,10
  37. PRINT"Squawkers and Zangers and Off-Key Loud Clangers and Things that";
  38. LOCATE 4,10
  39. PRINT"go Bleep in the Night.   (C) 1987 Merlin R. Null    version 1.0";
  40. LOCATE 2,1
  41. COLOR 15,1
  42. PRINT TAB(6)"╔════════════════════════════════════════════════════════════════════╗"
  43. PRINT TAB(6)"║";
  44. LOCATE 3,75
  45. PRINT"║"
  46. PRINT TAB(6)"║";
  47. LOCATE 4,75
  48. PRINT"║"
  49. PRINT TAB(6)"╠════════════════════════════════════════════════════════════════════╣"
  50. PRINT TAB(6)"║  A  Cuckoo         N  Chang          a  Boingee 1      n  Mew      ║"
  51. PRINT TAB(6)"║  B  Zap            O  Oh!            b  Boingee 2      o  Tweet    ║"
  52. PRINT TAB(6)"║  C  Tifweet        P  Space 1        c  Boingee 3      p  Phone 1  ║"
  53. PRINT TAB(6)"║  D  Zang 1         Q  Space 2        d  Boingee 4      q  Phone 2  ║"
  54. PRINT TAB(6)"║  E  Zang 2         R  Gurgle         e  Uhoh 1         r  Wolf     ║"
  55. PRINT TAB(6)"║  F  Zang 3         S  Spectre        f  Uhoh 2         s  Siren    ║"
  56. PRINT TAB(6)"║  G  Zang 4         T  Grup 1         g  Uhoh 3         t  Fweet    ║"
  57. PRINT TAB(6)"║  H  Downer 1       U  Grup 2         h  Uhoh 4         u  Zhoup    ║"
  58. PRINT TAB(6)"║  I  Downer 2       V  Chirp          i  Bob White      v  Vrowr    ║"
  59. PRINT TAB(6)"║  J  Downer 3       W  Waver          j  Whung          w  Zhou     ║"
  60. PRINT TAB(6)"║  K  UpScale 1      X  Tweedle        k  Kazango        x  Art      ║"
  61. PRINT TAB(6)"║  L  UpScale 2      Y  Blurp          l  Who 1          y  Coo      ║"
  62. PRINT TAB(6)"║  M  UpScale 3      Z  Whoople        m  Who 2          z  Squawk   ║"
  63. PRINT TAB(6)"╚════════════════════════════════════════════════════════════════════╝"
  64. LOCATE 20,29
  65. COLOR 12,1
  66. PRINT"╔═════╗";
  67. LOCATE 21,29
  68. PRINT"║ F10 ║";
  69. LOCATE 22,29
  70. PRINT"╚═════╝";
  71. LOCATE 21,37
  72. COLOR 15,1
  73. PRINT"Cacophony";
  74. LOCATE 24,6,1
  75. PRINT"Noise (A-Z, a-z) or <Esc> to exit ? ";
  76. While X$<>CHR$(27)
  77.   IF Demoflag THEN
  78.     IF INKEY$="" THEN
  79.       X=INT(RND*52)+65
  80.       IF X>90 THEN
  81.         X=X+6
  82.       END IF
  83.       X$=CHR$(X)
  84.     ELSE
  85.       DemoFlag = 0
  86.       LOCATE 24,6
  87.       PRINT STRING$(40,32);
  88.       LOCATE 24,6,1
  89.       PRINT"Noise (A-Z, a-z) or <Esc> to exit ? ";
  90.     END IF
  91.   ELSEIF RandomSounds > 0 THEN
  92.     X=INT(RND*52)+65
  93.     IF X>90 THEN
  94.       X=X+6
  95.     END IF
  96.     X$=CHR$(X)
  97.     RandomSounds=RandomSounds-1
  98.   ELSE
  99. GetKey:
  100.     X$=INKEY$
  101.     IF X$="" THEN GOTO GetKey
  102.   END IF
  103.  
  104.   IF LEN(X$)=2 THEN
  105.     IF RIGHT$(X$,1)="D" THEN            '<F10>
  106.       DemoFlag=-1
  107.       LOCATE 24,6
  108.       PRINT STRING$(45,32);
  109.       LOCATE 24,6,0
  110.       COLOR 12,1
  111.       PRINT"Press Any Key to Stop... ";
  112.       COLOR 15,1
  113.     END IF
  114.   ELSEIF X$>"0"AND X$<":" THEN        '1-9
  115.     RandomSounds=VAL(X$)
  116.   END IF
  117.   IF LEN(X$)=1 AND X$>CHR$(31) THEN
  118.     IF DemoFlag THEN
  119.       LOCATE 24,31
  120.       PRINT X$;
  121.       LOCATE 24,31
  122.     ELSE
  123.       LOCATE 24,42
  124.       PRINT X$;
  125.       LOCATE 24,42
  126.     END IF
  127.   END IF
  128.   IF X$="A" THEN
  129.     PLAY "X" + VARPTR$(Cuckoo$)
  130.   ELSEIF X$="B" THEN
  131.     PLAY "X" + VARPTR$(Zap$)
  132.   ELSEIF X$="C" THEN
  133.     PLAY "X" + VARPTR$(Tifweet$)
  134.   ELSEIF X$="D" THEN
  135.     PLAY "X" + VARPTR$(Zang1$)
  136.   ELSEIF X$="E" THEN
  137.     PLAY "X" + VARPTR$(Zang2$)
  138.   ELSEIF X$="F" THEN
  139.     PLAY "X" + VARPTR$(Zang3$)
  140.   ELSEIF X$="G" THEN
  141.     PLAY "X" + VARPTR$(Zang4$)
  142.   ELSEIF X$="H" THEN
  143.     PLAY "X" + VARPTR$(Downer1$)
  144.   ELSEIF X$="I" THEN
  145.     PLAY "X" + VARPTR$(Downer2$)
  146.   ELSEIF X$="J" THEN
  147.     PLAY "X" + VARPTR$(Downer3$)
  148.   ELSEIF X$="K" THEN
  149.     PLAY "X" + VARPTR$(UpScale1$)
  150.   ELSEIF X$="L" THEN
  151.     PLAY "X" + VARPTR$(UpScale2$)
  152.   ELSEIF X$="M" THEN
  153.     PLAY "X" + VARPTR$(UpScale3$)
  154.   ELSEIF X$="N" THEN            'Chang
  155.     FOR J=1 TO 4
  156.       FOR I=2000 TO 50 STEP -400
  157.         SOUND I,.2
  158.       NEXT
  159.       FOR I=800 TO 2000 STEP 400
  160.         SOUND I,.2
  161.       NEXT
  162.     NEXT
  163.   ELSEIF X$="O" THEN
  164.     FOR I=800 TO 2000 STEP 100        'Oh
  165.       SOUND I,.2
  166.     NEXT
  167.     FOR I=2000 TO 50 STEP -100
  168.       SOUND I,.2
  169.     NEXT
  170.   ELSEIF X$="P" THEN
  171.     FOR I=1000 TO 40 STEP -20        'Space 1
  172.       SOUND I,.2
  173.     NEXT
  174.   ELSEIF X$="Q" THEN
  175.     FOR I=10000 TO 500 STEP -500    'Space 2
  176.       SOUND I,.2
  177.     NEXT
  178.   ELSEIF X$="R" THEN
  179.     FOR I=10 TO 50 STEP 10        'Gurgle
  180.       FOR J=50 TO 10 STEP -10
  181.        SOUND I^2+J^2,.1
  182.       NEXT
  183.     NEXT
  184.   ELSEIF X$="S" THEN
  185.     FOR Z=1 TO 30 STEP .4        'Spectre
  186.       SOUND (SIN(Z)+40)*50,.2
  187.     NEXT
  188.   ELSEIF X$="T" THEN
  189.     FOR I=10 TO 50 STEP 10        'Grup 1
  190.       FOR J=50 TO 10 STEP -10
  191.     SOUND I*J,.1
  192.       NEXT
  193.     NEXT
  194.   ELSEIF X$="U" THEN
  195.     FOR I=30 TO 70 STEP 10        'Grup 2
  196.       FOR J=70 TO 30 STEP -10
  197.     SOUND I*J,.1
  198.       NEXT
  199.     NEXT
  200.   ELSEIF X$="V" THEN
  201.     FOR I=30 TO 60 STEP 10        'Chirp
  202.       FOR J=60 TO 30 STEP -10
  203.     SOUND I*J,.2
  204.       NEXT
  205.     NEXT
  206.   ELSEIF X$="W" THEN
  207.     FOR Z=1 TO 30 STEP .7        'Waver
  208.       SOUND (SIN(Z)+20)*30,.2
  209.     NEXT
  210.   ELSEIF X$="X" THEN
  211.     PLAY "X" + VARPTR$(Tweedle$)
  212.   ELSEIF X$="Y" THEN
  213.     FOR I=1 TO 40            'Blurp
  214.       SOUND INT(RND*1400)+450,.1
  215.     NEXT
  216.   ELSEIF X$="Z" THEN
  217.     PLAY "X" + VARPTR$(Whoople$)
  218.   ELSEIF X$="a" THEN                      'a
  219.     PLAY "X" + VARPTR$(Bongee1$)
  220.   ELSEIF X$="b" THEN
  221.     PLAY "X" + VARPTR$(Bongee2$)
  222.   ELSEIF X$="c" THEN
  223.     PLAY "X" + VARPTR$(Bongee3$)
  224.   ELSEIF X$="d" THEN
  225.     PLAY "X" + VARPTR$(Bongee4$)
  226.   ELSEIF X$="e" THEN
  227.     PLAY "X" + VARPTR$(Uhoh1$)
  228.   ELSEIF X$="f" THEN
  229.     PLAY "X" + VARPTR$(Uhoh2$)
  230.   ELSEIF X$="g" THEN
  231.     PLAY "X" + VARPTR$(Uhoh3$)
  232.   ELSEIF X$="h" THEN
  233.     PLAY "X" + VARPTR$(Uhoh4$)
  234.   ELSEIF X$="i" THEN
  235.     PLAY "X" + VARPTR$(BobWhite$)
  236.   ELSEIF X$="j" THEN
  237.     PLAY "X" + VARPTR$(Whung$)
  238.   ELSEIF X$="k" THEN
  239.     FOR I=10000 TO 500 STEP -500    'Space 2
  240.       SOUND I,.2
  241.     NEXT
  242.     PLAY "X" + VARPTR$(Zap$)
  243.   ELSEIF X$="l" THEN
  244.     FOR Y=10.2 TO 8.2 STEP -.2          'Who 1
  245.       SOUND (TAN(Y)+36)*25,.8
  246.       SOUND (SIN(Y)+20)*50,.4
  247.     NEXT
  248.   ELSEIF X$="m" THEN
  249.     FOR Y=10.2 TO 8.2 STEP -.2          'Who 2
  250.       SOUND (TAN(Y)+36)*10,.8
  251.       SOUND (SIN(Y)+20)*20,.4
  252.     NEXT
  253.   ELSEIF X$="n" THEN
  254.     FOR Y=10.8 TO 8 STEP -.1            'Mew
  255.       SOUND (TAN(Y)+50)*25,.4
  256.     NEXT
  257.   ELSEIF X$="o" THEN
  258.     FOR I=1 TO 3
  259.       PLAY "X" +VARPTR$(Tweet$)
  260.     NEXT
  261.   ELSEIF X$="p" THEN
  262.     FOR Y=1 TO 10            'Phone 1
  263.       SOUND 1195,.4
  264.       SOUND 2571,.4
  265.     NEXT
  266.   ELSEIF X$="q" THEN
  267.     PLAY "X" + VARPTR$(Phone2$)
  268.   ELSEIF X$="r" THEN
  269.     PLAY "X" + VARPTR$(Wolf$)
  270.   ELSEIF X$="s" THEN
  271.     FOR Y=1 TO 3                        'siren
  272.       SOUND 550,9
  273.       SOUND 400,9
  274.     NEXT
  275.   ELSEIF X$="t" THEN
  276.     FOR I=1 TO 2
  277.       PLAY "X" +VARPTR$(Fweet$)
  278.     NEXT
  279.   ELSEIF X$="u" THEN
  280.     FOR Z=3 TO 9 step .2                'Zhoup
  281.       SOUND 120+Z^4,.1
  282.       SOUND 0,.1
  283.     NEXT
  284.   ELSEIF X$="v" THEN
  285.     FOR Z=9 TO 3 step -.1               'Vrowr
  286.       SOUND 120+Z^4,.1
  287.       SOUND 0,.1
  288.     NEXT
  289.   ELSEIF X$="w" THEN
  290.     FOR I=40 TO 15 STEP -1              'Zhou
  291.       SOUND I*90,.1
  292.       SOUND I*80,.1
  293.       SOUND I*70,.1
  294.       SOUND I*60,.1
  295.       SOUND I*50,.1
  296.     NEXT
  297.   ELSEIF X$="x" THEN
  298.     FOR I=1 TO 10                        'Art
  299.       SOUND 1195-50*I,.3
  300.       SOUND 1195+50*I,.3
  301.     NEXT
  302.   ELSEIF X$="y" THEN
  303.     FOR I=0 TO 150 STEP 10              'Coo
  304.       SOUND 1295-I,.4
  305.       SOUND 1095+I,.4
  306.     NEXT
  307.   ELSEIF X$="z" THEN                    'Squawk
  308.     FOR I=1 TO 20
  309.       SOUND I*50,.1
  310.       SOUND I*100,.1
  311.       SOUND I*150,.1
  312.     NEXT
  313.   END IF
  314. WEND
  315. END
  316.