首页 > 解决方案 > 用 C 语言在游戏中测量时间和做动作

问题描述

我正在尝试使用 conio 用 C 语言开发一个游戏来创建一个 ascii 界面。

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

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

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

不使用线程可以做到这一点吗?

标签: cgame-physics

解决方案


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);
    }

    // ...
}

推荐阅读