Skip to content

Instantly share code, notes, and snippets.

@RobertLarson
RobertLarson / SportsGameScheduleBuilder.h
Created August 2, 2017 02:40
SportsGameScheduleBuilder.h
class SportsGameScheduleBuilder: public GameScheduleBuilder {
public:
SportsGameScheduleBuilder();
virtual ~SportsGameScheduleBuilder();
virtual void BuildSchedule();
virtual void BuildDate(unsigned int dateNumber, std::string date);
virtual void BuildGame(unsigned int dateNumber, unsigned int gameNumber);
virtual void AddTime(unsigned int dateNumber, unsigned int gameNumber, std::string time);
@RobertLarson
RobertLarson / SportsGameScheduleBuilder.cpp
Created August 2, 2017 02:39
SportsGameScheduleBuilder.cpp
SportsGameScheduleBuilder::SportsGameScheduleBuilder()
: m_gameSchedule(nullptr) {
}
SportsGameScheduleBuilder::~SportsGameScheduleBuilder() {
delete m_gameSchedule;
}
void SportsGameScheduleBuilder::BuildSchedule() {
@RobertLarson
RobertLarson / SportsGameSchedule.h
Created August 2, 2017 02:38
SportsGameSchedule.h
class SportsGameSchedule : public GameSchedule {
public:
SportsGameSchedule();
virtual ~SportsGameSchedule();
void AddGameDate(const unsigned int & dateNumber, GameDate * date);
GameDate * GetGameDate(const unsigned int & dateNumber) const;
virtual void Display() const;
@RobertLarson
RobertLarson / SportsGameSchedule.cpp
Created August 2, 2017 02:37
SportsGameSchedule.cpp
SportsGameSchedule::SportsGameSchedule() {
}
SportsGameSchedule::~SportsGameSchedule() {
}
void SportsGameSchedule::AddGameDate(const unsigned int& dateNumber,
GameDate* date) {
@RobertLarson
RobertLarson / NFLSchedulerTest.cpp
Created August 2, 2017 02:35
NFLSchedulerTest.cpp
int main()
{
SportsGameScheduleBuilder * gameScheduleBuilder = new SportsGameScheduleBuilder();
NFLScheduler scheduler(gameScheduleBuilder);
scheduler.ConstructSchedule();
GameSchedule * schedule = gameScheduleBuilder->GetSchedule();
@RobertLarson
RobertLarson / NFLScheduler.h
Created August 2, 2017 02:35
NFLScheduler.h
class NFLScheduler {
public:
NFLScheduler(GameScheduleBuilder * builder);
virtual ~NFLScheduler();
void ConstructSchedule();
private:
GameScheduleBuilder * m_gameScheduleBuilder;
@RobertLarson
RobertLarson / NFLScheduler.cpp
Created August 2, 2017 02:33
NFLScheduler.cpp
NFLScheduler::NFLScheduler(GameScheduleBuilder* builder)
: m_gameScheduleBuilder(builder) {
}
NFLScheduler::~NFLScheduler() {
}
void NFLScheduler::ConstructSchedule() {
unsigned int dateNumber = 0;
@RobertLarson
RobertLarson / GameScheduleBuilder.h
Created August 2, 2017 02:32
GameScheduleBuilder.h
class GameScheduleBuilder
{
public:
virtual void BuildSchedule() = 0;
virtual void BuildDate(unsigned int dateNumber, std::string date) = 0;
virtual void BuildGame(unsigned int dateNumber, unsigned int gameNumber) = 0;
virtual void AddTime(unsigned int dateNumber, unsigned int gameNumber, std::string time) = 0;
virtual void AddHomeTeam(unsigned int dateNumber, unsigned int gameNumber, std::string name) = 0;
virtual void AddAwayTeam(unsigned int dateNumber, unsigned int gameNumber, std::string name) = 0;
@RobertLarson
RobertLarson / GameSchedule.h
Created August 2, 2017 02:31
GameSchedule.h
class GameSchedule
{
public:
virtual void Display() const = 0;
};
@RobertLarson
RobertLarson / GameDate.h
Created August 2, 2017 02:30
GameDate.h
class GameDate {
public:
GameDate(std::string date);
virtual ~GameDate();
void AddGame(const unsigned int & gameNumber, Game * game);
Game * GetGame(const unsigned int & gameNumber);
void Display() const;