[главная] | [каталоги]






создан: 2015-11-02 23:02:47
пользователь: cloud раздел: программирование
[17956]
отрисовка последовательности с задержкой окружности C
под консолью, рисовать последовательность с задержкой окружность, цвет границ разные (рандомные), подключить API, без разницы какой язык C C++ Исаков Андрей Алексеевич vk.com/cl0oud
#define _WIN32_WINNT 0x0500 // функция WinAPI для работы GetConsoleWindow
#include <graphics.h> // рисует функции графиков
#include <iostream>
//#include <windows.h>
#include <stdlib.h> /* srand, rand */
int main(){
int ws = 80; // размер
int delay_time = 1200; // задержка
//POINT op;
HWND hWnd=GetConsoleWindow(); //получаем дескриптор окна консоли
HDC hDC=GetDC(hWnd); //получаем контекст устройства по полученному дескриптору
SelectObject(hDC,GetStockObject(DC_BRUSH)); //выбираем перо WHITE_PEN (default) в контекст или же DC_BRUSH - меняем в другие цвета через SetDCBrushColor
SetDCBrushColor(hDC, RGB(190,190,190)); // белый
//SetDCBrushColor(hDC, RGB(0,0,0)); // чёрный
//SetDCBrushColor(hDC, RGB(255,0,0)); // красный
//system("color F0"); // цвет консоли, белый
int gr = 2; // краница кругов
int kr = 7;
for(int i=0;i<=kr;i++){
SetDCBrushColor(hDC, RGB(rand(),rand(),rand())); // белый
Ellipse(hDC, ws*i, ws, ws*(i+1), 0); SetDCBrushColor(hDC, RGB(0,0,0)); Ellipse(hDC, (ws*i)+gr, ws-gr, (ws*(i+1))-gr, gr); delay(delay_time);
} // рисуем круги
ReleaseDC(hWnd,hDC); //"освобождаем" контекст, выходим по завершению
//std::cin.get(); // ожидать ввода пользователем символы, т.е разрешаем вводить символы
return 0;
}