Государственный комитет Российской Федерации по высшему
образованию
Казанский государственный технический университет имени А.Н.
Туполева
--------------------------------------------------------------
Кафедра АСОИУ
КУРСОВАЯ РАБОТА
по основам программирования
ИГРА «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
Курсовая работа по основам программирования. Игра Паровоз
48
0
3 минуты
Темы:
Понравилась работу? Лайкни ее и оставь свой комментарий!
Для автора это очень важно, это стимулирует его на новое творчество!