用c语言写一个跳动的爱心粒子代码
时间: 2024-05-24 19:06:50 浏览: 279
当然可以!下面是一个用C语言编写的跳动的爱心粒子代码的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define WIDTH 80
#define HEIGHT 20
void delay(int milliseconds) {
clock_t start_time = clock();
while (clock() < start_time + milliseconds);
}
int main() {
int x, y;
int heart[HEIGHT][WIDTH] = {0};
// 初始化爱心图案
for (y = 0; y < HEIGHT; y++) {
for (x = 0; x < WIDTH; x++) {
float dx = (x - WIDTH / 2) / (float)(WIDTH / 2);
float dy = (y - HEIGHT / 2) / (float)(HEIGHT / 2);
float d = dx * dx + dy * dy;
if (d >= 0.75 && d <= 1.25) {
heart[y][x] = 1;
}
}
}
// 跳动的爱心粒子效果
while (1) {
system("clear"); // 清屏(适用于Linux和MacOS,Windows下可使用system("cls"))
// 随机生成爱心位置
x = rand() % (WIDTH - 2) + 1;
y = rand() % (HEIGHT - 2) + 1;
// 绘制爱心粒子
for (int i = y - 1; i <= y + 1; i++) {
for (int j = x - 1; j <= x + 1; j++) {
if (heart[i][j] == 1) {
printf("*");
} else {
printf(" ");
}
}
printf("\n");
}
delay(500); // 延时500毫秒
}
return 0;
}
```
这段代码使用了二维数组来表示爱心图案,并通过随机生成的位置来实现跳动的效果。每次循环都会清屏并绘制新的爱心粒子,然后延时500毫秒。你可以在终端中运行该代码,观察跳动的爱心粒子效果。
阅读全文