Model-View-Controller (MVC) pattern
The Model-View-Controller (MVC) pattern is a software architecture that tries to separate the data (Model) from the displays (Views) and actions that change that data (Controller).
In this recipe, we use the MVC pattern to implement a feature of many games—a visual health bar representing the Player's numeric health value (in this case, a float number from 0.0 - 1.0). As the user presses the Up/Down arrow keys (simulating healing and damage), the value of the player's heath changes. With the health-change events, the visual display and a Console log are updated to present the new health values to the user:

Getting ready
For this recipe, two images been provided in the 17_05
folder:
health_bar_outline.png
: A red heart image and outline for the health fillerhealth_bar_fill_blue_to_green.png
: A graduated (blue left to green right) filler image, indicating how much health is left
Thanks to Pixel Art Maker for the health bar image: