This project implements a Java-based monopoly game that performs the following functions:

a. support a command line user interface.
b. support both human players and computer players.
c. ask for a command from a human player at each step, including Continue, Report, Auto, and Retire.
d. let a human player take his/her turn once receiving the command Continue.
e. print out the information of each square and each player’s location on board once receiving the command Report.
f. switch a human player to be auto and let it control by a computer which always continues until the game ends and makes random decisions once receiving the command Auto.
g. switch a human player to be retired (leaves games with all his/her properties unowned) once receiving the command Retire.
h. ask for input from human players on the condition that whether to buy a property or pay the fine to get out of jail.

Monopoly is a board game that originated in the United States in 1903 as a way to demonstrate that an economy that rewards wealth creation is better than one in which monopolists work under few constraints and to promote the economic theories of Henry George and in particular his ideas about taxation. The current version was first published by Parker Brothers in 1935. Subtitled “The Fast-Dealing Property Trading Game”, the game is named after the economic concept of monopoly—the domination of a market by a single entity. It is now owned and produced by the American game and toy company Hasbro. Players move around the game-board buying or trading properties, developing their properties with houses and hotels, and collecting rent from their opponents, with the goal being to drive them all into bankruptcy leaving one monopolist in control of the entire economy. Since the board game was first commercially sold in the 1930s, it has become a part of popular world culture, having been locally licensed in more than 103 countries and printed in more than thirty-seven languages.

Game Flow

The basic design of the game is that the players will be asked for commands from the console and according to their input, the corresponding output will be shown. When the game is finished, the winner will be shown.


If you are interested in this project, please refer to the project on GitHub for more details and installation guidelines.