Я пробую свои силы в создании MUD (многопользовательской интерактивной игровой игры)
Я нахожусь в фазе проектирования / концептуализации и столкнулся с проблемой, для которой не могу найти решение. Я надеюсь, что некоторые более опытные программисты будут иметь несколько советов.
Вот проблема, насколько я могу объяснить. Когда игрок решает выполнить действие, он отправляет команду на сервер. Затем сервер обрабатывает команду, определяет, может ли действие быть выполнено, и либо выполняет его, либо отвечает с указанием причины, по которой это не может быть выполнено. Одна из причин, по которой действие может потерпеть неудачу, заключается в том, что игрок занят чем-то другим. Например, если игрок находится в середине боя и только что ударил массивным широким мечом, может пройти 3 секунды, прежде чем он сможет повторить это действие. Если игрок попытается снова размахнуться в ближайшее время, игра ответит, указывая, что он должен подождать x секунд, прежде чем сделать это. Теперь это я, вероятно, могу разработать без особых проблем. У меня проблема в том, как я могу воспроизвести это поведение от искусственных существ. Все события, которые выполняются сервером ПО СВОЕМУ СОБСТВЕННОМУ, иначе говоря, не как немедленная реакция на то, что сделал игрок, должны быть чувствительными ко времени. Какой-то злой монстр наложил на вас заклинание, но должен подождать 30 секунд, прежде чем делать это снова ... Я думаю, что, вероятно, я добавлю все эти события в какую-то очередь событий, но как я могу сделать эту очередь событий чувствительной ко времени?