#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
int love[9][37] = 
{
0,1,1,1,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,
0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,
0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,
0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,
0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,
0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,
0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,
0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,
1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0
};
string s[36]=
{
	"111111111111111111111111111111111111111111",
	"100001000000111111110000100001000011111101",
	"100101000000100000010010110011110010010001",
	"101111111100100000010010110001010011111101",
	"110001000000111111110010110111110000010001",
	"111111111110100000010010110001000010010011",
	"100001000000100000010000100010100000010001",
	"111111111110111111110000100100010000110001",
	"100000000000000000000000000000000000000001",
	"100100100010000000000000100000010000000001",
	"100000010100000000000001000000101000000001",
	"100100111110000000000011110001000100000001",
	"100101111111000000000000100011111110000001",
	"100100010000000000000001000100000001000001",
	"101100101000000000000011110011111110000001",
	"100101000100000000000000110010000010000001",
	"100011111111110000000011000011111110000001",
	"100000000000000000000000000000000000000001",
	"100000010000000000000000000000000000000001",
	"100111111111100000000001000011111110000001",
	"100000010001000000000011111010000010000001",
	"101111111111110000000001010010000010000001",
	"100000010100000000000001111011111111110001",
	"100000011000010000000000100000000000010001",
	"100000111111110000000001000011111111010001",
	"100000000000000000000000000000000001110001",
	"100000000000000000000000000000000000000001",
	"101000000011111111100010000000100111111101",
	"101000000010000000100010000000100100000001",
	"101000000010000000100011000001100100000001",
	"101000000010000000100001100011000111111101",
	"101000000010000000100000100010000100000001",
	"101000000010000000100000110110000100000001",
	"101111111011111111100000011100000111111101",
	"111111111111111111111111111111111111111111"
};
string s2="老妈,不论你的性格是怎样的,是燥,是温,我们都爱你\n\n不论你打扮成什么样子,我们都觉得你是最美的人!!!";
string s1="老妈,在这段时间里,你一直爱着我们,为我们付出了无限多。…………在这个程序里,……我有无数话想说,但也不知道,该怎么说好……只想跟你说,我爱你";
int main()
{
    // 黑框程序标题 
    system ("title 生日快乐!");
    
    // 改变背景颜色和字体颜色
	system ("color 03");  // 黑底,湖蓝色字  
	PlaySound("C:\\hissin1.wav",NULL,SND_ASYNC|SND_LOOP);
	for(int i=0;i<35;i++)
	{
	    for(int j=0;j<42;j++)
	   	{
	   		if(s[i][j]=='1')
	   		{
	   			cout<<'*';
    			Sleep(10);
			}
	    	else
	   		{
	   			cout<<" ";
			}
		}
		cout<<endl;
	}
	
	for(int i=0;i<s1.size();i+=2)
	{
		if(i%42==0)
		{
			cout<<endl;
		}
		cout<<s1[i]<<s1[i+1];
		Sleep(50);
	}
	Sleep(2500);
	system("cls");
	for(int t=65;t!=0;t--)
	{
		for(int i=0;i<t/2+t%2;i++)
		{
			for(int j=0;j<t;j++)
			{
				cout<<"*";
			}
			cout<<endl;
		}
		Sleep(10);	
		system("cls");
	}
	
    cout << "从";
    Sleep (50);
    cout << "从";
    Sleep (50);
    cout << "容";
    Sleep (50);
    cout << "的";
    Sleep (50);
    cout << "走";
    Sleep (50);
    cout << "过";
    Sleep (50);
    cout << "了";
    Sleep (50);
    cout << "最";
    Sleep (50);
    cout << "美";
    Sleep (50);
    cout << "丽";
    Sleep (50);
    cout << "的";
    Sleep (50);
    cout << "岁";
    Sleep (50);
    cout << "月" << endl;
    
    // 无悔的度过了最浪漫的年华 
    system ( "color 72" );
    Sleep (500);
    cout << "无";
    Sleep (50);
    cout << "悔";
    Sleep (50);
    cout << "的";
    Sleep (50);
    cout << "度";
    Sleep (50);
    cout << "过";
    Sleep (50);
    cout << "了";
    Sleep (50);
    cout << "最";
    Sleep (50);
    cout << "浪";
    Sleep (50);
    cout << "漫";
    Sleep (50);
    cout << "的";
    Sleep (50);
    cout << "年";
    Sleep (50);
    cout << "华" << endl;
    
    // 安静的沉没了您的灿烂 
    system ( "color 79" );
    Sleep (500);
    cout << "安";
    Sleep (50);
    cout << "静";
    Sleep (50);
    cout << "的";
    Sleep (50);
    cout << "沉";
    Sleep (50);
    cout << "没";
    Sleep (50);
    cout << "了";
    Sleep (50);
    cout << "您";
    Sleep (50);
    cout << "的";
    Sleep (50);
    cout << "灿";
    Sleep (50);
    cout << "烂" << endl;
    
    // 把最好的留给了我们 
    system ( "color 7B" );
    Sleep (50);
    cout << "把";
    Sleep (50);
    cout << "最";
    Sleep (50);
    cout << "好";
    Sleep (50);
    cout << "的";
    Sleep (50);
    cout << "留";
    Sleep (50);
    cout << "给";
    Sleep (50);
    cout << "了";
    Sleep (50);
    cout << "我";
    Sleep (50);
    cout << "们" << endl;
    Sleep (500);
    
    system ( "color 7E" );
    Sleep (50);
    cout << "生";
    Sleep (50);
    cout << "日";
    Sleep (50);
    cout << "到";
    Sleep (50);
    cout << "了,";
    Sleep (50);
    cout << "祝";
    Sleep (500);
    cout << "美";
    Sleep (500);
    cout << "美";
    Sleep (500);
    cout << "的";
    Sleep (500);
    cout << "老";
    Sleep (500);
    cout << "妈";
    Sleep (500);
    cout << "大";
    Sleep (500);
    cout << "人:" << endl; 
    
    system ( "color 79" );
    Sleep (500);
    cout << "生";
    Sleep (500);
    cout << "日";
    Sleep (500);
    cout << "快";
    Sleep (50);
    cout << "乐,";
    Sleep (500);
    cout << "幸";
    Sleep (500);
    cout << "福";
    Sleep (500);
    cout << "安";
    Sleep (500);
    cout << "康!" << endl << endl;
    Sleep(1000);
	system("cls");
	cout<<"制作:洪烨\n";
	cout<<"图片:洪烨";
	for(int i=0;i<6;i++)
	{
		system("color 10");
		Sleep(100);
		system("color 50");
		Sleep(100);
		system("color 30");
		Sleep(100);
		system("color 40");
		Sleep(100);
		system("color 70");
		Sleep(100);
		system("color 60");
		Sleep(100);
		system("color 20");
		Sleep(100);
		system("color A0");
		Sleep(100);
		system("color E0");
		Sleep(100);
		system("color 80");
		Sleep(100);
		system("color D0");
		Sleep(100);
		system("color C0");
		Sleep(100);
		system("color F0");
		Sleep(100);
		system("color 90");
		Sleep(100);
		system("color B0");
		Sleep(100);
	}
	system("cls");
	for(int i=0;i<s2.size();i+=2)
	{
		cout<<s2[i]<<s2[i+1];
		Sleep(50);
	}
    // 输出 I LOVE U
    Sleep(1000);
	system("cls");
    system ( "color 97" );
    for ( int i = 0; i < 9; i++ ) {
        for ( int j = 0; j < 37; j++ ) {
            if ( love[i][j] == 0 )
                cout << " ";
            else
                cout << "*";
        }
        cout << endl;
        Sleep ( 100 );
    }
    while(1)
    {
    	;
	}
}