Files
Coleman-Code/COM380/Project5/GambleKit/Engine/Game/ReelModels/GkGameReelStripModel.cpp
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

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();
}
}