This is an educational programming example, implementing a command line version of Azul, the popular board game designed by Michael Kiesling. Only the gray-sided game variant is implemented.
The program is written in C++ but without using classes, methods, standard library containers, smart pointers, templates, etc., as it is intended for beginner programming students.
Ideas for further development:
- Display factory tiles sorted by color
- Display all player boards next to each other
- Display colors in command line
- Add Undo command option
- Choose automatically when there is only 1 option (1 valid column, no tiles on factories, etc.)
- Implement the standard game variant with predetermined wall pattern (+1: read pattern from file)
- Set the number of colors and board size at run-time from user input
- Develop an AI player
- Extend the program with a network interface for online multiplayer
- Implement the game in other programming languages
- Add creative Easter eggs to the game :)