changes to 380 project 4 changes to 350 project 2 Signed-off-by: Amrit Panesar <apanesar@4195tech.com>
49 lines
1.6 KiB
C++
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);
|
|
};
|
|
|