ftp.nice.ch/pub/next/games/card/Solitaire.2.1.s.tar.gz#/Solitaire.2.1.s/Solitaire/CardSet.subproj/Card.h

This is Card.h in view mode; [Download] [Up]

/* indent:4  tabsize:8  font:fixed-width */

/*----------------------------------------------------------------------------
|-----------------------------------------------------------------------------
|
|    Card : Object
|
|    Instances of this class provide low-level functionality for card games.  
|    Cards can have a suit, a value, and an orientation.  These values can be
|    initialized, modified and determined by clients of the class.  Cards also
|    know how to render themselves on screen.
|
|-----------------------------------------------------------------------------
\----------------------------------------------------------------------------*/

#import <appkit/appkit.h>
#import "cardset.h"

@interface Card:Object
{
    CardSuit            suit;
    CardValue           value;
    BOOL                faceUp;
}

/*---------------------------------------------------------------------------
|
|	Class initialization
|
\---------------------------------------------------------------------------*/

+ initialize;
+ drawCardImages;
+ freeCardImages;
+ setCardBackImage:theImage;
+ setCardBack:(CardBack)aBack;

/*---------------------------------------------------------------------------
|
|	Creating and freeing
|
\---------------------------------------------------------------------------*/

- init;
- initSuit:(CardSuit)aSuit value:(CardValue)aValue;
- initSuit:(CardSuit)aSuit value:(CardValue)aValue faceUp:(BOOL)anOrientation;
- copyFromZone:(NXZone *)zone;

/*---------------------------------------------------------------------------
|
|	Setting Card object state
|
\---------------------------------------------------------------------------*/

- setSuit:(CardSuit)aSuit;
- setValue:(CardValue)aValue;
- flip;
- setFaceUp:(BOOL)aSide;

/*---------------------------------------------------------------------------
|
|	Determining Card object state
|
\---------------------------------------------------------------------------*/

- (CardSuit)suit;
- (CardValue)value;
- (BOOL)isFaceUp;
- (CardColor)cardColor;

/*---------------------------------------------------------------------------
|
|	Drawing the card
|
\---------------------------------------------------------------------------*/

- drawCardAt:(NXPoint *)thePoint;
- drawContentsAt:(NXPoint *)thePoint;
- drawOutlineAt:(NXPoint *)thePoint;

/*---------------------------------------------------------------------------
|
|	Archiving
|
\---------------------------------------------------------------------------*/

- read:(NXTypedStream *)theStream;
- write:(NXTypedStream *)theStream;

@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.