SCORE.H
资源名称:MSDN_VC98.zip [点击查看]
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:3k
源码类别:
Windows编程
开发平台:
Visual C++
- //---------------------------------------------------------------------------
- // Score.h
- //---------------------------------------------------------------------------
- // Score object to track score, # lives, level.
- //---------------------------------------------------------------------------
- // (C) Copyright 1992-1997 by Microsoft Corporation. All rights reserved.
- //
- // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
- // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
- // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
- // PARTICULAR PURPOSE.
- //---------------------------------------------------------------------------
- //---------------------------------------------------------------------------
- // Score class
- //---------------------------------------------------------------------------
- class CScore
- {
- public:
- // *** Constructor / Destructor ***
- static HRESULT CreateScore(HINSTANCE hinst, HWND hwnd, HWND hwndPS, HWND hwndStat,
- long scoreFirst1Up, long scoreSecond1Up, long dscoreNext1Up,
- int cship, WORD idbmpShip, WORD idbmpPlus,
- CScore **ppscoreOut);
- CScore(HINSTANCE hinst, HWND hwnd, HWND hwndPS, HWND hwndStat, long scoreSecond1Up, long scoreFirst1Up, long dscoreNext1Up, int cship, WORD idbmpShip, WORD idbmpPlus);
- ~CScore();
- // *** Public methods ***
- void NewGame(void);
- void Add(long d);
- void Paint(HDC hdc);
- void SetStatusText(const char *pszText);
- void Size(int cx, int cy);
- // *** Public accessor methods ***
- inline long GetScore(void) {return m_score;};
- inline void SetScore(int s) {m_score = s; InvalidateRect(m_hwnd, &m_rectScore, TRUE);};
- inline long GetLevel(void) {return m_lvl;};
- inline long GetCShip(void) {return m_cship;};
- inline void SetLevel(int lvl) {m_lvl = lvl; InvalidateRect(m_hwnd, &m_rectLvl, TRUE);};
- inline void NextLevel(void) {m_lvl++; InvalidateRect(m_hwnd, &m_rectLvl, TRUE);};
- inline void SetCShip(int cship) {m_cship=cship; InvalidateRect(m_hwnd, &m_rectShip, TRUE);};
- inline void ShipKilled(void) {m_cship--; InvalidateRect(m_hwnd, &m_rectShip, TRUE);};
- inline int GetSize(void) {return m_cyMax;};
- // Public members
- long m_scoreFirst1Up;
- long m_scoreSecond1Up;
- long m_dscoreNext1Up;
- short m_cshipStart;
- long m_scoreNext1Up; // Inits to m_scoreFirst1Up
- private:
- // *** Private member variables ***
- // Reset at NewGame()
- long m_score; // Inits to 0
- short m_cship; // Inits to m_cshipStart
- short m_lvl; // Inits to 1
- // Static state passed into contructor
- HINSTANCE m_hinst;
- HWND m_hwnd;
- HWND m_hwndPS;
- HWND m_hwndStat;
- // State calculated from static state
- RECT m_rectScore;
- RECT m_rectShip;
- RECT m_rectLvl;
- HBITMAP m_hbmpShip;
- HBITMAP m_hbmpPlus;
- int m_cyMax, m_cyStat;
- int m_cxShip, m_cyShip;
- int m_cxPlus, m_cyPlus;
- // Set if constructor fails
- static HRESULT s_hr;
- // DEBUG info
- #define SIG_Score 'Scor'
- DECLARE_SIGNATURE(SIG_Score);
- };
- //--- EOF -------------------------------------------------------------------