changes to 380 project 4 changes to 350 project 2 Signed-off-by: Amrit Panesar <apanesar@4195tech.com>
61 lines
2.4 KiB
C++
61 lines
2.4 KiB
C++
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
// GambleKit Copyright (C) 2014 Ivan Donev
|
|
//
|
|
// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
|
|
//
|
|
// This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
//
|
|
// contact: gamblekit@gmail.com
|
|
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
#include "GkGameReelStripModel.h"
|
|
|
|
#include "..\..\OSSpecific\GkOSUtils.h"
|
|
#include "..\..\Utils\GkMaths.h"
|
|
|
|
GkGameReelStripModel::GkGameReelStripModel(int numItems, int numSymbols, ...)
|
|
: GkGameReelModel(numItems)
|
|
{
|
|
this->numSymbols = numSymbols;
|
|
this->symbolStrip = new int[this->numSymbols];
|
|
|
|
int *parameters = (int*)((int)&numSymbols + 4);
|
|
for (int i = 0; i < this->numSymbols; i++)
|
|
this->symbolStrip[i] = parameters[i];
|
|
|
|
this->stripPosition = GkMaths::Random(this->numSymbols);
|
|
}
|
|
|
|
|
|
GkGameReelStripModel::~GkGameReelStripModel(void)
|
|
{
|
|
delete[] this->symbolStrip;
|
|
}
|
|
|
|
int GkGameReelStripModel::GetSymbol()
|
|
{
|
|
this->stripPosition = (this->stripPosition + 1) % this->numSymbols;
|
|
return this->symbolStrip[this->stripPosition];
|
|
}
|
|
|
|
void GkGameReelStripModel::GenerateReel()
|
|
{
|
|
this->stripPosition = GkMaths::Random(this->numSymbols);
|
|
|
|
for (int itemIndex = 0; itemIndex < this->numItems; itemIndex++)
|
|
{
|
|
this->items[itemIndex] = this->GetSymbol();
|
|
}
|
|
}
|
|
|
|
void GkGameReelStripModel::GenerateReelZero()
|
|
{
|
|
this->stripPosition = this->numSymbols - this->numItems / 2;
|
|
|
|
for (int itemIndex = 0; itemIndex < this->numItems; itemIndex++)
|
|
{
|
|
this->items[itemIndex] = this->GetSymbol();
|
|
}
|
|
} |