home *** CD-ROM | disk | FTP | other *** search
- DECLARE SUB Bounce (Hi%, Low%)
- DECLARE SUB Fall (Hi%, Low%, Del%)
- DECLARE SUB Siren (Hi%, Range%)
- DECLARE SUB Klaxon (Hi%, Low%)
- DEFINT A-Z
-
- ' QB 4.5 Version of Sound Effects Demo Program
-
- ' Sound effects menu
- DO
- CLS
- PRINT "Sound effects": PRINT
- COLOR 15, 0: PRINT " B"; : COLOR 7, 0: PRINT "ouncing"
- COLOR 15, 0: PRINT " F"; : COLOR 7, 0: PRINT "alling"
- COLOR 15, 0: PRINT " K"; : COLOR 7, 0: PRINT "laxon"
- COLOR 15, 0: PRINT " S"; : COLOR 7, 0: PRINT "iren"
- COLOR 15, 0: PRINT " Q"; : COLOR 7, 0: PRINT "uit"
- PRINT : PRINT "Select: ";
-
- ' Get valid key
- DO
- Q$ = UCASE$(INPUT$(1))
- LOOP WHILE INSTR("BFKSQ", Q$) = 0
-
- ' Take action based on key
- CLS
- SELECT CASE Q$
- CASE IS = "B"
- PRINT "Bouncing . . . "
- Bounce 32767, 246
- CASE IS = "F"
- PRINT "Falling . . . "
- Fall 2000, 550, 500
- CASE IS = "S"
- PRINT "Wailing . . ."
- PRINT " . . . press any key to end."
- Siren 780, 650
- CASE IS = "K"
- PRINT "Oscillating . . ."
- PRINT " . . . press any key to end."
- Klaxon 987, 329
- CASE ELSE
- END SELECT
- LOOP UNTIL Q$ = "Q"
- END
-
- ' Loop two sounds down at decreasing time intervals
- SUB Bounce (Hi%, Low%) STATIC
- FOR Count = 60 TO 1 STEP -2
- SOUND Low - Count / 2, Count / 20
- SOUND Hi, Count / 15
- NEXT Count
- END SUB
-
- ' Loop down from a high sound to a low sound
- SUB Fall (Hi%, Low%, Del%) STATIC
- FOR Count = Hi TO Low STEP -10
- SOUND Count, Del / Count
- NEXT Count
- END SUB
-
- ' Alternate two sounds until a key is pressed
- SUB Klaxon (Hi%, Low%) STATIC
- DO WHILE INKEY$ = ""
- SOUND Hi, 5
- SOUND Low, 5
- LOOP
- END SUB
-
- ' Loop a sound from low to high to low
- SUB Siren (Hi%, Range%)
- DO WHILE INKEY$ = ""
- FOR Count = Range TO -Range STEP -4
- SOUND Hi - ABS(Count), .3
- Count = Count - 2 / Range
- NEXT Count
- LOOP
- END SUB
-