1. #include "SDL/SDL.h"
  2. #include "SDL/SDL_mixer.h"
  3.  
  4.  
  5. class weapon_fire
  6. {
  7.     public:
  8.           weapon_fire();  
  9.           ~weapon_fire();
  10.           bool setup();  // loads the sound files
  11.  
  12.         void plasma(); //function to play plasma sound effect
  13.         void laser(); //function to play laser sound effect
  14.         void cannon(); //function to play cannon sound effect
  15.         void missile(); //function to play missle sound effect
  16.         void blaster(); //function to play blaster sound effect
  17.  
  18.      private:
  19.          Mix_Chunk *fireB;
  20.          Mix_Chunk *fireC;
  21.          Mix_Chunk *fireL;
  22.          Mix_Chunk *fireM;
  23.          Mix_Chunk *fireP;
  24. };
  25.  
  26. class gun_change
  27. {
  28.     public:
  29.           gun_change();
  30.           ~gun_change();
  31.  
  32.           bool setup();
  33.  
  34.         void gun_change1(); //function to play gun_change1 sound effect
  35.         void gun_change2(); //function to play gun_change2 sound effect
  36.         void gun_change3(); //function to play gun_change3 sound effect
  37.         void gun_change4(); //function to play gun_change4 sound effect
  38.  
  39.      private:
  40.           Mix_Chunk *change1;
  41.           Mix_Chunk *change2;
  42.           Mix_Chunk *change3;
  43.           Mix_Chunk *change4;
  44. };
  45.  
  46. class environment
  47. {
  48.     public:
  49.           environment();            
  50.           ~environment();
  51.  
  52.           bool setup();            // load the sound files
  53.  
  54.         void background_music(); // function to play background music
  55.         void explosion();        // function to play explosion sound effect
  56.         void teleport();         // function to play teleport sound effect
  57.  
  58.         void stop();             // function to stop background music    
  59.           void toggleMusic();      // play/pause/resume background music
  60.  
  61.     private:
  62.         Mix_Music *music;
  63.          Mix_Chunk *boom;
  64.          Mix_Chunk *tele;
  65. };