In this chapter, we demonstrated several of the Java 8 functional features to create a Zork-like game. Using console input, a player can navigate through a world picking up and dropping items along the way. New worlds can be configured using a file containing the description of the world.
We showed how to use the command pattern to handle commands. The commands were implemented using a combination of lambda expressions and other methods. Adding command aliases involved adding a different keyword to a hash map of commands.
Streams were used in a number of places to simplify processing and make the code more readable. Also used in conjunction with lists and maps was the
forEach method, which replaced the need for imperative loops.
At several ...