Теперь я объясню, почему использование одного вечного цикла в игре является, как минимум, хорошим решением с точки зрения оптимизации и не только:
- Оптимизация. Цикл один для всех игроков, что означает, что если цикл выполняет 1 действие каждые 20 тиков с одним игроком, то с 50 игроками в игре также будет 1 действие в 20 тиков.
- Экономия места и удобство. Данный цикл занимает всего одну строку кода и способен одновременно выполнять несколько задач, таких как обновление скорборда, наигранное время, задержка чата и т.д. При этом он будет использовать примерно 15 действий, независимо от онлайна в игре.
Именно поэтому все кодеры отказываются от вечных циклов, да? Юзай что хочешь, мне то какое дело, но твой код все равно мусор с точки зрения программирования: что если игроки будут стоять в афк или просто не писать ничего в чат? М? К тому же, а толку от твоего цикла для всех игроков, если по правилам он запускается все равно личный для каждого? Насчет второго пункта, ну запихни в if'ы несколько действий, будет тебе таймер многофункциональный.
Объясню первое, если ты запускаешь цикл от лица одного игрока, а потом выбираешь всех игроков и производишь с ними действия, то по логике оно сначало выбирает первого игрока - производит действие, выбирает второго - производит действие и так далее, так что смысла от твоего вечного цикла ровно 0.
Оптимизирует он код через вечный цикл, ага, поверил...