home *** CD-ROM | disk | FTP | other *** search
/ Jason Aller Floppy Collection / 101.img / QB45-1.ZIP / DEMO3.BAS < prev    next >
BASIC Source File  |  1988-08-17  |  2KB  |  79 lines

  1. DECLARE SUB Bounce (Hi%, Low%)
  2. DECLARE SUB Fall (Hi%, Low%, Del%)
  3. DECLARE SUB Siren (Hi%, Range%)
  4. DECLARE SUB Klaxon (Hi%, Low%)
  5. DEFINT A-Z
  6.  
  7. ' QB 4.5 Version of Sound Effects Demo Program
  8.  
  9. ' Sound effects menu
  10. DO
  11.    CLS
  12.    PRINT "Sound effects": PRINT
  13.    COLOR 15, 0: PRINT "  B"; :  COLOR 7, 0: PRINT "ouncing"
  14.    COLOR 15, 0: PRINT "  F"; :  COLOR 7, 0: PRINT "alling"
  15.    COLOR 15, 0: PRINT "  K"; :  COLOR 7, 0: PRINT "laxon"
  16.    COLOR 15, 0: PRINT "  S"; :  COLOR 7, 0: PRINT "iren"
  17.    COLOR 15, 0: PRINT "  Q"; :  COLOR 7, 0: PRINT "uit"
  18.    PRINT : PRINT "Select: ";
  19.  
  20.    ' Get valid key
  21.    DO
  22.       Q$ = UCASE$(INPUT$(1))
  23.    LOOP WHILE INSTR("BFKSQ", Q$) = 0
  24.  
  25.    ' Take action based on key
  26.    CLS
  27.    SELECT CASE Q$
  28.       CASE IS = "B"
  29.          PRINT "Bouncing . . . "
  30.          Bounce 32767, 246
  31.       CASE IS = "F"
  32.          PRINT "Falling . . . "
  33.          Fall 2000, 550, 500
  34.       CASE IS = "S"
  35.          PRINT "Wailing . . ."
  36.          PRINT " . . . press any key to end."
  37.          Siren 780, 650
  38.       CASE IS = "K"
  39.          PRINT "Oscillating . . ."
  40.          PRINT " . . . press any key to end."
  41.          Klaxon 987, 329
  42.       CASE ELSE
  43.    END SELECT
  44. LOOP UNTIL Q$ = "Q"
  45. END
  46.  
  47. ' Loop two sounds down at decreasing time intervals
  48. SUB Bounce (Hi%, Low%) STATIC
  49.    FOR Count = 60 TO 1 STEP -2
  50.       SOUND Low - Count / 2, Count / 20
  51.       SOUND Hi, Count / 15
  52.    NEXT Count
  53. END SUB
  54.  
  55. ' Loop down from a high sound to a low sound
  56. SUB Fall (Hi%, Low%, Del%) STATIC
  57.    FOR Count = Hi TO Low STEP -10
  58.       SOUND Count, Del / Count
  59.    NEXT Count
  60. END SUB
  61.  
  62. ' Alternate two sounds until a key is pressed
  63. SUB Klaxon (Hi%, Low%) STATIC
  64.    DO WHILE INKEY$ = ""
  65.       SOUND Hi, 5
  66.       SOUND Low, 5
  67.    LOOP
  68. END SUB
  69.  
  70. ' Loop a sound from low to high to low
  71. SUB Siren (Hi%, Range%)
  72.    DO WHILE INKEY$ = ""
  73.       FOR Count = Range TO -Range STEP -4
  74.          SOUND Hi - ABS(Count), .3
  75.          Count = Count - 2 / Range
  76.       NEXT Count
  77.    LOOP
  78. END SUB
  79.