лофором, розташованим приблизно в середині вікна над паровозом. Користувач має можливість регулювати кольором світлофора натисканням клавишь 'до', 'з', 'ж', відповідним квітам світлофора - червоному, зеленому, жовтому. Якщо паровоз під'їжджає до світлофора, а у світлофора активним є зелений колір, він продовжує свій рух. В іншому випадку, паровоз зупиняється. При досягненні правої стінки, паровоз з'являється біля лівої стінки, а активним кольором світлофора стає жовтий колір. З верхньої частини паровоза постійно піднімаються у верхню частину вікна окружності, що представляють собою бульби диму, які збільшуються при підйомі. <В
2. Опис програми.
В
2.1. Метод рішення задачі.
В
Програма виконана в стилі об'єктно-орієнтованого програмування, використана бібліотека MFC. Сама програма - додаток Windows. Для виведення графічних об'єктів використовуються функції: Elliplse, Rectangle. Програмою обробляються події від таймера, натискання клавишь на клавіатурі, вики відповідних пунктів меню, а також подія WM_PAINT для перемальовування робочої області. br/>
2.2. Опис використовуваних класів, структур і функцій.
В
2.2.1. CApp - клас докладання.
В
CApp - клас додатки, породжується класом CWinApp бібліотеки MFC забезпечує ініціалізацію, виконання і завершення Windows програми: реєструє, створює і відображає основне вікно програми.
Член-функції класу CApp:
InitInstance - Віртуальна функція, перевизначається в класі CApp
В
2.2.2. CМ ainWnd- клас головного вікна.
В
CMainWnd - Клас головного вікна програми , Успадковується з класу CFrameWnd бібліотеки MFC.) br/>
Член - дані класу С MainWnd:
CRect wnd;/* розмір вікна */
CRect kol1, kol2, korp, kr, temp;/* Прямокутники */
CRect svet, ball1, ball2, ball3 ;/ * прямокутники */
CBrush br1 [3], br2;/* кисті */
CBrush sv [4];/​​* кольору світлофора */
CRect noga;/* нога світлофора */
CRect balls [5];/* кульки диму */
CRect kr2;// кабіна
int numball;// номер диму
int live [5];// ознака життя диму
bool game;/* ознака гри або поза грою */
int color;/* номер кольору паровоза */
int ns;/* номер увета світлофора */
int move;/* прапор руху паровоза *
/ Член - функції класу С MainWnd :
CmainWnd (); - конструктор класу вікна
afx_msg void OnBegin (); обробник події на вибір пункту меню В«стартВ»
afx_msg void OnRed (); - обробник події на вибір пункту меню В«RedВ»
afx_msg void OnGreen (); - обробник події на вибір пункту меню В«GreenВ»
afx_msg void OnBlue (); - обробник події на вибір пункту меню В«BlueВ»
afx_msg void OnPaint (); - ф-ія перемальовування
afx_msg void OnTimer (UINT nIDEvent);...