安徽科技学院 信网学院网络文化节 王武彬

#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(x
x+yy-1,3)-xxxy*y<=0)
{
s++; //控制循环打印单词
if(digital>0)
{
if(s%digital1)printf("%c",word[0]); //第一个字符
if(s%digital
2)printf("%c",word[1]); // …
if(s%digital3)printf("%c",word[2]); //…
if(s%digital
4)printf("%c",word[3]);
if(s%digital5)printf("%c",word[4]);
if(s%digital
6)printf("%c",word[5]);
if(s%digital7)printf("%c",word[6]);
if(s%digital
8)printf("%c",word[7]);
if(s%digital9)printf("%c",word[8]);
if(s%digital
0)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 ;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值