Курсовая работа по основам программирования. Игра Паровоз
Курсовая работа по основам программирования. Игра ПаровозГосударственный комитет Российской Федерациипо высшему образованиюКазанский государственный технический университетимени А.Н. Туполева--------------------------------------------------------------Кафедра АСОИУКУРСОВАЯ РАБОТАпо основам программированияИГРА «Parovoz» ИСПОЛНИТЕЛЬ: студентка группы 4221Петрова Е.Г.РУКОВОДИТЕЛЬ: Вафин Р.Р.Оценка____________________________Подпись___________________________"____"________________________2001г.КАЗАНЬ2001г.СОДЕРЖАНИЕ1.Описание применения ._____________________________________________ 31.1. Запуск программы._____________________________________________ 31.2. Правила игры._________________________________________________ 32. Описание программы ._____________________________________________ 42.1. Метод решения задачи .__________________________________________ 42.2. Описание используемых классов, структур и функций.______________ 42.2.1. CApp - класс приложения .______________________________________________ 42.2.2. CМainWnd- класс главного окна .________________________________________ 42.2.3. Карта сообщений._____________________________________________________ 52.3. Образ главного окна.______________________________________________ 6Приложение________________________________________________________ 7Листинг файла main.cpp_____________________________________________ 7Листинг файла main.h______________________________________________ 12Листинг файла menu1.h____________________________________________ 13Листинг файла menu1.rc____________________________________________ 131.Описание применения . 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; /*флаг движения паровоза*/Член - функции кл...