Files
Coleman-Code/COM380/Project5/GambleKit/Engine/Game/GkGameWinningsModel.h
T
Amrit Panesar 39ee821f54 start 380 project5
changes to 380 project 4
changes to 350 project 2

Signed-off-by: Amrit Panesar <apanesar@4195tech.com>
2015-05-06 10:18:39 -07:00

49 lines
1.6 KiB
C++

#pragma once
#include "..\GkDefinitions.h"
struct GameWinningLineModel
{
bool active;
int *coordinates;
};
struct GameWinningSymbolModel
{
unsigned int flags, exclusionFlags;
int *coefficients;
};
class GKDLLCLASS GkGameWinningsModel
{
public:
static const unsigned int SymbolFlag_None = 0,
SymbolFlag_Default = 1 << 0,
SymbolFlag_Wild = 1 << 1,
SymbolFlag_AnyPlace = 1 << 2, // Line sequence can start from anywhere, not only from the beginning of a line
SymbolFlag_IgnoreWinning = 1 << 3,
SymbolFlag_AtEnd = 1 << 4,
SymbolFlag_Scatter = 1 << 5, // If a symbol is Scatter, it has a line index of numLines and above, and its line's coordinates are set correspondingly on each CalculateWinnings()
SymbolFlag_Custom = 1 << 8; // For user - defined flags. User_Defined_Flag = SymbolFlag_Custom << UserFlag_Index
int numReels, numReelItems, numChannels, selectedChannel;
int numLines;
GameWinningLineModel *lines;
int numSymbols, numScatters;
GameWinningSymbolModel **symbols;
GkGameWinningsModel(int numReels, int numReelItems, int numLines, int numSymbols, int numScatters = 0, int numChannels = 1);
~GkGameWinningsModel(void);
void SetupLine(int lineIndex, ...);
void SetupSymbol(int symbolIndex, int channelIndex, unsigned int symbolFlags, unsigned int symbolExclusionFlags, ...);
int GetLineSymbolCoordinate(int reelIndex, int lineIndex);
GameWinningSymbolModel *GetSymbolModel(int symbol);
int GetSymbolCoefficient(int symbol, int symbolCount);
int CompareSymbolWinnning(int symbol1, int symbol1Count, int symbol2, int symbol2Count);
};