Хорошо, это вопрос дизайна больше всего на свете.Я делаю текстовую игру с использованием Ruby on Rails 3, и я не уверен, что это лучший способ реализовать то, что я хочу сделать.В игре пользователь получает кучу гоблинов и может сказать этим гоблинам, что делать.Одним из доступных действий является атака , что, как вы можете предположить, означает, что ваше племя атакует что-то еще, будь то вражеское племя или поселение NPC.
Если вы решите атаковатьпротивоборствующее племя, тогда ваши гоблины отправляются в атаку.Есть время, когда битва начнется (скажем, через 10 минут).Вот вопрос, каков наилучший способ реализовать симуляцию битвы ровно через 10 (или Х) минут в будущем? Потому что, если симуляция будет запущена слишком рано или слишком поздно, тогда весь результатбитвы могут быть изменены тем, что делает противник.
(я знаю, что это немного расплывчато, но для тех из вас, кто играл в Ogame , результаты битвы могут измениться, если симуляциявыполняется секунда слишком рано или поздно.)
Я искал способы реализовать запуск чего-либо в X раз в будущем ( этот эпизод и два предыдущих), но этоне похоже, что он настроен на что-то, что должно быть запущено точно во время X. Я также обратил внимание на таймеры Ruby, но, похоже, нет последовательного, как в java, и они не делают автоматическиданные постоянные.Я тоже надеялся на слабую связь, возможно, используя паттерн наблюдателя.
Итак, у вас это есть.Если я отправлю свою атаку или захочу сделать что-нибудь ровно в время X в будущем, каков наилучший способ сделать это в Ruby on Rails?