私はテキスト ゲームを書いていますが、単純な戦闘システムが必要です。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?
}
}