Форум программистов, компьютерный форум CyberForum.ru

Проблемы с анимацией - C++

Восстановить пароль Регистрация
 
Антон21
Сообщений: n/a
11.05.2013, 11:04     Проблемы с анимацией #1
Здравствуйте уважаемые форумчане! Помогите пожалуйста с курсовой работой. C++ изучаю совсем недавно и с анимацией пока не встречался. Объясните пожалуйста последствием написания комментариев последовательность работы кода
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <Windows.h>
 #include <iostream>
 using namespace std;
 
 int main()
 {
 HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
 
 SetConsoleTextAttribute(hStdout, BACKGROUND_BLUE + //голубой цвет фона
 BACKGROUND_INTENSITY + //увеличиваем яркость фона
 FOREGROUND_BLUE + //смешиваем цвета RGB для получения бе-го цвета
 FOREGROUND_INTENSITY + //увеличение яркости цвета
 FOREGROUND_RED + //смешиваем цвета RGB для получения бе-го цвета
 FOREGROUND_GREEN); //смешиваем цвета RGB для получения бе-го цвета
 
 
 
 const char Snow = 15; //делаем снежинку
 
 CONSOLE_SCREEN_BUFFER_INFO csbi;
 GetConsoleScreenBufferInfo(hStdout, &csbi);
 
 const int WindowWidth = csbi.srWindow.Right - csbi.srWindow.Left +1;
 const int WindowHeight = csbi.srWindow.Bottom - csbi.srWindow.Top +1;
 
 for (int i = 0; i < WindowWidth * WindowHeight; i++)
 cout << " ";
 
 COORD orig = {0, 0};
 
 SetConsoleCursorPosition(hStdout, orig);
 
 COORD snowflake[1000];
 
 for (int i = 0; i < WindowWidth; i++)
 {
 snowflake[i].X = i;
 snowflake[i].Y = rand() % WindowHeight;
 }
 
 while (true)
 {
 for (int i = 0; i < WindowWidth; i++)
 {
 SetConsoleCursorPosition(hStdout, snowflake[i]);
 cout << ' ';
 
 snowflake[i]. Y++;
 
 if (snowflake[i].Y == WindowHeight)
 snowflake[i].Y = 0;
 
 SetConsoleCursorPosition(hStdout, snowflake[i]);
 cout << Snow;
 }
 
 SetConsoleCursorPosition(hStdout, orig);
 Sleep(200);
 
 }
 
 return 0;
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2013, 11:04     Проблемы с анимацией
Посмотрите здесь:

C++ Проблемы с gets
проблемы c codeBlocks 10.05 C++
C++ Проблемы с наследованием
C++ проблемы с ООП
Проблемы с C++ C++
C++ Проблемы с наследованием
C++ Проблемы с программой
Проблемы с компиляцией C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11827 / 6806 / 769
Регистрация: 27.09.2012
Сообщений: 16,878
Записей в блоге: 2
Завершенные тесты: 1
11.05.2013, 11:25     Проблемы с анимацией #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <Windows.h>
 #include <iostream>
 using namespace std;
 
 int main()
 {
 HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
 
 //Устанавливаем атрибуты текста(цвета фона(BACKGROUND) и символов(FOREGROUND)):
 SetConsoleTextAttribute(hStdout, BACKGROUND_BLUE + //голубой цвет фона
 BACKGROUND_INTENSITY + //увеличиваем яркость фона
 FOREGROUND_BLUE + //смешиваем цвета RGB для получения бе-го цвета
 FOREGROUND_INTENSITY + //увеличение яркости цвета
 FOREGROUND_RED + //смешиваем цвета RGB для получения бе-го цвета
 FOREGROUND_GREEN); //смешиваем цвета RGB для получения бе-го цвета
 
 
 
 const char Snow = 15; //делаем снежинку(символ с кодом 15)
 
 CONSOLE_SCREEN_BUFFER_INFO csbi;
 GetConsoleScreenBufferInfo(hStdout, &csbi);//Получаем информацию о буфере
 
 const int WindowWidth = csbi.srWindow.Right - csbi.srWindow.Left +1;//Считаем ширину экранного буфера на экране
 const int WindowHeight = csbi.srWindow.Bottom - csbi.srWindow.Top +1;//Считаем высоту экранного буфера на экране
 
 for (int i = 0; i < WindowWidth * WindowHeight; i++)//Заполняем пробелами всю консоль
 cout << " ";
 
 COORD orig = {0, 0};
 
 SetConsoleCursorPosition(hStdout, orig);//Устанавливаем позицию курсора ввода в координаты orig(0,0)
 
 COORD snowflake[1000];//Массив снежинок
 
 for (int i = 0; i < WindowWidth; i++)
 {
     //Устанавливаем координаты снежинок:
 snowflake[i].X = i;
 snowflake[i].Y = rand() % WindowHeight;
 }
 
 while (true)//Бесконечный цикл для отрисовки
 {
 for (int i = 0; i < WindowWidth; i++)
 {
 SetConsoleCursorPosition(hStdout, snowflake[i]);//Устанавливаем позицию курсора в точку со снежинкой
 cout << ' ';//"Очищаем" это место
 
 snowflake[i]. Y++;//Изменяем координаты снежинки(двигаем вниз)
 
 if (snowflake[i].Y == WindowHeight)//Проверяем улетела снежинка "вниз за экран" или нет
 snowflake[i].Y = 0;//Если улетела, то меняем y-координату(перемещаем в самый вверх)
 
 SetConsoleCursorPosition(hStdout, snowflake[i]);//Устанавливаем курсор в новую позицию снежинки
 cout << Snow;//Выводим снежинку
 }
 
 SetConsoleCursorPosition(hStdout, orig);//Устанавливаем позицию курсора ввода в координаты orig(0,0)
 Sleep(200);//Задержка 200 миллисекунд
 
 }
 
 return 0;
 }
Yandex
Объявления
11.05.2013, 11:25     Проблемы с анимацией
Ответ Создать тему
Опции темы

Текущее время: 22:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru