A game that combines object-oriented programming, a dynamic programming algorithm and a graphical user interface (GUI)