As my application for the MechWarior: Living Legends Crysis Mod (which was successful, btw 😉 ), I had to implement a Mech Heat Tracker. I was given a template to work from—a class with a couple of method and attribute declarations—and had to work out the implementation details all by myself. I was only given a few instructions (see MechHeatTracker.h).

Basically, this is a simulation of a two-legged combat vehicle called ‘BattleMech’ (in short ‘Mech) which generates lots of heat while fighting. ‘Mechs are equipped with heat sinks to dissipate the excessing heat they are generating. When the excess heat is just too much the heat sinks to cope with they can flush coolant to increase their cooling rate, as long as the coolant tanks don’t run out of it. Heat sink’s effectiveness is affected by the environment (they have a harder time to dissipate heat in the sahara as they would have at the north pole). Also, if the heat exceeds a certain threshold, the heat sinks may take some damage—when they are, their effectiveness is affected.

You can take a look at my implementation by downloading the source files given in the download links below. I’ve also created a little test program (Windows binary), which just generates some random input data for the Mech Heat Tracker and prints the results to the console.