我有循环,它会在矩阵中产生下降效果。我在矩阵的第一行和秋天生成数字。
#include <stdio.h>
#include <stdbool.h>
#include <Windows.h>
void hra(){
.....
do {
for(int i = V; i > 0; i--) {
for(int j = 0; j < S; j++) {
mat1[i][j] = mat1[i - 1][j];
}
}....}
}
但现在太快了。当我使用Sleep()时,它会减慢一切(用户输入等...) 有没有办法只减慢这个循环(并逐渐使它更快)?
// 对不起我应该提到用户看到下降的数字并且必须与它们交互(数字落在矩阵的底部,它们被存储或者被用户擦除)。所以我希望他们能够&#34;跌倒&#34;慢慢地让用户可以看到它们并决定他想要或不想要哪些。 V是10和S 4。
答案 0 :(得分:1)
您正在寻找的解决方案是多线程。让主线程做计算,让另一个线程做图形,第三个线程处理用户输入。
答案 1 :(得分:0)
usleep()
需要一些时间(以微秒为单位)作为参数,您可以将变量作为值,然后递减它。每个例子,如果你想减慢这个:
for(int i = V; i > 0; i--)
你可以添加:
usleep(x * i);
在里面。 (其中x是你想要的任何东西。)随意使用任何你想要选择的方程式减速。