Files correlati : Commento : Spostamento in libraries delle librerie esterne di Campo per una maggiore pulizia e organizzazione git-svn-id: svn://10.65.10.50/branches/R_10_00@24150 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			75 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        card.h
 | 
						|
// Purpose:     Forty Thieves patience game
 | 
						|
// Author:      Chris Breeze
 | 
						|
// Modified by:
 | 
						|
// Created:     21/07/97
 | 
						|
// RCS-ID:      $Id: card.h 29660 2004-10-05 15:38:40Z ABX $
 | 
						|
// 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_
 |