Как реализовать простой движок на основе тиков в C ++?

Я пишу текстовую игру, и мне нужна простая боевая система, как в MUD , вы даете команды, и время от времени происходит «галочка», когда все эти команды выполняются, игрок и монстры наносят урон, происходят самые разные вещи. Как мне реализовать эту концепцию? Я пишу текстовую игру, и мне нужна простая боевая система, например, в MUD вы отдаете команды, и время от времени происходит «галочка», когда все эти команды выполняются, игрок и монстры наносят урон, происходит много разных вещей. Как мне реализовать эту концепцию? Я пишу текстовую игру, и мне нужна простая боевая система, например, в MUD вы отдаете команды, и время от времени происходит «галочка», когда все эти команды выполняются, игрок и монстры наносят урон, происходит много разных вещей. Как мне реализовать эту концепцию? Я думал о создании переменной, которая хранит время последнего тика, и функции, которая просто помещает события в стек и, когда это время (время + x), выполняет их все одновременно. Есть ли для этого более простой или более чистый вариант?

Какой возможный синтаксис для этого?

double lastTickTime;
double currentTime;

void eventsPile(int event, int target)
{
// how do i implement stack of events? And send them to execute() when time is up?
}

void execute(int event, int target)
{
     if ((currentTime - lastTickTime) == 2)
     {
         eventsHandler(event, target);
     }    
     else 
     { // How do I put events on stack?
     }
}
6
задан Infinite Recursion 18 June 2014 в 15:38
поделиться