用c语言编程一个爱心可以跳动可以变颜色
时间: 2024-05-13 22:16:24 浏览: 190
下面是一个简单的用C语言实现爱心跳动和变色的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
#include <time.h>
void setConsoleSize(int width, int height) {
char cmd[30];
sprintf(cmd, "mode con cols=%d lines=%d", width, height);
system(cmd);
}
void setColor(int color) {
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, color);
}
void gotoxy(int x, int y) {
COORD pos = {x, y};
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hConsole, pos);
}
void drawHeart(int x, int y, int color) {
setColor(color);
gotoxy(x, y);
printf(" ** **");
gotoxy(x, y + 1);
printf(" **** ****");
gotoxy(x, y + 2);
printf("**********");
gotoxy(x, y + 3);
printf(" ********");
gotoxy(x, y + 4);
printf(" ******");
gotoxy(x, y + 5);
printf(" ****");
gotoxy(x, y + 6);
printf(" **");
}
int main() {
setConsoleSize(80, 30);
srand(time(NULL)); // 初始化随机数生成器
int x = 35, y = 10, color = 0;
int dx = 1, dy = 1, dc = 1;
while (1) {
drawHeart(x, y, color);
Sleep(50); // 等待50毫秒
drawHeart(x, y, 0); // 擦除原来的爱心
x += dx;
y += dy;
color += dc;
if (x == 5 || x == 65) dx = -dx;
if (y == 2 || y == 23) dy = -dy;
if (color == 15 || color == 1) dc = -dc;
}
return 0;
}
```
这个程序使用了Windows API中的一些函数,可以在Windows下运行。它会在控制台中不停地跳动一个爱心,并且会不停地变换颜色。你可以自己尝试修改代码,调整爱心的位置、颜色和跳动的速度。
阅读全文