Example #1
0
void Sound::playSound(std::string key, bool async)
{
    std::map<std::string, char*>::iterator it = soundData.find(key);
	DWORD flag = async? SND_MEMORY | SND_ASYNC : SND_MEMORY;
    if (it != soundData.end())
    {        
        PlaySoundA(it->second, NULL, flag );
    }
	else
	{
		PlaySoundA(NULL, NULL, flag );
	}
}
Example #2
0
void playSong(int songTitle){
	muteSounds();
	
	if (soundOn) {
		if (songTitle == MISSION_IMPOSSIBLE)
			PlaySoundA("Audio Files/Mission Impossible.wav", NULL,
				SND_FILENAME | SND_ASYNC | SND_LOOP | SND_NODEFAULT); // Songs are looped through a flag
		else if (songTitle == JAMES_BOND)
			PlaySoundA("Audio Files/James Bond.wav",
				 NULL, SND_NODEFAULT | SND_ASYNC | SND_LOOP);
		else if (songTitle == PINK_PANTHER)
			PlaySoundA("Audio Files/Pink Panther.wav",
				NULL, SND_FILENAME | SND_ASYNC | SND_NODEFAULT | SND_LOOP);
	}
	
}
int main()
{
	PlaySoundA("skyrim.wav", NULL, SND_ASYNC | SND_LOOP | SND_FILENAME);//Play Music 
	string choice;//choice
	while (1)//infinite loop
	{
		cout << "Team RAN (Ravi :) , Ajay :'( , Neha <3)" << endl << endl;
		cout << "Song: Elder Scrolls V: Skyrim Theme" << endl << endl;
		cout << "Would you like to encode or decode a phrase?" << endl << "'E' for Encoding" << endl << "'D' for Decoding" << endl << "'QQ' to Quit" << endl;
		getline(cin, choice);//get whole line
		if (choice == "E" || choice == "e")//call ENCODE
			ENCODE();
		else if (choice == "D" || choice == "d")//call DECODE
			DECODE();
		else if (choice == "QQ" || choice == "qq" || choice == "Qq" || choice == "qQ")//QUIT
		{
			cout << "Thank you for using this program!" << endl;
			system("pause");
			break;
		}
		else
			cout << "INVALID RESPONSE" << endl << endl;//if none of the others
		system("pause");
		system("CLS");//clears screen
	}
	return 0;
}
Example #4
0
LRESULT CALLBACK WindowProc(HWND hwnd,
							UINT msg,
							WPARAM wParam,
							LPARAM lParam)
{
	switch (msg) {
		case WM_CREATE:
			PlaySoundA("window_open.wav", NULL, SND_FILENAME | SND_ASYNC);
			break;
		case WM_PAINT:
			PAINTSTRUCT ps;
			BeginPaint(hwnd, &ps);
			EndPaint(hwnd, &ps);
			break;
		case WM_DESTROY:
			PostQuitMessage(0);
			break;
	}
	return DefWindowProcA(hwnd, msg, wParam, lParam);
}
void CPickup::Update(CVector3f c, float dt, Game *game, CAudio sound)
{
	m_theta += dt * 50.0f;
	if ((c - m_position).Length() < 2.0f)
	{
		if (m_isActive) 
		{ 
			if (game->m_health != 100)
			{
				game->m_health = 100;
			}
			if (game->m_ammo != 1000)
			{
				game->m_ammo = 1000;
			}
		}
		m_isActive = false;
		PlaySoundA(sound);
	}

	// Update bounding box based on current position
	m_boundingBox.Set(m_position - CVector3f(1.5, 1.5, 1.5), m_position + CVector3f(1.5, 1.5, 1.5));
}
Example #6
0
void QAccessible::updateAccessibility(QObject *o, int who, Event reason)
{
    Q_ASSERT(o);

    if (updateHandler) {
        updateHandler(o, who, reason);
        return;
    }

    QByteArray soundName;
    switch (reason) {
    case PopupMenuStart:
        soundName = "MenuPopup";
        break;

    case MenuCommand:
        soundName = "MenuCommand";
        break;

    case Alert:
        {
#ifndef QT_NO_MESSAGEBOX
            QMessageBox *mb = ::qobject_cast<QMessageBox*>(o);
            if (mb) {
                switch (mb->icon()) {
                case QMessageBox::Warning:
                    soundName = "SystemExclamation";
                    break;
                case QMessageBox::Critical:
                    soundName = "SystemHand";
                    break;
                case QMessageBox::Information:
                    soundName = "SystemAsterisk";
                    break;
                default:
                    break;
                }
            } else
#endif // QT_NO_MESSAGEBOX
            {
                soundName = "SystemAsterisk";
            }

        }
        break;
    default:
        break;
    }

    if (soundName.size()) {
        QSettings settings(QLatin1String("HKEY_CURRENT_USER\\AppEvents\\Schemes\\Apps\\.Default\\") +
                                         QString::fromLatin1(soundName.constData()), QSettings::NativeFormat);
        QString file = settings.value(QLatin1String(".Current/.")).toString();
        if (!file.isEmpty())
            PlaySoundA(soundName.constData(), 0, SND_ALIAS | SND_ASYNC | SND_NODEFAULT | SND_NOWAIT );
    }

    if (!isActive())
        return;

    typedef void (WINAPI *PtrNotifyWinEvent)(DWORD, HWND, LONG, LONG);

    static PtrNotifyWinEvent ptrNotifyWinEvent = 0;
    static bool resolvedNWE = false;
    if (!resolvedNWE) {
        resolvedNWE = true;
        ptrNotifyWinEvent = (PtrNotifyWinEvent)QLibrary::resolve(QLatin1String("user32"), "NotifyWinEvent");
    }
    if (!ptrNotifyWinEvent)
        return;

    // An event has to be associated with a window,
    // so find the first parent that is a widget.
    QWidget *w = 0;
    if (o->isWidgetType()) {
        w = (QWidget*)o;
    } else {
        QObject *p = o;
        while ((p = p->parent()) != 0) {
            if (p->isWidgetType()) {
                w = (QWidget*)p;
                break;
            }
        }
    }

    if (!w) {
        if (reason != QAccessible::ContextHelpStart &&
             reason != QAccessible::ContextHelpEnd)
            w = qApp->focusWidget();
        if (!w) {
            w = qApp->activeWindow();

            if (!w)
                return;

// ### Fixme
//             if (!w) {
//                 w = qApp->mainWidget();
//                 if (!w)
//                     return;
//             }
        }
    }

    if (reason != MenuCommand) { // MenuCommand is faked
        ptrNotifyWinEvent(reason, w->winId(), OBJID_CLIENT, who);
    }
}
Example #7
0
void errorSound(){
	
	PlaySoundA("SystemExclamation", NULL,SND_ASYNC );
}
Example #8
0
void exitProgramSound(){
	if(soundOn)
		PlaySoundA("Audio Files/Blast.wav", NULL, SND_FILENAME | SND_ASYNC );
	
}
Example #9
0
void muteSounds(){
	PlaySoundA(NULL, NULL, SND_FILENAME | SND_ASYNC);
	
}
// HAUPTFUNKTION; MOTOR DES GAMES
int main(void){
	int xBall=0, weiter=0, close=1, control=1, config=1, speed=0, count1=0, count2=0, satz1=0, satz2=0; // GAMESTEUREUNGSVARIABLEN
	int direction=0, upDown=0;              // BALLRICHTUNG STEUERUNGSVARIABLEN
	int *d=&direction, *uD=&upDown;         // UND DEREN ZEIGER; STATT GLOBALE VARIABLEN
	char start, modus='0', linekiller=' ', counter1[6]={"     "}, counter2[6]={"     "};
	screen(); // MUSS NICH SEIN; SIEHT ABER SCHÖNER AUS!!
	
	// DAS GAME
	do{
		
		field(control, modus, counter1, counter2, count1, count2);       // AUSGABE DES GAME AUSGANGSLAGE

		// SPIELEINSTELLUNGEN
		// NUR BEI MATCH-BEGINN ABFRAGE DER SPIELSCHWIERIGKEIT UND DES SPIELMODUS
		if(config == 1){
			config = 0; 
			printf_s("\n\n");
			do{
				printf_s("Difficulty: very easy[1] %c easy[2] %c normal[3] %c hard[4] %c impossible[5] --> ",16,16,16,16); modus=_getche();
				if(modus=='1')speed=150;           // AUSWAHL DER BALLGESCHWINDIGKEIT DURCH DEN SPIELER
				if(modus=='2')speed=80;
				if(modus=='3')speed=50;
				if(modus=='4')speed=23;
				if(modus=='5')speed=0;
				printf_s("\r \r");          // NUR BEI MATCH-BEGINN ABFRAGE DER SPIELSCHWIERIGKEIT UND DES SPIELMODUS// SPRINGT AN ANFANG VON LETZTE ZEILE
			}while (modus!='1' && modus!='2' && modus!='3' && modus!='4' && modus!='5'); // FÄNGT GEDRÜCKTE TASTEN WÄHREND DES SPIELS AB -> ANSONSTEN modus getch() WÜRDE IRGENDWAS EINLESEN
			for(int i=0; i<=80; i++)
				printf_s("\r%*c",i,linekiller);     // LETZTE ZEILE LÖSCHEN	

			do{
				printf_s("Spielmodus: 3 S%ctze bis jeweils 5 [6] %c %c 1 Match bis 11 [7] --> ",132,17,16); modus=_getche();
				if(modus=='6'){count1=-1;count2=-1;}   // AUSWAHL DER ZÄHLWEISE DES SPIELS
				if(modus=='7'){count1=0;count2=0;}
				printf_s("\r \r");
			}while(modus!='6' && modus!='7');
			for(int i=0; i<=80; i++)p
				rintf_s("\r%*c",i,linekiller);     // LETZTE ZEILE LÖSCHEN

			printf_s("Spielstart [s] --> "); 
		}

        start=_getche();   // EINGABE S FÜR START WIRD ABGEWARTET;

		if(start=='s'||start=='S'){
			control=-1; direction=1; upDown=0;  // control REGELT VORGÄNGE IN field() UND playermove(); direction KOORDINIERT DIE BALLRICHTUNGEN in ballmove()

			// SPIELVERLAUF
			// EINE RUNDE LÄUFT SO LANGE BIS DER LINKE ODER RECHTE SPIELRAND ERREICHT WURDE
			for(xBall=XMIDDLE+1; xBall<XVALUE-2 && xBall>3; xBall++){
				Sleep(speed); // DAS MUSS REIN! COMPILER DEBUGGING IST OFT NICHT ORIGINAL SPEED! exe-DATEI OFFENBART DEN WAHREN SPEED!!
				// PAUSE
				if(GetAsyncKeyState(0x42)||weiter==1){
					if(modus=='7')
						printf_s("\n\n\nKURZE Pause!! Ball bewegt sich nur langsamer! Wenn r dann Konzentration! ^^");
					if(modus=='6')
						printf_s("KURZE Pause!! Ball bewegt sich nur langsamer! Wenn r dann Konzentration! ^^");
					weiter=1;Sleep(10000);}
				// PAUSE WIRD AUFGEHOBEN
				if(GetAsyncKeyState(0x52)){
					weiter=0;Sleep(speed);
					if(modus=='7')
						printf_s("\r \r");
						for(int i=0; i<=80; i++)
							printf_s("\r%*c",i,linekiller);} // LöSCHEN DER PAUSEINFO
				// NEUES MATCH
				if(GetAsyncKeyState(0x4E)){
					// ZURÜCKSETZTEN ALLER GAMEVARIABLEN
					for(int i=0; i<=4; i++){
						counter2[i]=' ';
						counter1[i]=' ';
					}
					count1=-1; count2=-1; config=1; satz1=0; satz2=0; modus='0';
					break;
				}
				// GAME WIRD GESCHLOSSEN
				if(GetAsyncKeyState(0x43)){
					close=0;
					break;
				}
				// FüR BALLVERLAUF IN X-RICHTUNG
				if(direction==1||direction==2||direction==3){
					ballmove(xBall, d, uD);      // BEWEGUNG DES BALLES
					playermove(control);         // BEWEGUNG DER SPIELER
					field(control, modus, counter1, counter2, count1, count2);
				}
				
				// FÜR BALLVERLAUF IN -X RICHTUNG
				if(direction==-1||direction==-2||direction==-3){
					xBall-=2;
					ballmove(xBall, d, uD);      // BEWEGUNG DES BALLES
					playermove(control);         // BEWEGUNG DER SPIELER
					field(control, modus, counter1, counter2, count1, count2);
				}
			control=0;
			}

			//SPIELSTÄNDE
			// 3 SÄTZE BIS 5
			if(modus=='6'){
				// SPIELSTAND
				if(xBall>XVALUE-5 && count1<5 && config==0){
					count1++;
					if(count1<4)
						counter1[count1]=1;
				}

				if(xBall<4 && count2<5 && config==0){
					count2++;
					if(count2<4)
						counter2[count2] = 1;
				}
				// field() MUSS AUFGERUFEN WERDEN; DAMIT ES DIE LETZTEN COUNTER-WERTE NOCH MITBEKOMMT BEVOR SIE GELÖSCHT WERDEN!!
				field(control, modus, counter1, counter2, count1, count2);
					if(count1==4)
						satz1++;
					if(count2==4)
						satz2++;
					// BEI SIEG ZURÜCKSETZTEN ALLER WERTE
					for(int i=0; i<=4 ; i++){
						counter2[i]=' ';
						counter1[i]=' ';
					}
					if(satz1==2){
						system("cls");
						printf_s("\n\n\n\n\n\n\n       Spieler 1 hat gewonnen!!!");
						PlaySoundA("winner3.wav",NULL,SND_ASYNC);
						Sleep(5000);
						config=1;
						modus='0';
						satz1=0;
						satz2=0;
					}
					if(satz2==2){
						system("cls");
						printf_s("\n\n\n\n\n\n\n       Spieler 2 hat gewonnen!!!");
						PlaySoundA("winner3.wav",NULL,SND_ASYNC);
						Sleep(5000);
						config=1;
						modus='0';
						satz2=0;
						satz1=0;
					}
					count1=-1;
					count2=-1;
			}

			// 1 MATCH BIS 11
			if(modus=='7'){
				//SPIELSTAND
				if(xBall>XVALUE-5 && count1<11 && config==0)
					count1++;
				if(xBall<4 && count2<11 && config==0)
					count2++;
				// field() MUSS AUFGERUFEN WERDEN; DAMIT ES
				field(control, modus, counter1, counter2, count1, count2);
				if(count1==11||count2==11){
					system("cls");
					// BEI SIEG ZURÜCKSETZTEN ALLER WERTE
					if(count1==11){
						printf_s("\n\n\n\n\n\n\n       Spieler 1 hat gewonnen!!!");
						PlaySoundA("winner3.wav",NULL,SND_ASYNC);
					}
					if(count2==11){
						printf_s("\n\n\n\n\n\n\n       Spieler 2 hat gewonnen!!!");
						PlaySoundA("winner3.wav",NULL,SND_ASYNC);
					}
					Sleep(5000);
					count1=0;count2=0;config=1;
				}
				
			}
		}

		fflush(stdin); 
		xBall=0; 
		control=1;
		system("cls");

	}while(close);

	return 0;
}
// SORGT FÜR DIE BEWEGUNG DES BALLES
int ballmove(int Ball,int *direction,int *upDown){
	
	playingField[YMIDDLE][XMIDDLE]=' '; // LÖSCHT STARTBALL IN MITTE MIT LEERZEICHEN

	// ERSTELLEN DER MITTELLINIE MUSS NACH JEDEM DURCHLAUF PASSIEREN; DA BEIM ÜBERQUEREN IMMER GELÖSCHT WIRD
	for(int i=0; i<YVALUE; i++){
		playingField[i][XMIDDLE]='|';
	}

	// ANWEISUNGEN FÜR DIE GRENZSTELLE x=XVALUE-5 -> Schläger2-Ball-Konfrontation
	if(playingField[YMIDDLE+*upDown][Ball+1]==16 && Ball==XVALUE-5){ // WENN BALL-> SCHLÄGER 2
		PlaySoundA("pong.wav",NULL,SND_ASYNC);
		if(playingField[YMIDDLE+*upDown-1][Ball+1]==' '){            // WENN BALL VON VORNE/UNTEN -> SCHLÄGER2 OBERE HÄLFTE
			*direction=-2;Ball--;    // BEDINGUNG FÜR RÜCKWÄRTS-HOCH FOLGEBÄLLE
			playingField[YMIDDLE+*upDown][Ball+1]=' ';               // ÜBERSCHREIBT LETZTEN BALL DER VORHERIGEN BEWEGUNG MIT LEERZEICHEN
		}else
		if(playingField[YMIDDLE+*upDown+1][Ball+1]==' '){           // WENN BALL VON VORNE/OBEN -> SCHLÄGER2 UNTERE HÄLFTE
			*direction=-3; Ball--;  // BEDINGUNG FÜR RÜCKWÄRTS-RUNTER FOLGEBÄLLE
			playingField[YMIDDLE+*upDown][Ball+1]=' ';   // ÜBERSCHREIBT LETZTEN BALL DER VORHERIGEN BEWEGUNG MIT LEERZEICHEN
		}else
		if(playingField[YMIDDLE+*upDown+1][Ball+1]==16 && playingField[YMIDDLE+*upDown-1][Ball+1]==16){ // WENN BALL VON VORNE/UNTEN/OBEN -> SCHLÄGER2 MITTE
			*direction=-1; Ball--; // BEDINGUNG FÜR RÜCKWÄRTS-GERADEAUS FOLGEBÄLLE
			playingField[YMIDDLE+*upDown][Ball+1]=' '; // ÜBERSCHREIBT LETZTEN BALL DER VORHERIGEN BEWEGUNG MIT LEERZEICHEN
		}
	} 

	// ANWEISUNGEN FÜR DIE GRENZSTELLE x=3 -> Schläger1-Ball-Konfrontation
	if(playingField[YMIDDLE+*upDown][Ball-1]==17 && Ball==3){       // WENN BALL -> SCHLÄGER1
		PlaySoundA("pong.wav",NULL,SND_ASYNC);
		if(playingField[YMIDDLE+*upDown-1][Ball-1]==' '){           // WENN BALL VON VORNE/UNTEN -> SCHLÄGER1 OBEN
			*direction=2;	// BEDINGUNG FÜR GERADEAUS-HOCH FOLGEBÄLLE
		}else
		if(playingField[YMIDDLE+*upDown+1][Ball-1]==' '){           // WENN BALL VON VORNE/OBEN -> SCHLÄGER1 UNTEN
			*direction=3;   // BEDINGUNG FÜR GERADEAUS-RUNTER
		}else
		if(playingField[YMIDDLE+*upDown+1][Ball-1]==17 && playingField[YMIDDLE+*upDown-1][Ball-1]==17){ // WENN BALL VON VORNE/UNTEN/OBEN -> SCHLÄGER1 MITTE
			*direction=1; Ball++; // BEDINGUNG FÜR GERADEAUS
			playingField[YMIDDLE+*upDown][Ball-1]=' ';              // ÜBERSCHREIBT LETZTEN BALL DER VORHERIGEN BEWEGUNG MIT LEERZEICHEN
		}
	}

	// FOLGENDE If's SORGEN FÜR ALLE RÜCKWÄRTSBEWEGUNGEN (RÜCKWÄRTS-GERADE;RÜCKWÄRTS-HOCH;RÜCKWÄRTS-RUNTER)
	// RÜCKWARTS-HOCH
	if(*direction==-2){
		*upDown-=1;Ball--;
		playingField[YMIDDLE+*upDown+1][Ball+1]=' ';                // LÖSCHT ALTEN BALL MIT LEERZEICHEN
		playingField[YMIDDLE+*upDown][Ball]=1;                      // SCHREIBT EINEN BALL EINE X/Y STELLE ZURÜCK
        if(*upDown==-YMIDDLE/*playingField[YMIDDLE+upDown][Ball]==playingField[0][Ball]*/){ // FALLS SPIELRAND OBEN
			PlaySoundA("pong.wav",NULL,SND_ASYNC);
			*direction=-3;*upDown-=1;Ball++;
		}
	}

	// RÜCKWÄRTS-RUNTER
	if(*direction==-3){
		*upDown+=1;Ball--;
		playingField[YMIDDLE+*upDown-1][Ball+1]=' ';     // LÖSCHT ALTEN BALL MIT LEERZEICHEN
		playingField[YMIDDLE+*upDown][Ball]=1;           // SCHREIBT EINEN BALL EINE X STELLE ZURÜCK UND EINE Y STELLE VOR
		if(playingField[YMIDDLE+*upDown+1][Ball]==playingField[YVALUE][Ball]){ // FALLS SPIELRAND UNTEN
			PlaySoundA("pong.wav",NULL,SND_ASYNC);
			*direction=-2;
		}
	}

	// RÜCKWÄRTS-GERADEAUS
	if(*direction==-1){
		Ball--;
		playingField[YMIDDLE+*upDown][Ball+1]=' ';   // LÖSCHT ALTEN BALL MIT LEERZEICHEN
		playingField[YMIDDLE+*upDown][Ball]=1;       // SCHREIBT EINEN BALL EINE X STELLE ZURÜCK
	}

	// FOLGENDE if's SORGEN FÜR ALLE VORWÄRTSBEWEGUNGEN (VORWÄRTS-HOCH;VORWÄRTS-RUNTER;FORWÄRTS-GERADE)
	// FORWÄRTS-HOCH
	if(*direction==2){
		*upDown-=1;Ball++;
		playingField[YMIDDLE+*upDown+1][Ball-1]=' ';    // LÖSCHT ALTEN BALL MIT LEERZEICHEN
		playingField[YMIDDLE+*upDown][Ball]=1;          // SCHREIBT EINEN BALL EINE X/Y STELLE VOR
        if(*upDown==-YMIDDLE/*playingField[YMIDDLE+upDown][Ball]==playingField[0][Ball]*/){ // FALLS SPIELRAND OBEN
			PlaySoundA("pong.wav",NULL,SND_ASYNC);
			*direction=3;*upDown-=1;Ball--;
		}
	}

	// FORWÄRTS-RUNTER
	if(*direction==3){
		*upDown+=1;Ball++;
		playingField[YMIDDLE+*upDown-1][Ball-1]=' ';   // LÖSCHT ALTEN BALL MIT LEERZEICHEN
		playingField[YMIDDLE+*upDown][Ball]=1;         // SCHREIBT EINEN BALL EINE X/Y-STELLE VOR
		if(playingField[YMIDDLE+*upDown+1][Ball]==playingField[YVALUE][Ball]){// FALLS SPIELRAND UNTEN
			PlaySoundA("pong.wav",NULL,SND_ASYNC);
			*direction=2;
		}
	}

	// SORGT FÜR DIE GERADEAUSBEWEGUNG BEI START UND SCHLÄGER1-MITTE
	if(*direction==1){
		playingField[YMIDDLE+*upDown][Ball]=1;         // SCHREIBT EINEN NEUEN BALL EINE X-STELLE WEITER
		playingField[YMIDDLE+*upDown][Ball-1]=' ';     // ÜBERSCHREIBT ALTEN BALL MIT LEERZEICHEN
	}
	return 0;
}
Example #12
0
bool doPlaySound(const std::string &soundfile)
{	
	return PlaySoundA(soundfile.c_str(), NULL, SND_FILENAME | SND_ASYNC) == TRUE ? true : false;
}
Example #13
0
void PlatformCore::PlayMusicFile(const char *fileName)
{
	PlaySoundA(fileName, NULL, SND_FILENAME | SND_LOOP | SND_ASYNC); 
}
Example #14
0
Explosion::Explosion(const short _x, const short _y, const bool _sound)
: Entity(EXPLOSION, _x - 2, _y - 2, 4, 5, GRAPHIC, 0x0C), disappear_time(time(nullptr) + 1)
{
    if (_sound) PlaySoundA("audio/mew.wav", 0, SND_ASYNC | SND_NODEFAULT); // A little cheeky but meh.
}