===================
CompSci 308 Cell Society Project
Team members: Hari Rajan, Bihan Zhuang, Vishnu Gottiparthy, Gabriel Chen
Started: 01/29/2017
Finished: 02/12/2017
Hours: 50 per individual
For this project, I was in charge of the following:
-
Predator-Prey Model backend
-
State interface and State Enums for each simulation
-
Loader package (Loader.java, XMLCreator.java, XMLException.javaj, XMLParse.java), all configuration features, exception handling and alerts
-
Refactoring code into the Model.java superclass and its subclasses
-
Removing magic values from code and moving them to Resources.java
As the project progressed, we all ended up helping each other out on practically every facet of the project so I also had a role working on other parts of the project including the Segregation model, the main package (specifically Controller.java), and implementing other features as well. Also, we all spent a lot of time refactoring and debugging each other's code.
-
Designed the class hierarchy following the MVC model with group. Refactored so that the Controller, Views and Models integrate well together. Also refactored to better separate frontend and backend. Worked on some GUI, View, Controller and Model methods.
-
Designed and wrote classes in the cellshapeview and neighborfinder packages to allow different shapes of cells.
-
Wrote backend for Segregation Cells.
-
Debugging with team.
-
Spreading Fire model backend
-
Population graph visualization front and back end
-
Refactored model double for-loop methods to iterator methods, and cut down on duplicate code/hide methods from subclasses
-
Displaying of cells in the model view
-
Debugging with the team
-
Javadoc comments
-
Worked with group on class hierarchy following the MVC model. Worked on Controller, Views, and Model integration. Worked on step logic, and main application logic. Worked on refactoring in various areas in the project as well. Worked mainly on GUI, View, Controller, and Model. Also implemented interactions like zooming, scrolling, and click to change state.
-
Designed and wrote the classes for Simulation View, Simulation GUI, Control Panel, working closely with oother components as well.
-
Wrote backend for Conway Cells.
-
Worked with everyone on debugging basically everything as things came up.
Many official Java Documentation on different built-in classes and StackOverflow Q&A.
Compsci 308 Piazza page.
Run ApplicationStartup in main package
Use any XML file in the resources package.
-
The English properties file in the resources package.
-
All the XML files in the resources package for running the simulations.
Nothing special
None identified
-
Different arrangements of neighbors
-
Triangle, square, and hexagon cell shapes
-
Error checking
-
Initial configurations set by specific locations and states, randomly based on total number of locations, and randomly based on probability distribution
-
Graph of populations of each type of cell
-
Click to change cell state
-
Zoom in/out functionality
Assignment was a good challenge that pushed us to make good design decisions.