Реферат: Курсовая работа по основам программирования. Игра Паровоз
![](/file/7d5aacc146456be8f3642.jpg)
🛑 👉🏻👉🏻👉🏻 ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻
Государственный комитет Российской Федерации
Казанский государственный технический университет
--------------------------------------------------------------
"____"________________________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
Запуск программы необходимо производить , находясь в среде Windows 95 : запускаемый файл – parovoz.exe .
После запуска игры, на экране появляется окно с надписью «выберите пункт старт». Окно имеет меню, состоящее из нескольких пунктов. С помощью пунктов меню можно: изменять цвет движущегося объекта (паровозика в красный, синий, зелёный), начать (перезапустить), осуществить выход из игры. После выбора пункта меню «старт», в левом нижнем углу окна появляется паровоз, представляющий собой совокупность геометрических фигур – эллипсов (колёса) и прямоугольников (кабина, трубы). Паровоз движется слева направо и останавливается перед светофором, расположенным приблизительно в середине окна над паровозом. Пользователь имеет возможность регулировать цветом светофора нажатием клавишь ‘к’, ‘з’, ‘ж’, соответствующим цветам светофора – красному, зеленому, жёлтому. Если паровоз подъезжает к светофору, а у светофора активным является зелёный цвет, он продолжает своё движение. В противном случае, паровоз останавливается. При достижении правой стенки, паровоз появляется у левой стенки, а активным цветом светофора становится жёлтый цвет. Из верхней части паровоза постоянно поднимаются в верхнюю часть окна окружности, представляющие собой клубни дыма, которые увеличиваются при подъёме.
Программа выполнена в стиле объектно-ориентированного программирования, использованна библиотека MFC. Сама программа - приложение Windows. Для вывода графических объектов используются функции: Elliplse, Rectangle. Программой обрабатываются события от таймера, нажатия клавишь на клавиатуре, выбра соответствующих пунктов меню, а также событие WM_PAINT для перерисовки рабочей области.
CApp - класс приложения, порождается классом CWinApp библиотеки MFC обеспечивает инициализацию , выполнение и завершение Windows программы : регистрирует , создаёт и отображает основное окно приложения .
InitInstance – виртуальная функция, переопределяется в классе CApp
CMainWnd - класс главного окна приложения , наследуется из класса CFrameWnd библиотеки MFC .)
CRect kol1,kol2,korp,kr,temp; /*прямоугольники*/
CRect svet,ball1,ball2,ball3;/*прямоугольники*/
bool game; /*признак игры или вне игры*/
int color; /*номер цвета паровоза*/
int move; /*флаг движения паровоза*
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() - карта сообщений
BEGIN_MESSAGE_MAP(CMainWnd,CFrameWnd)
На рисунках 1, 2 представленыосновные образы окна приложения.
Рис. 1. Главное окно после выбора пункта «старт»
Рис. 2. Главное окно до выбора пункта «старт»
/* в этом файле находятся описания всех функций */
CMainWnd::CMainWnd() /*конструктор гл. окна*/
wnd.SetRect(0,0,400,355);//устан-ка размеров окна
Create(NULL,"parovoz",WS_DLGFRAME ,wnd,NULL,"MAINMENU");
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));/*чёрный цвет*/
BOOL CApp:: InitInstance()/*ф-ия инициализации окна*/
m_pMainWnd=new CMainWnd; /*созд объекта окна*/
m_pMainWnd->ShowWindow(m_nCmdShow); /*показать окно*/
return true; /*удачное завершение*/
afx_msg void CMainWnd::OnPaint() /*ф-ия перерисовки*/
CPaintDC dc(this); /*созданиее контекста окна*/
dc.SelectObject(&br2); /*выбор кисти для светофора*/
dc.Rectangle(svet); //рисование корп. светофора
dc.Rectangle(noga); //рисование ноги
if(live[numball]==1)//если дым активен
switch(ns) /*переключение между цветами светофора*/
dc.SelectObject(br1[color]); /*рисование паровоза*/
char *s="выберете меню старт.";//начальная надпись
if(game==0) dc.TextOut(50,100,s,strlen(s));
void CMainWnd::OnExit() /*реакция на выход*/
SendMessage(WM_CLOSE); /*послать сообщение о закрытии окна*/
afx_msg void CMainWnd::OnTimer( UINT nIDEvent )
{//если дым не активен, активизировать
balls[numball].SetRect(korp.left+35,kr.top-10,kr.right-5,korp.top);
{//сохранить предыдущ. положение дыма
if(live[numball]==1)//если дым активен
balls[numball].OffsetRect(1,-6);//сместить дым
balls[numball].top--; //изменить размеры
InvalidateRect(temp); //перерисовать
if(balls[numball].top<=0) live[numball]=0;//убить
if( (korp.right<=svet.left)||(korp.left>=svet.left+3)||(move==1))
{ /*если не около светофора или зеленый цвет*/
temp.CopyRect(korp); /*сохранить предыдущие координаты*/
{/*реакция на выбор красного цвета*/
BEGIN_MESSAGE_MAP(CMainWnd,CFrameWnd)
afx_msg void CMainWnd::OnChar( UINT nChar, UINT nRepCnt, UINT nFlags )
class CMainWnd: public CFrameWnd /*класс окна*/
CRect kol1,kol2,korp,kr,temp; /*прямоугольники*/
CRect svet,ball1,ball2,ball3;/*прямоугольники*/
bool game; /*признак игры или вне игры*/
int color; /*номер цвета паровоза*/
int move; /*флаг движения паровоза*/
CMainWnd(); /*конструктор главного. окна*/
afx_msg void OnRed(); /*пунуты меню цвета*/
afx_msg void OnPaint(); /*ф-ия перерисовки*/
afx_msg void OnTimer( UINT nIDEvent ); /*обраб-чик таймера*/
afx_msg void OnBegin();//перестартовать
afx_msg void OnChar( UINT nChar, UINT nRepCnt, UINT nFlags );
DECLARE_MESSAGE_MAP()//карта сообщений
Название: Курсовая работа по основам программирования. Игра Паровоз
Раздел: Рефераты по информатике, программированию
Тип: реферат
Добавлен 04:41:08 08 июля 2005 Похожие работы
Просмотров: 256
Комментариев: 16
Оценило: 4 человек
Средний балл: 5
Оценка: неизвестно Скачать
Срочная помощь учащимся в написании различных работ. Бесплатные корректировки! Круглосуточная поддержка! Узнай стоимость твоей работы на сайте 64362.ru
Если Вам нужна помощь с учебными работами, ну или будет нужна в будущем (курсовая, дипломная, отчет по практике, контрольная, РГР, решение задач, онлайн-помощь на экзамене или "любая другая" учебная работа...) - обращайтесь: https://clck.ru/P8YFs - (просто скопируйте этот адрес и вставьте в браузер) Сделаем все качественно и в самые короткие сроки + бесплатные доработки до самой сдачи/защиты! Предоставим все необходимые гарантии.
Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.
Реферат: Курсовая работа по основам программирования. Игра Паровоз
Реферат: Формула I – лидер автоспорта. Скачать бесплатно и без регистрации
Акцентуации Характера Реферат
Спотлайт 7 Класс Контрольная Работа Модуль 3
Реферат На Тему Концепція Атомізму
Реферат: Разгосударствление и приватизация 3
Контрольная работа по теме Понятие субъекта налогообложения. Налог на доходы физических лиц
Реферат: Организация управленческого учета в торговле
Доклад: Венсан де Поль
Реферат: Проектирование локальной вычислительной сети
Курсовая работа по теме Внесок І.О. Соколянського у розвиток тифлосурдопедагогіки
Курсовая Работа На Тему Расчет Импульсного Источника Вторичного Электропитания
Реферат по теме Отчет по лабораторной работе
Контрольная работа: Внутренний финансовый контроль
Реферат по теме Подготовка выступления и ораторской речи
Инфекции Реферат
Реферат На Тему Кодекс Профессиональной Этики Адвоката
Реферат: Конфликтные ситуации. Скачать бесплатно и без регистрации
Сочинение Умен Ли Чацкий Горе От Ума
Реферат по теме Политические коммуникации
Основные выражения
Реферат: Республика Египет
Реферат: Основные проблемы новой сетевой политики политических партий и общественных организаций
Курсовая работа: Планирование карьеры