各位,今天我們用C語言來秀一把,給大家帶來一個會自動變色的心:
怎麼樣,效果還可以吧!
其實這個實現的原理還是比較簡單的,爲了讓窗口別跟控制檯那樣難看,我調用了system函數對窗口的大小、顏色和標題進行了設置,心形的繪製和變色主要是通過for循環實現的,繪製心形是代碼中第一個大的for循環,比較簡單就不說了,而顏色的變化主要是通過下面兩行代碼控制的,不同數字代表不同的顏色,不斷循環即可!
for (time = 0; time<99999999; time++);
system("color 1");
話不多說,上源碼:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#define I 20
#define R 340
#include <string.h>
int main()
{
system("mode con cols=80 lines=35");//設置窗口大小
system("color 84"); //設置窗口顏色
system("title 難以抑制的心");//設置標題
char answer[10];
printf("輸入love,你可以看到我的真心\n");
scanf("%s", answer);
float y, x, z, f;
for (y = 1.5f; y > -1.5f; y -= 0.1f)
{
for (x = -1.5f; x < 1.5f; x += 0.05f)
{
z = x * x + y * y - 1;
f = z * z*z - x * x*y*y*y;
putchar(f <= 0.0f ? "*********"[(int)(f*-8.0f)] : ' ');
}
putchar('\n');
}
long time;
for (;;)
{
system("color a");
for (time = 0; time<99999999; time++);
system("color b");
for (time = 0; time<99999999; time++);
system("color c");
for (time = 0; time<99999999; time++);
system("color d");
for (time = 0; time<99999999; time++);
system("color e");
for (time = 0; time<99999999; time++);
system("color f");
for (time = 0; time<99999999; time++);
system("color 0");
for (time = 0; time<99999999; time++);
system("color 1");
for (time = 0; time<99999999; time++);
system("color 2");
for (time = 0; time<99999999; time++);
system("color 3");
for (time = 0; time<99999999; time++);
system("color 4");
for (time = 0; time<99999999; time++);
system("color 5");
for (time = 0; time<99999999; time++);
system("color 6");
for (time = 0; time<99999999; time++);
system("color 7");
for (time = 0; time<99999999; time++);
system("color 8");
for (time = 0; time<99999999; time++);
system("color 9");
}
getchar();
return 0;
}
這裏有一點提醒一下:代碼要求輸入love進行心形的顯示,爲了方便簡單同時避免輸錯不顯示的問題,我省略了對輸入內容檢查的代碼,也就是說隨便輸什麼都會顯示心形,有興趣的可以自己加上輸入檢測,也比較簡單。
當然,別誤會,會變色的心不是讓你們變心,而是祝各位以後的愛情五彩斑斕,猶如夏花之絢爛。
如果你想要獲取更多C語言、C++、Window以及QT的知識!筆者有一個C語言/C++編程零基礎入門學習交流俱樂部(點擊進入),還有編程學習文件(源碼,零基礎教程,項目實戰教學視頻),歡迎初學者和正在進階中的小夥伴們!