#include<bits/stdc++.h>
#include<math.h>
#include<windows.h>
#include<time.h>
#include<stdlib.h>
using namespace std;
void SetColor(unsigned short ForeColor,unsigned short BackGroundColor); //颜色函数 1深蓝 2草绿 3浅蓝 4大红 5暗紫 6橘黄 7粉白 8淡灰 9天蓝…
void progress(); //模拟进度条
void jumpdown(int ); //跳转 窗体行数
void menu(int ); //菜单边界
void love(int ,char *); //爱心绘制
//函数声明
int main()
{
system(“mode con cols=80 lines=30”); //设置窗体长宽大小
std::cout<<"Loding..."<<std::endl;Sleep(1500);
progress();
SetColor(2,0);//绿色
printf("\nLoading Completed\n");Sleep(1500);
SetColor(1,0);//蓝色
cout<<"Starting Main System..."<<endl;Sleep(4000);
SetColor(9,0);//蓝色
cout<<"All Is Ready"<<endl;Sleep(1000);
system("cls");
jumpdown(30);
SetColor(7,0);
std::cout<<"来看“星星 ”";
Sleep(2000);
system("cls");
do //do...while(1)的循环体
{
system("color 0B"); //青色
menu(2);//绘制上边框
Sleep(10);
printf("\n\t\t\t你可以在键盘上敲入很小的正整数哦\n");Sleep(10); //菜单
printf("\n\t\t\t每个序号都代表一颗心星\n");Sleep(10);
printf("\n\t\t\t使用0 2 5组成的三位数来退出\n\n");
menu(2);//绘制下边款
system("color 0A"); //绿色 视觉上提示菜单绘制完成
printf("\n\t\t\t"); //调整输入位置
srand(time(NULL)); //更改 rand () 函数种子
int n;cin>>n; //输入操作数
if(n>0&&n<10);else goto door; //操作数约束条件,不满足则跳转重新输入 door:传送门
system("cls");
switch(n) //
{
case 1:
{
system("color 0b");
char word[]="Love";
love(4,word);
printf("画好啦! ");system("pause");
break;
}
case 2:
{
system("color 0C");//红色
char word[]="IΘYou";
love(6,word);
printf("哇哦!是心“动”的感觉.. ");system("pause");
break;
}
case 3:
{
system("color 0e");//黄色
char word[]="LoveYou";
love(7,word);
printf("画好啦! ");system("pause");
break;
}
case 4:
{
jumpdown(30);
std::cout<<"13 14 520 我不会4心的! ";
system("pause");
break;
}
case 5:
{
system("color 0C");//红色
char word[]="Love";
love(0,word);
printf("画好啦! (随机数)");system("pause");
break;
}
case 6:
{
char word[]="Love";
love(-1,word);
SetColor(15,0);
printf("画好啦! ");system("pause");
break;
}
case 7:
{
system("color 0e");
jumpdown(30);
std::cout<<"我可以做你的N朋友么?? "; // N 表示 “男 ”或者“女 ”
system("pause");
break;
}
case 8:
{
jumpdown(30);
std::cout<<"答应我吧,给你买8848冰心手机!! ";
system("pause");
break;
}
case 9:
{
jumpdown(30);
std::cout<<"后面没有啦! 我等着你的答案";
system("pause");
break;
}
case 520:
{
jumpdown(30);
std::cout<<"嘻嘻,5120!!";//表示我也爱你!
system("pause");
return 5120; //结束程序
}
case 250:
{
jumpdown(30);
std::cout<<"不要总这样说自己啦! ";//玩笑反击 250
system("pause");
break;
}
default: //非法字符
{
door: //goto 语句传送门
system("color 0e");
jumpdown(30);
std::cout<<"嗯?? "; //提示输入错误
system("pause");
break;
}
}
getchar();
system("cls");
}while(1);
}
void SetColor(unsigned short ForeColor,unsigned short BackGroundColor) //颜色函数定义
{
HANDLE hCon=GetStdHandle(STD_OUTPUT_HANDLE); //Windows API 函数,获取标准输出缓冲区句柄
SetConsoleTextAttribute(hCon,(ForeColor%16)|(BackGroundColor%16*16)); //设置控制台窗口字体颜色和背景色
return ;
}
void progress() //模拟进度条
{
for(int i=1;i<=80;i++) //模拟进度条
{
if(i==80)std::cout<<"\b";
SetColor(0,25); //蓝色
printf(" “);
printf(”%2.0f%%",1.25*i);
Sleep(90-i); //延时
printf("\b\b\b");
}
}
void menu(int times) //打印菜单边界
{
for(int i=0;i<=56;i++)
{
if(i>=20)
{
printf("*");Sleep(10);
}
else printf(" “);
}
printf(”\n");
while(–times)menu(times);
return ;
}
void jumpdown(int lines) //跳转 窗体行数
{
for(int i=1;i<=lines;i++)
{
std::cout<<std::endl;
}
return ;
}
void love(int digital,char word) //爱心绘制
{
int s=0;
for(float x=1.3;x>=-1.1;x-=0.1) //画爱心 x轴 y轴 控制
{
for(float y=-2;y<=1.4;y+=0.053)
{
if(pow(xx+yy-1,3)-xxxy*y<=0)
{
s++; //控制循环打印单词
if(digital>0)
{
if(s%digital1)printf("%c",word[0]); //第一个字符
if(s%digital2)printf("%c",word[1]); // …
if(s%digital3)printf("%c",word[2]); //…
if(s%digital4)printf("%c",word[3]);
if(s%digital5)printf("%c",word[4]);
if(s%digital6)printf("%c",word[5]);
if(s%digital7)printf("%c",word[6]);
if(s%digital8)printf("%c",word[7]);
if(s%digital9)printf("%c",word[8]);
if(s%digital0)printf("%c",word[digital-1]);
}
if(digital0)printf("%d",rand()%10);//随机数
if(digital-1) //随机数
{
SetColor(0,rand()%6+10);
printf(" “);
}
Sleep(2);
}
else
{
if(digital==-1)
SetColor(0,0);
printf(” “);
}
}
printf(”\n");
}
return ;
}