🗊 Презентация Цикл while. Enum. Обработка нажатия клавиши. Таймер

Нажмите для полного просмотра!
Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №1 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №2 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №3 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №4 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №5 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №6 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №7 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №8 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №9 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №10 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №11 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №12 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №13 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №14 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №15 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №16 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №17 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №18 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №19 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №20 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №21 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №22 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №23 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №24 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №25 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №26 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №27 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №28 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №29 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №30 Цикл while. Enum. Обработка нажатия клавиши. Таймер, слайд №31

Содержание

Вы можете ознакомиться и скачать презентацию на тему Цикл while. Enum. Обработка нажатия клавиши. Таймер. Доклад-сообщение содержит 31 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Основы программирования ФИСТ 1 курс Власенко Олег Федосович Лекция 5 Цикл while. Enum. Обработка нажатия клавиши. Таймер. Делаем простую игру - 2.
Описание слайда:
Основы программирования ФИСТ 1 курс Власенко Олег Федосович Лекция 5 Цикл while. Enum. Обработка нажатия клавиши. Таймер. Делаем простую игру - 2.

Слайд 2


«Полет самолета» - координаты и отрисовка // ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ – координаты самолета int plane_x = 0; int plane_y = 100; // Функция отрисовки...
Описание слайда:
«Полет самолета» - координаты и отрисовка // ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ – координаты самолета int plane_x = 0; int plane_y = 100; // Функция отрисовки самолета void DrawPlane(HDC hdc) { MoveToEx(hdc, plane_x + 50, plane_y, NULL); LineTo(hdc, plane_x - 50, plane_y); LineTo(hdc, plane_x - 70, plane_y - 20); MoveToEx(hdc, plane_x - 50, plane_y + 30, NULL); LineTo(hdc, plane_x, plane_y); LineTo(hdc, plane_x - 50, plane_y - 30); }

Слайд 3


