Back to Projects

Text-Based Monopoly

2023 Year 1 Individual Project. Console-based Monopoly game for 2-10 players with full gameplay mechanics and banking logic.

Technologies Used

JavaGradleJUnitSLF4J

Overview

I implemented a complete, fully-functional Monopoly game engine in Java with comprehensive game mechanics, property management, and financial systems. The project demonstrates mastery of object-oriented programming principles and complex state management.

Game Features

  • Support for 2-10 players with sequential turn management
  • Complete Monopoly board with 40 squares
  • Property ownership, trading, and mortgage system
  • Accurate rent calculation based on property development
  • House and hotel placement mechanics
  • Chance and Community Chest card system
  • Jail mechanics with proper turn counting
  • Bankruptcy detection and player elimination
  • Game state persistence and round tracking

Technical Architecture

  • Object-Oriented Design: Polymorphic square hierarchy with specialized types
  • Design Patterns: Factory pattern, Dependency Injection, Encapsulation
  • Code Quality: Checkstyle enforcement with maximum 10 errors
  • Testing: JUnit 5 with parameterized tests and Mockito
  • Code Coverage: JaCoCo analysis with 50% minimum branch coverage
  • Build System: Gradle with Shadow JAR for executable packaging

Recognition & Achievement

Demonstrated exceptional understanding of OOP principles, design patterns, and software engineering best practices. The project showcased clean architecture, comprehensive testing, and professional code quality standards.