Monopoly

Fast Facts

  • Written By: Tim April, David Bond, and Niels Widger
  • Written In: Java
  • When Written: Sophomore Year College
  • Uses: Swing
  • Purpose: Class Project

I created this monopoly game as part of an undegradate class, Introduction to Software Design and Development, at the University of New Hampshire. I was mainly responsible for the AI, Cards, Decks, and Deeds, however it was a team effort. I was specifically in charge of programming the Strategic AI, for this game. I had no formal experience in AI at the time of writing this program, so the methods and algorithms used were simply ones that I invented to handle the problem at hand. This is how I described the AI design in my code comments:

This AI works via a variety of methods. First, it attempts to make use look up tables to estimate various probabilites and to estimate what the best choices would be. The tables are calculated at the first instantiation of this class to prevent overload with constant calculation. It also attempts to keep a budget of money it will need. This way it doesn't spend to must money on houses and then suddenly have itself forced into selling them.

While it wasn't perfect, the AI did quite well.

Monopoly Screenshot
Screenshot of the Monopoly Board

UML Diagrams
Screenshot of the Monopoly Board

Probablity Table
One of the lookup tables used

I have included the program here for download. If you are in windows with Java 1.6 installed double clicking on it should open the program. Otherwise open it via the command line useing java -jar Monopoly-v1.0.jar.

Download Monopoly