Summary
We have expanded our knowledge of the stack and the heap. We know that local variables are on the stack and only accessible while in scope and that classes and their member variables are on the heap and accessible at any time provided the currently executing code has a reference to the required instance. We also know that if an object has no reference on the stack it will be garbage collected. This is good because it frees up memory but potentially problematic because it uses processor time that can affect the performance of our game.
We have made a good start with the Snake game though most of the code we wrote was similar to previous projects. The exception was the way in which we selectively call the update
method only when one-tenth of a second has elapsed since the previous call to update
.
In the next chapter, we will do something a little bit different and see how we can localize a game (using Snake as an example) to provide text in different languages.