road.cpp
/*
Programmer: Jennifer Leopold Date: November 7, 2015
File: road.cpp
Purpose: Implementation file for the Road class
*/
#include "road.h"
#include <iostream>
using namespace std;
Road::Road()
{
m_width = INIT_WIDTH;
for (int i = 0; i < MAX_WIDTH; i++)
m_sectors[i] = EMPTY;
}
void Road::placeCar(const int carWidth,
const int leftmostCarPosition,
const char mark)
{
int endPosition;
if ((carWidth < 0) || (carWidth >= MAX_WIDTH))
endPosition= 0;
else endPosition = leftmostCarPosition + carWidth - 1;
for (int i = 0; i < MAX_WIDTH; i++)
if ((i >= leftmostCarPosition) && (i <= endPosition))
m_sectors[i] = mark;
else m_sectors[i] = EMPTY;
return;
}
ostream& operator << (ostream& outs, const Road& r)
{
for (int i = 0; i < r.m_width; i++)
outs << "|" << r.m_sectors[i];
outs << "|\n";
return(outs);
}