Игра для iPhone Проверка выписки каждые 50 баллов - PullRequest
1 голос
/ 10 апреля 2010

Я столкнулся с небольшим препятствием и хотел посмотреть, сможет ли кто-нибудь мне помочь!

Я хочу написать алгоритм для оператора if, который говорит:

if (for every 50 points)
{
//do something
}

Я думал, что + = 50 добьется цели, но нет.

Есть идеи?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 10 апреля 2010
if ((points % 50) == 0)
{
  // do something
}

Где points - это переменная типа int, содержащая ваши точки. Оператор if будет введен для точек 0, 50, 100, 150 .. и т. Д.

1 голос
/ 10 апреля 2010
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; Таким образом, тест, который выполняется (предположительно) на каждой итерации игрового цикла, не включает в себя вычитание.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...