That's Life is a variant of The Game of Life, a board game originally created by Milton Bradley in 1860 and redesigned a century later by Reuben Klamer.
As the name suggests, it mirrors actual events in a person's life — from going to college and landing a job, through getting married and buying a house, to borrowing loans and finally retiring. The most distinguishing feature of the game is the presence of branching points where a player has to make a decision: take the normal route or explore a more roundabout path towards the goal of retiring with the most amount of cash on hand.
That's Life is the major course output in an object-oriented programming class under Ms. Shirley B. Chu of the Software Technology Department, De La Salle University. The complete project specifications and rules of the game are given in the file Project Specifications.pdf
. Below are screenshots of the gameplay:
This project consists of four folders:
api
-Javadoc
documentation of this projectbin
-.class
filessrc
-.java
files (source codes)uml
- Unified Modeling Language (UML) class diagrams of this project
Besides the That's Life.jar
binary, it also includes the following files:
Project Specifications.pdf
- Complete project specificationsTest Script Documentation.pdf
- Detailed description of test cases alongside expected and actual program behaviorsource.txt
- File paths of the.java
source codes (used in compilation)
This project was built using Java following the Model-View-Controller (MVC) architectural pattern. The graphical user interface was created using Swing, a platform-independent toolkit that is part of the Java Foundation Classes.
The .class
files were generated using Java SE Development Kit 14. To compile the Java files, execute the following command in the terminal (opened from the root directory, i.e., the directory containing source.txt
):
javac -d out @source.txt
To run the game, execute the following command in the terminal (opened from the root directory as well):
java -cp .;bin;**/*.class ThatsLife
Alternatively, the .jar
file is also provided.
The rules of the game are laid out in this document. They can also be read in-game by clicking the RULES
button at the bottom right corner of the window.
-
Mark Edward M. Gonzales
mark_gonzales@dlsu.edu.ph
gonzales.markedward@gmail.com -
Hylene Jules G. Lee
hylene_jules_lee@dlsu.edu.ph
lee.hylene@gmail.com
Assets (images) are properties of their respective owners. Attribution is included in the Rules section of the game and can be found in src/assets/rules.txt
.