if (points - lastCheckpoint >= 50)
{
// do something
lastCheckpoint = points - (points % 50);
}
Начните с int lastCheckpoint = 0;
во время настройки, и это поможет.
Предостережение: если очки увеличиваются на 100 или более между проверками, // do something
будет срабатывать только один раз.
Если вы хотите, чтобы это происходило для каждых 50 баллов, независимо от этого, вы можете изменить оператор приращения на lastCheckpoint += 50;
, хотя это рискует points
опередить lastCheckpoint
.
Редактировать: это будет более эффективно:
if (points > nextCheckpoint)
{
// do something
nextCheckpoint = 50 + points - (points % 50);
}
Начните с int nextCheckpoint = 50;
Таким образом, тест, который выполняется (предположительно) на каждой итерации игрового цикла, не включает в себя вычитание.