home *** CD-ROM | disk | FTP | other *** search
Wrap
//--------------------------------------------------------------------------- // Score.h //--------------------------------------------------------------------------- // Score object to track score, # lives, level. //--------------------------------------------------------------------------- // (C) Copyright 1992-1996 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 -------------------------------------------------------------------