Курсовая работа по основам программирования. Игра "Паровоз" — страница 4
kol1.SetRect(5,295,15,305); kol2.SetRect(35,295,45,305); ns=1; move=0; InvalidateRect(ball1); InvalidateRect(ball2); InvalidateRect(ball3); } } } } afx_msg void CMainWnd::OnRed() {/*реакция на выбор красного цвета*/ color=0; } afx_msg void CMainWnd::OnGreen() {/*выбор зеленого цвета*/ color=1; } afx_msg void CMainWnd::OnBlue() { color=2; } afx_msg void CMainWnd::OnBegin() { game=true; color=0; move=0; svet.SetRect(200,100,240,230); noga.SetRect(210,230,230,250); ball1.SetRect(210,110,230,140); ball2.SetRect(210,150,230,180); ball3.SetRect(210,190,230,220); korp.SetRect(0,288,50,300); kr.SetRect(30,280,40,288); kr2.SetRect(10,270,25,288); kol1.SetRect(5,295,15,305); kol2.SetRect(35,295,45,305); SetTimer(1,100,NULL); SetTimer(2,1000,NULL); InvalidateRect(NULL); } 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() afx_msg void CMainWnd::OnChar( UINT nChar, UINT nRepCnt, UINT nFlags ) { if(game) { switch(nChar) { case 234: { ns=0; break; } case 231: {ns=2; move=1; break; } case 230: {ns=1; } } InvalidateRect(ball1); InvalidateRect(ball2); InvalidateRect(ball3); } } CApp app; Листинг файла main.h class CMainWnd: public CFrameWnd /*класс окна*/ { public: 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; /*флаг движения паровоза*/ CMainWnd(); /*конструктор главного. окна*/ afx_msg void OnRed(); /*пунуты меню цвета*/ afx_msg void OnGreen(); afx_msg void OnBlue(); afx_msg void OnPaint(); /*ф-ия перерисовки*/ afx_msg void OnTimer( UINT nIDEvent ); /*обраб-чик таймера*/ afx_msg void OnExit();//выход afx_msg void OnBegin();//перестартовать afx_msg void OnChar( UINT nChar, UINT nRepCnt, UINT nFlags ); DECLARE_MESSAGE_MAP()//карта сообщений }; class CApp: public CWinApp { public: BOOL InitInstance(); }; Листинг файла menu1.h #define IDM_BEGIN 100 #define IDM_RED 101 #define IDM_GREEN 102 #define IDM_BLUE 103 #define IDM_EXIT 104 Листинг файла menu1.rc #include <afxres.h> #include "menu1.h" MAINMENU MENU DISCARDABLE BEGIN POPUP "GAME" BEGIN POPUP "COLOR" BEGIN MENUITEM "RED", IDM_RED MENUITEM "GREEN", IDM_GREEN MENUITEM "BLUE", IDM_BLUE END MENUITEM SEPARATOR MENUITEM "START", IDM_BEGIN MENUITEM "EXIT", IDM_EXIT END END
Похожие работы
- Практические занятия