Снегопад в окне - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Нужно написать код, чтобы в появившемся окне падал снег. Заранее спасибо.

Решение задачи: «Снегопад в окне»

textual
Листинг программы
int main(int argc, char *argv[])
{
    int i,t;
    char s[2001]="";
    
    srand(time(NULL));
    for(i=0;i<2000;i++) s[i]=' ';
    for(i=0;i<250;i++) s[rand()%2000]='*';
    do
    {
        puts(s);
        t=time(NULL);
        while(!(time(NULL)-t));
        for(i=1999;i>79;i--) s[i]=s[i-80];
        for(i=0;i<80;i++) s[i]=' ';
        for(i=0;i<10;i++) s[rand()%80]='*';
    }while(!kbhit());
  
    system("PAUSE");    
    return 0;
}

Объяснение кода листинга программы

  1. Объявлены переменные: — i, t (для цикла) — s (строка)
  2. Задается начальное значение для s (2000 пробелов)
  3. Задается начальное значение для srand (используется текущее время)
  4. Выводится строка s на экран (с помощью функции puts)
  5. Задается начальное значение для t (текущее время)
  6. В цикле, пока время не изменится (с помощью функции time), происходит вывод строки s на экран
  7. В цикле, сдвигая строку s влево на 80 символов, удаляются 10 символов с правого края
  8. В цикле, на 10 случайных позициях (из 80) в строке s ставится символ '*'
  9. Проверяется наличие нажатий клавиш (с помощью функции kbhit)
  10. При отсутствии нажатий клавиш, программа повторяет пункты 4-9
  11. Показывается сообщение Press any key to continue
  12. Возвращается 0 (код завершения программы)

Оцени полезность:

14   голосов , оценка 4.214 из 5
Похожие ответы