beep system



  • juhuu^^ hab das programm fertig sogar mitn intigierten lied "Popcorn" xD hier is download link und source:

    http://filebeam.de/temp/Tingles_Sound_Pad.exe

    #include "stdafx.h"
    using namespace std;
    
    #define C 65
    #define D 73
    #define E 82
    #define F 87
    #define G 99
    #define A 110
    #define H 123
    #define Cs 70
    #define Ds 78
    #define Fs 92
    #define Gs 104
    #define As 117
    
    int main()
    {
    	int a;
    	int b;
    	int c;
    	b = 150;
    	a = 1;
    	c = 1;
    	cout << "---------------------------" << endl;
    	cout << "---- Tingles Sound Pad ----" << endl;
    	cout << "---------- v3.05 ----------" << endl << endl;
    	cout << "Keys:" << endl << endl;
    	cout << "ESC - Exit" << endl << endl;
    	cout << "F1 - Short Tone" << endl;
    	cout << "F2 - Normal Tone" << endl;
    	cout << "F3 - Long Tone" << endl;
    	cout << "F4 - Very Long Tone" << endl;
    	cout << "F5 - Extra Long Tone" << endl << endl;
    	cout << "F6 - Octav 2 and 3" << endl;
    	cout << "F7 - Octav 4 and 5" << endl;
    	cout << "F8 - Octav 6 and 7" << endl << endl;
    	cout << "F9 - Play Popcorn Song" << endl << endl << endl << endl;
    	while (_kbhit() && a || 1)
    	{
    		switch(_getch ())
    		{
    		case 27:
    			cout << "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bExiting... Good bye               ";
    			Sleep(2000);
    			return 0;
    			break;
    		case 59:
    			b = 50;
    			cout << "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bSet to Short Tone               ";
    			break;
    		case 60:
    			b = 150;
    			cout << "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bSet to Normal Tone               ";
    			break;
    		case 61:
    			b = 250;
    			cout << "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bSet to Long Tone               ";
    			break;
    		case 62:
    			b = 350;
    			cout << "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bSet to Very Long Tone               ";
    			break;
    		case 63:
    			b = 450;
    			cout << "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bSet to Extra Long Tone               ";
    			break;
    		case 64:
    			c = 1;
    			cout << "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bSet to Octav 2 and 3              ";
    			break;
    		case 65:
    			c = 4;
    			cout << "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bSet to Octav 4 and 5               ";
    			break;
    		case 66:
    			c = 16;
    			cout << "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bSet to Octav 6 and 7               ";
    			break;
    		case 67:
    			cout << "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bPlaying Popcorn Song               ";
    				Beep(H*c,b);
    				Sleep(100);
    				Beep(A*c,b);
    				Sleep(100);
    				Beep(H*c,b);
    				Sleep(100);
    				Beep(Fs*c,b);
    				Sleep(100);
    				Beep(D*c,b);
    				Sleep(100);
    				Beep(Fs*c,b);
    				Sleep(100);
    				Beep(62*c,b);
    				Sleep(300);
    				Beep(H*c,b);
    				Sleep(100);
    				Beep(A*c,b);
    				Sleep(100);
    				Beep(H*c,b);
    				Sleep(100);
    				Beep(Fs*c,b);
    				Sleep(100);
    				Beep(D*c,b);
    				Sleep(100);
    				Beep(Fs*c,b);
    				Sleep(100);
    				Beep(62*c,b);
    				Sleep(300);
    				Beep(H*c,b);
    				Sleep(100);
    				Beep(Cs*2*c,b);
    				Sleep(100);
    				Beep(D*2*c,b);
    				Sleep(100);
    				Beep(Cs*2*c,b);
    				Sleep(100);
    				Beep(D*2*c,b);
    				Sleep(100);
    				Beep(H*c,b);
    				Sleep(100);
    				Beep(Cs*2*c,b);
    				Sleep(100);
    				Beep(H*c,b);
    				Sleep(100);
    				Beep(Cs*2*c,b);
    				Sleep(100);
    				Beep(A*c,b);
    				Sleep(100);
    				Beep(H*c,b);
    				Sleep(100);
    				Beep(A*c,b);
    				Sleep(100);
    				Beep(Fs*c,b);
    				Sleep(100);
    				Beep(H*c,b);
    				Sleep(100);
    				cout << "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bPopcorn Song stoped               ";
    				break;
    		case 121:
    			Beep(65*c,b);
    			break;
    		case 115:
    			Beep(69*c,b);
    			break;
    		case 120:
    			Beep(73*c,b);
    			break;
    		case 100:
    			Beep(78*c,b);
    			break;
    		case 99:
    			Beep(82*c,b);
    			break;
    		case 118:
    			Beep(87*c,b);
    			break;
    		case 103:
    			Beep(92*c,b);
    			break;
    		case 98:
    			Beep(99*c,b);
    			break;
    		case 104:
    			Beep(104*c,b);
    			break;
    		case 110:
    			Beep(110*c,b);
    			break;
    		case 106:
    			Beep(117*c,b);
    			break;
    		case 109:
    			Beep(123*c,b);
    			break;
    		case 113:
    			Beep(130*c,b);
    			break;
    		case 50:
    			Beep(139*c,b);
    			break;
    		case 119:
    			Beep(147*c,b);
    			break;
    		case 51:
    			Beep(156*c,b);
    			break;
    		case 101:
    			Beep(165*c,b);
    			break;
    		case 114:
    			Beep(175*c,b);
    			break;
    		case 116:
    			Beep(196*c,b);
    			break;
    		case 54:
    			Beep(208*c,b);
    			break;
    		case 122:
    			Beep(220*c,b);
    			break;
    		case 55:
    			Beep(233*c,b);
    			break;
    		case 117:
    			Beep(247*c,b);
    			break;
    		case 53:
    			Beep(185*c,b);
    			break;
    		default:
    			cout << "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bUnknow Key...               ";
    		}
    	}
    	return 0;
    }
    


  • #define C 65
    #define D 73
    #define E 82
    #define F 87
    #define G 99
    #define A 110
    #define H 123
    #define Cs 70
    #define Ds 78
    #define Fs 92
    #define Gs 104
    #define As 117
    //geht, aber besser:
    namespace Toene
    {
    const unsigned char C (65); //konstanter 8bit großer positiver int mit dem wert 65
    /*rest...*/
    }
    
    int a;
    int b;
    int c;
    b = 150;
    a = 1;
    c = 1;
    //geht zwar, aber:
    int a (1); //brauchst du gar nicht ^^
    int b (150);
    int c (1);
    
    cout << "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bExiting... Good bye               ";
    return 0;
    //naja...
    cout << endl << "Exiting... Good bye";
    return 0;
    //geht wohl nicht?
    //ist auch KEINE gute lösung aber ich find sie besser, als die jetzige ^^:
    SYSTEM ("CLS"); //konsole ist leer, aber besser, du guckst ma bei improved console vorbei
    cout << "Exit... Bye";
    return 0;
    
    case 67:
                cout << "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bPlaying Popcorn Song               ";
                    Beep(H*c,b);
                    Sleep(100);
    //...
                    Sleep(100);
                    cout << "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bPopcorn Song stoped               ";
                    break;
    

    wie wärs statt dessen so?

    void PopcornSong (void)
    {
                    cout << "Playing Popcorn Song";
                    Beep(H*c,b);
                    Sleep(100);
    //...
                    Sleep(100);
                    cout << "Popcorn Song stopped"; //doppel p dachte ich ^^
    }
    
    case 67:
      PopcornSong ();
      break;
    

    ist doch ein wenig übersichtlicher, oder? ^^

    while (_kbhit() && a || 1)
    {
    //entweder, ich habs übersehen, oder du nutzt nirgendwo a...
    }
    //=>
    while (_kbhit ())
    {
    //...
    }
    

    noch bissl was allgemeines:

    Beep (D*2*c,b); //sieht zwar vll ne schlecht aus, aber ich fänds so besser:
    
    /*ich weiß jz nicht, was Beep als ersten Parameter erwartet - ich nehm mal DWORD an...*/
    
    const DWORD getTone (const unsigned char ton, const unsigned char oktave)
    /*
    könnte man auch noch in den Namespace Toene mit packen - oder sollte ^^
    ReturnValue: 1. Parameter von Beep
    ton: eben der ton an sich ^^
    oktave: relative Angabe zur "normalen" Oktave?
     (also 0 für normale Oktave, -1 für eine tiefer etc? kA, aber fände es so übersichtlicher)
    */
    {
    //ich kenn die rechnung nicht - hab keine Ahnung von allem, was mit Musik zu tun hat ; )
    }
    
    //also als Aufruf dann so:
    Beep (getTone (Toene::C, act_okt), laenge);
    //du nimmst also statt c den act_okt und b statt laenge
    


  • nuja ^^ funtzt ja alles :> man kann lustige melodien damit machen 😛 allerdings gibt es eine andere möglichkeit einen text bzw zeile zu ersetzen auser ganz viele \b zu benutzten 😛



  • Wie gesagt: Hier gibts nen forum namens improved console - frag dort mal nach ^^ Aber wäre es denn so schlimm, die Zeile dazulassen und dann einfach eine weiter unten zu schreiben? 😕

    Es funtzt zwar alles, aber ich find es nicht schön und doch ein wenig unübersichtlich 😛

    Nun ja - damit wars das wo erst mal ^^
    bb 🙂


Anmelden zum Antworten