用C语言写一个可变色的动态的爱心代码
时间: 2024-05-01 20:17:58 浏览: 13
当然,下面是C语言版的,你可以在你的编程环境中运行它:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char* colors[] = {"\033[0;31m", "\033[0;32m", "\033[0;33m", "\033[0;34m", "\033[0;35m", "\033[0;36m"};
char* endColor = "\033[0m";
char* str[] = {
" ** ** ",
" **** **** ",
" ************* ",
" **************** ",
"******************",
" **************** ",
" ************* ",
" **** **** ",
" ** ** "
};
int strSize = sizeof(str)/sizeof(*str);
int colorSize = sizeof(colors)/sizeof(*colors);
int endIndex = colorSize;
int index = 0;
int direction = 1;
while(1) {
printf("\033[2J");
printf("\033[1;1H");
for(int i = 0; i < strSize; i++) {
if(i == 4) {
printf("%s%s%s", colors[index], str[i], endColor);
} else {
printf("%s%s%s\n", colors[endIndex], str[i], endColor);
}
}
if(direction == 1) {
if(index == colorSize - 1) {
direction = 0;
} else {
index++;
}
} else {
if(index == 0) {
direction = 1;
} else {
index--;
}
}
fflush(stdout);
usleep(250000);
}
return 0;
}
```
这段代码可以打印出一个跳动的彩色爱心。每250毫秒,颜色会发生变化,不断循环变化。不过,需要注意,这段代码只在UNIX系统中有效。