Время по модулю, чтобы получить секунды, минуты, часы и т.д. - PullRequest
1 голос
/ 12 августа 2011

Я пытаюсь построить обратный отсчет, который состоит из четырех разделов:

, которые будут отображаться следующим образом:

0 0: 0 0

минут десять минут: секунд-секунд

У меня есть _secs, работающий ниже, _tensecs поднимается до 9, что не годится.

int seconds;
int _secs;
int _tensecs;
int _mins;
int _tenmins;

-(void) tick: (ccTime) dt
{
    seconds++; 

    _secs = seconds % 10;
    _tensecs = (seconds / 10) % 10;  // wrong
    _mins = seconds // ??
    _m_tenminsins = seconds // ??
}

Ответы [ 3 ]

3 голосов
/ 12 августа 2011

Что ж, если % 10 дает вам значения, которые доходят до 9, что, по вашему мнению, нужно модулировать, чтобы получить значения, которые доходят до 5?

1 голос
/ 12 августа 2011

Я не знаю Objective-C, но это должно делать то, что вы хотите:

int seconds;
int _secs;
int _tensecs;
int _mins;
int _tenmins;

-(void) tick: (ccTime) dt
{
    seconds--; 

    _secs = seconds % 60;
    _tensecs = _secs / 10;
    _secs = _secs % 10;

    _mins = seconds / 60;
    _tenmins = _mins / 10;
    _mins = _mins % 10;
}

Это предполагает, что seconds положительно, и вы ведете обратный отсчет. Если вы действительно хотите, чтобы оно было отрицательным и считалось, как вы, кажется, указываете, то измените на:

    seconds++;

    _secs = abs(seconds) % 60;

...

    _mins = abs(seconds) / 60;

...
0 голосов
/ 18 августа 2011
 _secs = seconds % 10;
 _tensecs = (seconds / 10) % 6;
 _mins = (seconds / 60) % 10;
 _tenmins = (seconds / 600) % 6;
...