Files
GTSchoolShit/CS2335/FinalSubmission/Design_Changes_P3.txt
2025-06-07 01:59:34 -04:00

29 lines
1.8 KiB
Plaintext

NOTE: The current design is UML documented in the currentDesign.mdl file
which is there for your viewing pleasure with Rational Rose.
1. Physics Engine
As you can see, the Physics Engine is heavily modified. This was done because
PMD is a fickle lover, as such things needed to be moved around and rearranged.
rayTracing was moved into separate functions, instead of overloading
calculateNextPosition with every possible type of thing, it was decided to
better move things into separate functions, hence all the new cnp* functions.
These functions handle the specific things needed for given types of objects.
For example, Lemmings are treated differently by the Physics Engine than
Particles, though gravity and rayTracing are done the same between the two.
THe Physics Engine also handles some of the more Physics related Lemming
job types, such as Climber and Glider. It was deemed silly to use their given
process() functions as this would become overly complicated, though their Job
types still contain the process() function as well as having the Job classes
with new private members to store various features. For example, the Bridger
is treated exactly as a lemming, however his process function is called and
a part of the brick is laid until all twelve bricks are laid. In his class
he also has a "bricks" member which keeps track of the # of bricks laid.
2. Networking
Due to a problem with the network games and one person winning before the other
finished, it was necessary to create a LevelFinishMessage. This message informs
the other player when they have finished so as to bring the player to the
game stats screen. This message is pretty much a placeholder as it merely
needs to exist in sending, not actually send any large amount of data.