| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- /////////////////////////////////////////////////////////////////////////////
- // Name: card.h
- // Purpose: Forty Thieves patience game
- // Author: Chris Breeze
- // Modified by:
- // Created: 21/07/97
- // Copyright: (c) 1993-1998 Chris Breeze
- // Licence: wxWindows licence
- //---------------------------------------------------------------------------
- // Last modified: 22nd July 1998 - ported to wxWidgets 2.0
- /////////////////////////////////////////////////////////////////////////////
- //+-------------------------------------------------------------+
- //| Description: |
- //| A class for drawing playing cards. |
- //| InitCards() must be called before using the Card class, |
- //| otherwise the card bitmaps will not be loaded. |
- //| CloseCards() must be called before terminating the |
- //| program so that the bitmaps are deleted and the memory |
- //| given back to Windows. |
- //+-------------------------------------------------------------+
- #ifndef _CARD_H_
- #define _CARD_H_
- // Constants
- const int PackSize = 52;
- #define CardHeight Card::GetHeight()
- #define CardWidth Card::GetWidth()
- // Data types
- enum Suit { clubs = 0, diamonds = 1, hearts = 2, spades = 3 };
- enum SuitColour { red = 0, black = 1 };
- enum WayUp { faceup, facedown };
- //--------------------------------//
- // A class defining a single card //
- //--------------------------------//
- class Card {
- friend class FortyApp;
- static double m_scale;
- static int m_width,m_height;
- public:
- Card(int value, WayUp way_up = facedown);
- virtual ~Card(){};
- void Draw(wxDC& pDC, int x, int y);
- static void DrawNullCard(wxDC& pDC, int x, int y); // Draw card place-holder
- void Erase(wxDC& pDC, int x, int y);
- void TurnCard(WayUp way_up = faceup) { m_wayUp = way_up; }
- WayUp GetWayUp() const { return m_wayUp; }
- int GetPipValue() const { return m_pipValue; }
- Suit GetSuit() const { return m_suit; }
- SuitColour GetColour() const { return m_colour; }
- static void SetScale(double scale);
- static int GetHeight() { return m_height; };
- static int GetWidth() { return m_width; };
- static double GetScale() { return m_scale; };
- private:
- Suit m_suit;
- int m_pipValue; // in the range 1 (Ace) to 13 (King)
- SuitColour m_colour; // red or black
- bool m_status;
- WayUp m_wayUp;
- static wxBitmap* m_symbolBmap;
- static wxBitmap* m_pictureBmap;
- };
- #endif // _CARD_H_
|