//代码在知乎找到的
#include<stdio.h>
#include<math.h>
#include<windows.h>
#include<time.h>
#include<stdlib.h>
void SetColor(unsigned short ForeColor, unsigned short BackGroundColor)
{
HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hCon, (ForeColor % 16) | (BackGroundColor % 16 * 16));
}
int main()
{
float x, y;
int s = 0, n, i, j;
for (i = 1;i <= 50;i++)
{
SetColor(0, 14);
printf(" ");
printf("%d%%", 2 * i);
Sleep(101 - 1 * i);
printf("");
}
SetColor(15, 0);
printf(" 加载完成!即将进入:");
Sleep(2000);
system("cls");
do
{
system("color 0E");
for (i = 0;i <= 56;i++)
{
if (i >= 20) { printf("*");Sleep(10); }
else printf(" ");
}printf(" ");
for (i = 0;i <= 56;i++)
{
if (i >= 20) { printf("*");Sleep(10); }
else printf(" ");
}
printf(" 你想要怎样的心形: ");
printf(" 1:由love组成的心形! ");
printf(" 2:由随机字符组成的心形! ");
printf(" 3:由随机数字组成的心形! ");
printf(" 4:由随机颜色组成的心形! ");
printf(" 5:退出! ");
for (i = 0;i <= 56;i++)
{
if (i >= 20) { printf("*");Sleep(10); }
else printf(" ");
}printf(" ");
for (i = 0;i <= 56;i++)
{
if (i >= 20) { printf("*");Sleep(10); }
else printf(" ");
}
printf(" ");
srand(time(NULL));
scanf_s("%d", &n);
system("cls");
switch (n)
{
case 1:
for (x = 1.3;x >= -1.1;x -= 0.1)
{
for (y = -2;y <= 1.4;y += 0.053)
{
if (pow(x * x + y * y - 1, 3) - x * x * x * y * y <= 0)
{
s++;
if (s % 4 == 1)printf("l");
if (s % 4 == 2)printf("o");
if (s % 4 == 3)printf("v");
if (s % 4 == 0)printf("e");
Sleep(2);
}
else
printf(" ");
}
printf(" ");
}
printf("绘制完成,按任意键返回主页面!");break;
case 2: for (x = 1.3;x >= -1.1;x -= 0.1)
{
for (y = -2;y <= 1.4;y += 0.053)
{
if (pow(x * x + y * y - 1, 3) - x * x * x * y * y <= 0)
{
printf("%c", rand() % 10 + rand() % 10 + 97);
Sleep(2);
}
else
printf(" ");
}
printf(" ");
}
printf("绘制完成,按任意键返回主页面!");break;
case 3:for (x = 1.3;x >= -1.1;x -= 0.1)
{
for (y = -2;y <= 1.4;y += 0.053)
{
if (pow(x * x + y * y - 1, 3) - x * x * x * y * y <= 0)
{
printf("%d", rand() % 10);
Sleep(2);
}
else
printf(" ");
}
printf(" ");
}
printf("绘制完成,按任意键返回主页面!");break;
case 4: for (x = 1.3;x >= -1.1;x -= 0.1)
{
for (y = -2;y <= 1.4;y += 0.053)
{
if (pow(x * x + y * y - 1, 3) - x * x * x * y * y <= 0)
{
SetColor(0, rand() % 6 + 10);
printf(" ");
Sleep(2);
}
else
{
SetColor(0, 0);
printf(" ");
}
}
printf(" ");
}
SetColor(15, 0);
printf("绘制完成,按任意键返回主页面!");break;
default:break;
}
//getch();
system("cls");
} while (n != 5);
}