CMPS-4350 Advanced Software Engineering Lab-6

Overview:

This lab must be completed in-class on Thursday.

Step 1:
You may do your work on Odin.

directory /4350/6

Get the lab files from Odin at:

/home/fac/gordon/p/4350/code/lab6/*


Step 2:

You will start by building and running the program.

There should be a spinning clock face.

Press M to turn on the metronome.

Press U to apply a random pause during the game loop.

The Minus - and Equal = keys will change the clock rate.

Press U, and notice how the clock does not run at a steady pace any longer.

Your job is to make the clock run at a steady rate even while random
pauses are applied during the game loop.


Step 3:
To test your program...

Press X to start a second clock window.

When the child process starts, both clocks will be running with their
metronome on. Press U in one of the windows, and the clocks should
continue running at the same pace exactly.

The clocks will not look exactly the same, as one will run in a
somewhat jumpy manner, but the pace of each clock will be the same.




Step 4:
There are a few other changes to make to your program.

Some changes are documented in the comments at the top of the code.

See how many of these you can do, please.

hint...
some of our frameworks have game loop timing similar to what you are asked to
do in this lab. Please do not copy-paste the main function from a framework,
but enter the components where indicated in the lab3.cpp comments.


Parent and child process starting together...

When the child clock begins, its clock hands should be synchronized with
the parent clock, not only in pace, but in position.
This may or may not happen every time.
Your instructor will describe a method to try to make this happen.


What to turn in...
Your /4350/6/lab6.cpp program will be collected from Odin.