If a directory called Stoplite presently exists on your computer, delete it.
Download a ZIP'ed copy of the Lab 12 project and store it in the C:\files directory. Use PowerZip to extract the archive to the C:\files directory.
In this lab, we continue improving the stoplight of Lab 11. Open, build, and execute c:\files\stoplite\stoplite.dsw.
This time you'll see two windows. One window is our stoplights
from Lab 11. The North-South light should be a solid green,
while the East-West light is a blinking red. Right now the second
window is nothing more than a magenta background. Now press within
the magenta. A car should appear! This car will remain until the
East-West light is green for at least fifty Tick
's.
The only files you'll change in this lab are stoplite.h
and stoplite.cpp. If you'll
look very carefully, you'll notice a slight difference between the
Lab 11
stoplite.cpp and this one.
The difference is in the Tick
routine which now takes a
single argument called carPresent
. The
variable carPresent
represents a car "pad"
on the East-West road. It is non-zero when a car is present, and it
is zero when no car is present.
Modify the StopLight
class so that the EW light will
stop flashing when the car arrives.
Modify the StopLight
class so that the NS light will
change to Caution 20 ticks after the car arrives at the EW light.
Modify the StopLight
class so that the NS light will
change to Caution 20 ticks after the car arrives at the EW light and
then to Stop 20 ticks later when the EW light changes to Go.
Modify the StopLight
class
so that it will go through a complete single cycle each time
an East-West car arrives and allow each car to cross the intersection
40 ticks after it arrives at the light. You must hold the green light
in the East-West direction for at least fifty Tick
's to
allow the East-West car to pass.
Return to CSCI
201 page
Return to the UNCA Computer Science
home page