«Полет самолета» - вызов отрисовки LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { … case...
Описание слайда:
«Полет самолета» - вызов отрисовки LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { … case WM_PAINT: { PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd, &ps); // TODO: Добавьте сюда любой код прорисовки DrawPlane(hdc); EndPaint(hWnd, &ps); } break;

Слайд 4


Ручное изменение высоты самолета case WM_KEYDOWN: switch (wParam) { case VK_UP: plane_y -= 20; InvalidateRect(hWnd, NULL, TRUE); break; case VK_DOWN:...
Описание слайда:
Ручное изменение высоты самолета case WM_KEYDOWN: switch (wParam) { case VK_UP: plane_y -= 20; InvalidateRect(hWnd, NULL, TRUE); break; case VK_DOWN: plane_y += 20; InvalidateRect(hWnd, NULL, TRUE); break; } break;

Слайд 5


Timer – автоматический полет самолета (!!!) LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { …...
Описание слайда:
Timer – автоматический полет самолета (!!!) LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { … case WM_CREATE: SetTimer(hWnd, 1, 100, 0); break; case WM_TIMER: plane_x += 20; InvalidateRect(hWnd, NULL, TRUE); break;

Слайд 6


Enum: Перечисления (Перечисляемый тип) Перечисление состоит из набора именованных целочисленных констант. Синтаксис enum identifier { enumerator-list...
Описание слайда:
Enum: Перечисления (Перечисляемый тип) Перечисление состоит из набора именованных целочисленных констант. Синтаксис enum identifier { enumerator-list } Пример enum cardsuit { CLUBS, DIAMONDS, HEARTS, SPADES };

Слайд 7


Enum: Перечисления (Перечисляемый тип) Состояния самолета enum State { IN_STOCK, IN_FLIGHT, DESTROYED }; State plane_state = IN_FLIGHT;
Описание слайда:
Enum: Перечисления (Перечисляемый тип) Состояния самолета enum State { IN_STOCK, IN_FLIGHT, DESTROYED }; State plane_state = IN_FLIGHT;

Слайд 8


Цикл с предусловием while while (Условие) { Действие; }
Описание слайда:
Цикл с предусловием while while (Условие) { Действие; }

Слайд 9


Задача: ввести число. Найти сумму его цифр. Ввод: 34 Вывод: 7 Ввод: 1023 Вывод: 6 Ввод: 9876 Вывод: 30
Описание слайда:
Задача: ввести число. Найти сумму его цифр. Ввод: 34 Вывод: 7 Ввод: 1023 Вывод: 6 Ввод: 9876 Вывод: 30

Слайд 10


Задача: ввести число. Найти сумму его цифр.
Описание слайда:
Задача: ввести число. Найти сумму его цифр.

Слайд 11


Задача: ввести число. Найти сумму его цифр. void main() { int number; scanf("%d", &number); int s = 0; // Вычисляем сумму цифр while...
Описание слайда:
Задача: ввести число. Найти сумму его цифр. void main() { int number; scanf("%d", &number); int s = 0; // Вычисляем сумму цифр while (number > 0) { // остаток от деления на 10 это последняя // цифра числа. Например: 129 % 10 = 9 int digit = number % 10; // к сумме добавляем только что полученную цифру s = s + digit; // отбрасываем последнюю цифру числа // Например: 129 / 10 = 12 number = number / 10; } printf("s=%d\n", s); }

Слайд 12


Задача: ввести число. Найти сумму его цифр. ТРАССИРОВКА! Ввод: 10235 Вывод: 11
Описание слайда:
Задача: ввести число. Найти сумму его цифр. ТРАССИРОВКА! Ввод: 10235 Вывод: 11

Слайд 13


Делаем игру «Меткий зенитчик»
Описание слайда:
Делаем игру «Меткий зенитчик»

Слайд 14


Константы и подключаемые файлы
Описание слайда:
Константы и подключаемые файлы

Слайд 15


Функция WndProc (1)
Описание слайда:
Функция WndProc (1)

Слайд 16


Функция WndProc (2)
Описание слайда:
Функция WndProc (2)

Слайд 17


Функция WndProc (3)
Описание слайда:
Функция WndProc (3)

Слайд 18


Модель (глобальные данные) (1) // Глобальные переменные: … // самолет-мишень int plane_x = 0; int plane_y = 100; int plane_vx = 10; int plane_vy = 0;...
Описание слайда:
Модель (глобальные данные) (1) // Глобальные переменные: … // самолет-мишень int plane_x = 0; int plane_y = 100; int plane_vx = 10; int plane_vy = 0; //int plane_state = 1; // 1 - in flight, 2 - destroyed enum State { IN_STOCK, IN_FLIGHT, DESTROYED }; State plane_state = IN_FLIGHT;

Слайд 19


Модель (глобальные данные) (2) // пуля int bullet_x = 430; int bullet_y = 445; int bullet_vx = 0; int bullet_vy = 0; //int state = 0; // 0 - in...
Описание слайда:
Модель (глобальные данные) (2) // пуля int bullet_x = 430; int bullet_y = 445; int bullet_vx = 0; int bullet_vy = 0; //int state = 0; // 0 - in stock, 1 - in flight, 2 - destroyed State bullet_state = IN_STOCK;

Слайд 20


Модель (глобальные данные) (3) // зенитное орудие double alpha = M_PI * 3.0 / 2.0; // направление стрельбы - СТРОГО ВВЕРХ
Описание слайда:
Модель (глобальные данные) (3) // зенитное орудие double alpha = M_PI * 3.0 / 2.0; // направление стрельбы - СТРОГО ВВЕРХ

Слайд 21


Зенитное орудие - отрисовка void DrawCannon(HDC hdc) { HPEN hPen = CreatePen(PS_SOLID, 3, RGB(0, 0, 255)); SelectObject(hdc, hPen); MoveToEx(hdc,...
Описание слайда:
Зенитное орудие - отрисовка void DrawCannon(HDC hdc) { HPEN hPen = CreatePen(PS_SOLID, 3, RGB(0, 0, 255)); SelectObject(hdc, hPen); MoveToEx(hdc, 400, 450, NULL); LineTo(hdc, 600, 450); Arc(hdc, 450, 400,550, 500, 550,450, 450, 450); int r1 = 50; int r2 = 70; int x1 = 500 + (int)(cos(alpha) * r1); int x2 = 500 + (int)(cos(alpha) * r2); int y1 = 450 + (int)(sin(alpha) * r1); int y2 = 450 + (int)(sin(alpha) * r2); MoveToEx(hdc, x1, y1, NULL); LineTo(hdc, x2, y2); }

Слайд 22


Зенитное орудие - управление void MoveCannonRight() { if (alpha < M_PI * 1.95) alpha += M_PI / 20; } void MoveCannonLeft() { if (alpha > M_PI * 1.05)...
Описание слайда:
Зенитное орудие - управление void MoveCannonRight() { if (alpha < M_PI * 1.95) alpha += M_PI / 20; } void MoveCannonLeft() { if (alpha > M_PI * 1.05) alpha -= M_PI / 20; }

Слайд 23


Зенитное орудие - выстрел void ShotCannon() { if (bullet_state != IN_STOCK) return; int r2 = 70; int x2 = 500 + (int)(cos(alpha) * r2); int y2 = 450...
Описание слайда:
Зенитное орудие - выстрел void ShotCannon() { if (bullet_state != IN_STOCK) return; int r2 = 70; int x2 = 500 + (int)(cos(alpha) * r2); int y2 = 450 + (int)(sin(alpha) * r2); int vr = 10; int vx = (int)(cos(alpha) * vr); int vy = (int)(sin(alpha) * vr); bullet_x = x2; bullet_y = y2; bullet_vx = vx; bullet_vy = vy; bullet_state = IN_FLIGHT; }

Слайд 24


Самолет - отрисовка void DrawPlane(HDC hdc) { HPEN hPen = NULL; if (plane_state == IN_FLIGHT) hPen = CreatePen(PS_SOLID, 10, RGB(255, 0, 0)); if...
Описание слайда:
Самолет - отрисовка void DrawPlane(HDC hdc) { HPEN hPen = NULL; if (plane_state == IN_FLIGHT) hPen = CreatePen(PS_SOLID, 10, RGB(255, 0, 0)); if (plane_state == DESTROYED) hPen = CreatePen(PS_SOLID, 10, RGB(255, 255, 0)); SelectObject(hdc, hPen); MoveToEx(hdc, plane_x + 50, plane_y, NULL); LineTo(hdc, plane_x - 50, plane_y); LineTo(hdc, plane_x - 70, plane_y - 20); MoveToEx(hdc, plane_x - 50, plane_y + 30, NULL); LineTo(hdc, plane_x, plane_y); LineTo(hdc, plane_x - 50, plane_y - 30); }

Слайд 25


Самолет – проверка попадания в int InsidePlane(int plane_x, int plane_y, int x, int y) { if (x < plane_x - 50) return 0; if (x > plane_x + 50) return...
Описание слайда:
Самолет – проверка попадания в int InsidePlane(int plane_x, int plane_y, int x, int y) { if (x < plane_x - 50) return 0; if (x > plane_x + 50) return 0; if (y < plane_y - 20) return 0; if (y > plane_y + 20) return 0; return 1; }

Слайд 26


Самолет – перемещение и уничтожение void MovePlane() { plane_x += plane_vx; plane_y += plane_vy; } void DestroyPlane() { plane_state = DESTROYED; }
Описание слайда:
Самолет – перемещение и уничтожение void MovePlane() { plane_x += plane_vx; plane_y += plane_vy; } void DestroyPlane() { plane_state = DESTROYED; }

Слайд 27


Пуля – отрисовка, перемещение и уничтожение void DrawBullet(HDC hdc) { if (bullet_state == DESTROYED) return; HPEN hPen = CreatePen(PS_SOLID, 3,...
Описание слайда:
Пуля – отрисовка, перемещение и уничтожение void DrawBullet(HDC hdc) { if (bullet_state == DESTROYED) return; HPEN hPen = CreatePen(PS_SOLID, 3, RGB(0, 255, 0)); SelectObject(hdc, hPen); Ellipse(hdc, bullet_x - 3, bullet_y - 3, bullet_x + 3, bullet_y + 3); } void MoveBullet() { bullet_x += bullet_vx; bullet_y += bullet_vy; } void DestroyABullet() { bullet_state = DESTROYED; }

Слайд 28


Пуля – проверка контакта пули и самолета void CheckContact() { if (bullet_state == IN_FLIGHT && InsidePlane(plane_x, plane_y, bullet_x, bullet_y)) {...
Описание слайда:
Пуля – проверка контакта пули и самолета void CheckContact() { if (bullet_state == IN_FLIGHT && InsidePlane(plane_x, plane_y, bullet_x, bullet_y)) { DestroyPlane(); DestroyABullet(); } }

Слайд 29


Версия 2.0: Стреляем очередями
Описание слайда:
Версия 2.0: Стреляем очередями

Слайд 30


Домашнее задание Собрать и заставить работать код А) Отрисовки самолета Б) Ручного управления перемещением В) перемещения самолета по таймеру ***...
Описание слайда:
Домашнее задание Собрать и заставить работать код А) Отрисовки самолета Б) Ручного управления перемещением В) перемещения самолета по таймеру *** Собрать игрушку из того, что есть в слайдах *** Поиграться с получившимся кодом – изменить параметры, добавить функционал

Слайд 31


Источники информации Virtual-Key Codes - Работа с таймером - Google.com
Описание слайда:
Источники информации Virtual-Key Codes - Работа с таймером - Google.com



Похожие презентации
Mypresentation.ru
Загрузить презентацию