ftp.nice.ch/pub/next/games/card/NeXTmj.2.0.s.tar.gz#/NeXTmj/GameTile.h

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

/*
 * This is the base class for tiles that are
 *	used on the game board.
 *
 $Author$
 $Header$
 *
 $Log$
 */

#import	"Tile.h"

extern "Objective-C" {
#import	<objc/objc.h>
}


												// This enumerated type is used to
												//	identify tiles by type.
												// These types are used to identify
												//	that two peices are equal.  If equal
												//	they can be removed from the board.
	typedef enum {	EAST_WIND,		SOUTH_WIND,		WEST_WIND,		NORTH_WIND,
					
					SEASON,			FLOWER,
					
					CIRCLE_1,		CIRCLE_2,		CIRCLE_3,		CIRCLE_4,
					CIRCLE_5,		CIRCLE_6,		CIRCLE_7,		CIRCLE_8,
					CIRCLE_9,
					
					BAMBOO_1,		BAMBOO_2,		BAMBOO_3,		BAMBOO_4,
					BAMBOO_5,		BAMBOO_6,		BAMBOO_7,		BAMBOO_8,
					BAMBOO_9,
					
					CHARACTER_1,	CHARACTER_2,	CHARACTER_3,	CHARACTER_4,
					CHARACTER_5,	CHARACTER_6,	CHARACTER_7,	CHARACTER_8,
					CHARACTER_9,
					
					RED,			WHITE,			GREEN
	} TILE_TYPE;
					
					
class GameTile : public Tile {

private:
												// This is a flag which indicates wheather
												//	the tile has been selected.  If a tile
												//	is selected it's image is shown
												//	in reverse highlighting.
	BOOL		selected;
public:
	BOOL		isSelected( void );
	void		setSelected( BOOL );

protected:
												// This variable holds the tile's type.  It
												//	is assigned in the constructor of a
												//	a subclass.
	TILE_TYPE	my_tile_type;
public:
	TILE_TYPE	tileType( void );
	BOOL		isTileType( TILE_TYPE aType );
	

private:
												// Those tiles then determine if they are
												//	selectable.
	BOOL	selectable;
public:
	BOOL	isSelectable( void );	
	void	setSelectable( BOOL );

private:
												// A Tile Removed from the Game Board
												//	is not drawn on the board and doesn't
												//	prohibit the surrounding Tiles from
												//	being selectable.
	BOOL	removed;
public:
	BOOL	isRemoved( void );
	void	setRemoved( BOOL );

public:
												// Game tiles highlight themselves if
												//	they are selected.
	virtual void	drawImage( NXPoint );


public:
	GameTile( void );

};

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