Evaluative instance for Diseño Orientado a Objetos 2024, Universidad Nacional de Río Cuarto.
The report for this project is located in the following directory: diagrams/GameofLife-Informe.pdf
To execute the project run the following command:
./gradlew run -Pargs=<fileName.properties>
Here's an example:
./gradlew run -Pargs=BriansBrainSpreading.properties
To run tests:
./gradlew test
Note: The properties files are located in the src/main/resources
folder.
- simulationType: The variant of Game of Life that you want to run. It can be one of the following:
Standard
: Classic Game of LifeImmigration
: Immigration Game of LifeQuadLife
: Quad Life Game of LifeBrianBrain
: Brian's BrainStarWars
: Star Wars Game of Life
- rules: In case you want to run Standard Game of Life, you can define the format
Bx/Sy
. - rows: Number of rows of the grid.
- cols: Number of columns of the grid.
- limit: Number of iterations to run the simulation.
- clockType: Type of clock to use. It can be one of the following:
StandardClock
: Standard clockInputClock
: Press Enter to continue to the next step.SpeedClock
: Simulation advances with astepSpeed
.
- stepSpeed: In case you want to run the simulation with SpeedClock, you can run it with different speeds.
Fast
: 1 second each step.Medium
: 2 seconds each step.Slow
: 3 seconds each step.
- initialState: Initial state of the grid. It should be string of a board with the format:
|CCC|\
|CCC|\
...
|CCC|
Where C is the representation of a cell. It can be:
D
: Dead cell.A
: Standard Alive Cell.W
: White cell (Immigration).B
: Black cell (Immigration).R
: Red cell (QuadLife).G
: Green cell (QuadLife).P
: Blue cell (QuadLife).Y
: Yellow cell (QuadLife).T
: Refractory cell (Brian's Brain).F
: Firing cell (Brian's Brain).1
: State-1 cell (Star Wars).2
: State-2 cell (Star Wars).3
: State-3 cell (Star Wars).