在C语言中衡量时间并在游戏中执行动作

时间:2018-09-24 04:16:16

标签: c game-physics

我正在尝试使用conio开发C来创建ascii接口的游戏。

我必须控制迷宫中的英雄并找到出口,避开敌人。

每个敌人应该每1秒执行一次移动。

但是我不知道如何实现对英雄的控制以及对每个敌人的移动的控制(每1秒)。

是否可以在不使用线程的情况下执行此操作?

1 个答案:

答案 0 :(得分:2)

time_t last_time_moved = 0;
time_t delay = 1;
int user_input;

for(;;) { // in your game loop
    time_t now = time(NULL); // check for the current time

    // ...

    if(_kbhit()) {
        user_input = _getch();

        // act on user input
    }

    // ...

    if(now > (last_time_moved + delay)) {

        // move your enemies

        last_time_moved = time(NULL);
    }

    // ...
}