But: A first type of bacteria, single-flagellated bacteria, appears. Nutrient sources begin to diversify.
Required concepts: classes, constructors/destructors, inheritance, polymorphism
These concepts are explained in lessons 16, 17, 18, 19, 20, and 21.Required files : partie3.zip
The archive provided for this step contains a new version of the file CmakeLists.txt which allows you to compile the material in this section. It also contains :
This important step will allow you to begin modeling an initial type of bacteria, single-flagellated bacteria. You will anticipate the presence of other types of bacteria and propose a generic model of bacteria in general, allowing you to group together all the elements they have in common.
Among the characteristics of bacteria, some may mutate over time. Utility classes will be introduced to manage mutable parameters (whose values change randomly over time).
Finally, you will apply your new knowledge of polymorphism to differentiate between nutrient sources. Nutrient sources may develop spontaneously, without manual intervention.
To summarize, here is the essence of the architecture you should have achieved by the end of this stage:

Let's now begin coding. In your program, be sure to encapsulate your classes properly, in particular by not making your attributes public or protected (unless explicitly stated otherwise in the problem statement). You should also always include destructors.
The components (modules) that need to be implemented to complete this step are as follows:
At the end of this step, the features needed to simulate the basic movement of single-flagellated bacteria as well as nutrient consumption will be available. Nutrients can be automatically generated