{ const int r=8, // Радіус рухомого круга s=2, // Величина зсуву круга по горизонталі // чи вертикалі між викликами таймера nl=8, // Кількість відрізків-перешкод xmax=800, // Розміри поля по горизонталі ymax=450, // Розміри поля по вертикалі // Відрізки-перешкоди: a[8]={670,600,530,530,400,270,230, 70},// абсциси початків b[8]={ 0, 50, 0,250, 50,100,150,200},// ординати початків c[8]={670,600,530,530,450,340,160,120},// абсциси кінців d[8]={400,450,200,450,400,350,300,250};// ординати кінців const bool draw=true; /* true - Створення власного зображення за значеннями масивів a, b, c, d false - Використання файлу field.png Растрове зображення для експорту (запозичення) з об'єкта wxMemoryDC для побудови зображення у пам'яті і подальшого конвертування у зображення wxImage, яке можна опрацьовувати поточково */ wxBitmap zb(xmax,ymax); wxMemoryDC zm; // Об'єкт для створення зображення у пам'яті wxImage img; // Зображення для аналізу wxPaintDC z(Panel1); // Об'єкт для малювання на панелі zm.SelectObject(zb); // Встановлення відповідності між растровим зображенням // wxBitmap zb і об'єктом пам'яті wxMemoryDC zm if (draw) { zm.SetBrush(wxColor(0,128,0)); // Заповнення темно зеленим кольором zm.SetPen(wxPen(wxColor(0,128,0),1)); // Темно зелений контур ширини 1 піксель zm.DrawRectangle(0,0,xmax,ymax); // Заповнення всього поля zm.SetPen(wxPen(wxColor(255,255,0),5));// Жовтий контур ширини 5 for (int jl=0; jl