Я создаю игру на C на микропроцессоре. Оценка контролируется тем, как долго вы можете выжить; счет увеличивается на 1 раз в 3 секунды. Счет представляет собой целое число, которое объявляется глобально, но отображается из функции.Увеличение целого числа за раз задержка
int score = 0;//globally declared
void draw_score(int score_d)
{
char score_draw[99];
sprintf(score_draw,"%d", score_d);
draw_string(score_draw, 9, 0);
}
Я думал о функции, которая просто увеличивает счет на один с опозданием на него, однако, что не работал.
void score_increaser(int score)
{
score++;
_delay_ms(3000);
}
Нужно ли находиться в замкнутом цикле? сама по себе функция в любом случае будет входить в цикл while.
Хороший ответ, но Wouldn 't '#include' ограничивать использование этого только на платформах Unix? –
WedaPashi
@WedaPashi: «unistd.h» может быть легко заменен любым другим заголовком, предоставляющим прототип для 'alarm()'. То же самое относится к сигнальным материалам. – alk
Несмотря на сложность, это решение будет работать лучше всего в долгосрочной перспективе и быть совместимым с другими работающими функциями. Спасибо. – James