语言c减慢循环

时间:2015-10-30 13:27:27

标签: c for-loop

我有循环,它会在矩阵中产生下降效果。我在矩阵的第一行和秋天生成数字。

#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。

2 个答案:

答案 0 :(得分:1)

您正在寻找的解决方案是多线程。让主线程做计算,让另一个线程做图形,第三个线程处理用户输入。

答案 1 :(得分:0)

usleep()需要一些时间(以微秒为单位)作为参数,您可以将变量作为值,然后递减它。每个例子,如果你想减慢这个:

for(int i = V; i > 0; i--)

你可以添加:

usleep(x * i);

在里面。 (其中x是你想要的任何东西。)随意使用任何你想要选择的方程式减速。