【发布时间】:2018-01-02 13:07:59
【问题描述】:
我尝试创建条形图,但输出只是条形图,我想像视觉均衡器一样上下移动条形图,但我不知道具体的代码。有人知道吗?
这是一张图片:
我的尝试:
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <stdlib.h>
#include <graphics.h>
void main(){
int gd = DETECT, gm;
initgraph(&gd,&gm, “D:\\TC\\BGI”);
randomize();
int x = 100;
int y,a;
setfillstyle(2,GREEN);
do{
delay(100);
y = random(150);
if ((200-y) >=a){
setfillstyle(2,BLACK);
bar (x,200-y,x+20,a);
}
else {
bar (x,200,x+20,200-y);
}
a = 200-y;
}
while(!kbhit());
getch();
closegraph();
}
【问题讨论】:
-
加上
random输入,这将很难实现。因为如果不初始化每帧种子,它会闪烁很多,并且它会是静态的。为了平滑模拟,您可以在开始时创建一组随机正弦波,然后每帧对其进行迭代......另一种选择是使用您当前的实现并随着时间的推移在状态之间进行插值......