Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:ООП / Задание 01 / Псевдографика / Псевдографика / msoftcon
.h// msoftcon.h
// Объявления функций консольной графики от Lafore
// используются консольные функции Windows
#ifndef _INC_WCONSOLE // этот файл не должен включаться
#define _INC_WCONSOLE // дважды в тот же исходный файл
#include <windows.h> // для консольных функций Windows
#include <conio.h> // для kbhit(), getche()
#include <math.h> // для sin, cos
#include <time.h>
enum fstyle { SOLID_FILL, X_FILL, O_FILL,
LIGHT_FILL, MEDIUM_FILL, DARK_FILL };
enum color {
cBLACK = 0, cDARK_BLUE = 1, cDARK_GREEN = 2, DARK_CYAN = 3,
cDARK_RED = 4, cDARK_MAGENTA = 5, cBROWN = 6, cLIGHT_GRAY = 7,
cDARK_GRAY = 8, cBLUE = 9, cGREEN = 10, cCYAN = 11,
cRED = 12, cMAGENTA = 13, cYELLOW = 14, cWHITE = 15 };
//---------------------------------------------------------
void init_graphics();
void set_color(color fg, color bg = cBLACK);
void set_cursor_pos(int x, int y);
void clear_screen();
void wait(int milliseconds);
void delay(int ms); // аргумент- требуемое время задержки в миллисекундах
void clear_line();
void draw_fill_rectangle(int left, int top, int right, int bottom);
void draw_rectangle(int left, int top, int right, int bottom);
void draw_circle(int x, int y, int rad);
void draw_line(int x1, int y1, int x2, int y2);
void draw_pyramid(int x1, int y1, int height);
void set_fill_style(fstyle);
int read_key();
//---------------------------------------------------
class clTimer // Класс, который следует использовать как порождающий,
{ // для всех консольных классов, которым нужен таймер.
int lastTime; // Момент последнего запуска OnTimer()
bool On; // Включен или выключен
public:
int Interval; // интервал в милисекундах, через который запускается OnTimer()
virtual void OnTimer()=0;
clTimer() // Конструктор
{
lastTime=0;
Interval=0;
On=false;
}
void TimerOn(int delay=0) // Включение с интервалом delay (в милисекундах)
{
Interval=delay;
On=true;
lastTime=clock(); // Системное время в милисекундах запомнить в lastTime
}
void TimerOff() // Выключение
{
On=false;
}
void Go() // Запуск (любого объекта любого класса - потомка)
{
if(!On) return;
int tMoment=clock();
if(tMoment<=lastTime+Interval) return; // Рано
lastTime=tMoment;
OnTimer();
}
};
#endif /* _INC_WCONSOLE */
Соседние файлы в папке Псевдографика