In this chapter, we programmed a table game—Mastermind. We not only programmed the model of the game but also created an algorithm that can guess. We revisited some OO principles and discussed why the model was created the way it was. We created the model of the game and at the same time we learned about Java collections, integration tests, and JavaDoc. In the next chapter, we will build on this knowledge and we will enhance the game to run on multiple processors.




















































