Developed a peg solitaire game that can be played through terminal.
Based on the arguments to the main class, the board can be set to the
default, European, or Triangle styles of the board.
Purpose:
Use object-oriented programming to develop a peg solitaire game
that reuses code for different modes of play
Implementation of decorator pattern
Outcome:
Each board is a different class
The board type, empty space position, and size can be set by
the user
Each marble is defined by a enum that can either be in play,
taken, or out of bounds
Code that is reused is in an abstract board class
Error messages displayed when invalid inputs are entered