Final project for CS 3110, a course on functional programming using OCaml. The project is to implement a version of Monopoly using purely OCaml. The project is built from scratch, including the game logic, user interface, and all game components. The game supports multiple players and includes features such as property trading, auctions, and chance/community chest cards. The project demonstrates a strong understanding of functional programming concepts and OCaml syntax, as well as the ability to design and implement a complex system using a purely functional programming language.
This project stretched my understanding of functional programming and OCaml, as I had to design and implement a complex game using a language I was mostly unfamiliar with. I had to learn how to use OCaml's data structures, pattern matching, and GUI libraries to build the game. I also had to think about every game component in a functional programming way, which was a new and challenging experience for me. Through this project, I gained a deeper understanding of functional programming concepts and OCaml syntax, and I was able to apply these concepts to build a fully functional game. This project was a great opportunity for me to learn and apply the functional programming concepts I had learned during the semester, and also offered an opportunity for me to be creative and expore more of a new language in a fun and engaging way.