Курсова робота з основ програмування.
Гра Паровоз
Після запуску гри, на екрані з’являється вікно з написом «виберіть пункт старт». Вікно має меню, що складається з кількох пунктів. З допомогою пунктів меню можна: змінювати колір рушійної об'єкта (паровозика в червоний, синій, зелений), розпочати (перезапустить), здійснити вихід із гри. Після вибору пункту меню «старт», у лівій нижньому розі вікна з’являється паровоз, являє собою сукупність… Читати ще >
Курсова робота з основ програмування. Гра Паровоз (реферат, курсова, диплом, контрольна)
Державного комітету Російської Федерації за найвищим образованию.
Казанський державний технічний університет імені О. Н. Туполева.
——————————————————————————————-;
Кафедра АСОИУ.
КУРСОВА РАБОТА.
з основ программирования.
ГРА «Parovoz».
ВИКОНАВЕЦЬ: студентка групи 4221.
Петрова Е.Г.
КЕРІВНИК: Вафин Р.Р.
Оценка____________________________.
Подпись___________________________.
" ____ «________________________2001г.
КАЗАНЬ.
2001 г.
1.Описание застосування. 3.
1.1. Запуск програми. 3.
1.2. Правила гри. 3.
2. Опис програми. 4.
2.1. Метод виконання завдання. 4.
2.2. Опис використовуваних класів, структур і державних функцій. 4.
2.2.1. CApp — клас докладання. 4.
2.2.2. CМainWndклас головного вікна. 4.
2.2.3. Карта повідомлень. 5.
2.3. Образ головного вікна. 6.
Приложение 7.
Лістинг файла main. cpp 7.
Лістинг файла main. h 12.
Лістинг файла menu1. h 13.
Лістинг файла menu1. rc 13.
1.Описание застосування .
1.1. Запуск программы.
Запуск програми необхідно здійснювати, перебувають у середовищі Windows 95: запускаемый файл — parovoz. exe .
1.2. Правила игры.
Після запуску гри, на екрані з’являється вікно з написом «виберіть пункт старт». Вікно має меню, що складається з кількох пунктів. З допомогою пунктів меню можна: змінювати колір рушійної об'єкта (паровозика в червоний, синій, зелений), розпочати (перезапустить), здійснити вихід із гри. Після вибору пункту меню «старт», у лівій нижньому розі вікна з’являється паровоз, являє собою сукупність геометричних постатей — еліпсів (колеса) і прямокутників (кабіна, труби). Паровоз рухається зліва-направо і зупиняється перед світлофором, розташованим приблизно середині вікна над паровозом. Користувач має можливість регулювати кольором світлофора натисканням клавишь ‘до', ‘із', ‘ж', відповідним квітам світлофора — червоному, зеленому, жёлтому. Якщо паровоз під'їжджає до світлофору, а й у світлофора активним є зелений колір, він продовжує свою рух. У іншому разі, паровоз зупиняється. При досягненні правої стінки, паровоз з’являється в лівої стінки, а активним кольором світлофора стає жовтий колір. З верхню частину паровоза постійно піднімаються в верхню частина вікна окружності, які становлять бульби диму, які збільшуються при подъёме.
2. Опис програми .
2.1. Метод виконання завдання .
Програма виконано стилі объектно-ориентированного програмування, использованна бібліотека MFC. Сама програма — додаток Windows. Для виведення графічних об'єктів використовуються функції: Elliplse, Rectangle. Програмою обробляються події від таймера, натискання клавишь на клавіатурі, выбра відповідних пунктів меню, і навіть подія WM_PAINT для перемальовування робочої области.
2.2. Опис використовуваних класів, структур і функций.
2.2.1. CApp — клас докладання .
CApp — клас докладання, породжується класом CWinApp бібліотеки MFC забезпечує ініціалізацію, виконання також завершення Windows програми: реєструє, створює і відображає основне вікно докладання. Членфункції класу CApp: InitInstance — віртуальна функція, переопределяется у п’ятому класі CApp.
2.2.2. CМainWndклас головного вікна .
CMainWnd — клас головного вікна докладання, наслідується з класу CFrameWnd бібліотеки MFC .).
Член — дані класу С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); - обраб-чик таймера afx_msg void OnExit (); - оброблювач події вплинув на вибір пункту меню «Exit» afx_msg void OnChar (UINT nChar, UINT nRepCnt, UINT nFlags); - реакція на натискання клавіші клавиатуры.
DECLARE_MESSAGE_MAP () — карта сообщений.
2.2.3. Карта сообщений.
BEGIN_MESSAGE_MAP (CMainWnd, CFrameWnd).
ON_COMMAND (IDM_EXIT, OnExit).
ON_COMMAND (IDM_BEGIN, OnBegin).
ON_COMMAND (IDM_RED, OnRed).
ON_COMMAND (IDM_GREEN, OnGreen).
ON_COMMAND (IDM_BLUE, OnBlue).
ON_WM_PAINT ().
ON_WM_TIMER ().
ON_WM_CHAR () END_MESSAGE_MAP ().
2.3. Образ головного окна.
На малюнках 1, 2 представленыосновные образи вікна приложения.
Приложение Листинг файла main.cpp.
/* у тому файлі перебувають описи всіх функцій */.
#include #include «main.h «#include «menu1.h «.
CMainWnd:CMainWnd () /*конструктор гол. вікна*/ { wnd. SetRect (0,0,400,355);//устан-ка розмірів окна.
Create (NULL, «parovoz », WS_DLGFRAME, wnd, NULL, «MAINMENU »); game=false; /*немає гри*/ color=0; /*поч. колір поїзда*/ ns=0; /*поч. колір світлофора*/ br1[0]. CreateSolidBrush (RGB (255,0,0));//создание пензлів br1[1]. CreateSolidBrush (RGB (0,255,0)); br1[2]. CreateSolidBrush (RGB (0,0,255));
sv[0]. CreateSolidBrush (RGB (255,0,0));//создание пензлів sv[1]. CreateSolidBrush (RGB (0,255,0));//светофора sv[2]. CreateSolidBrush (RGB (255,255,0)); sv[3]. CreateSolidBrush (RGB (128,128,128));
br2.CreateSolidBrush (RGB (1,1,1));/*чёрный цвет*/.
for (numball=0;numballShowWindow (m_nCmdShow); /*показати вікно*/ return true; /*вдале завершення*/ }.
afx_msg void CMainWnd: OnPaint () /*ф-ия перемальовування*/ {.
CPaintDC dc (this); /*созданиее контексту вікна*/ dc. SelectObject (&br2); /*вибір пензля для світлофора*/ dc. Rectangle (svet); //малювання корп. світлофора dc. Rectangle (noga); //малювання ноги for (numball=0;numball.