git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29660 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			75 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        card.h
 | |
| // Purpose:     Forty Thieves patience game
 | |
| // Author:      Chris Breeze
 | |
| // Modified by:
 | |
| // Created:     21/07/97
 | |
| // RCS-ID:      $Id$
 | |
| // 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_
 |