Skip to content

This project, completed for my software design/implementation course, runs a variety of different CA simulations that model various situations (i.e. spreading fire, foraging ants, and segregated communities).

License

Notifications You must be signed in to change notification settings

mtodzo/Cellular-Automaton-Simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CellSociety_Team11

Information

Names: Miles Todzo, Belanie Nagiel, Kelley Scroggs

Date Started: 1/29/18

Date Ended: 2/11/18

Cumulative Hours Worked: 120

Roles

Miles:

  • Simulation class
  • SegOccupant, LifeOccupant, SugarOccupant, and AntOccupant subclasses
  • Grid superclass and subclasses

Belanie:

  • Setup class
  • DisplayGrid class
  • PopulationGraph class
  • XMLCreation class
  • Buttons superclass, PauseButton, StartButton, and StopButton subclasses
  • some work on creating XML files by hand

Kelley:

  • CellOccupant superclass, FireOccupant, LangtonOccupant, RPSOcccupant, WatorOccupant subclasses
  • Work on grids such as specific neighbors
  • LoadGridException class
  • Exceptions and Error handling Put your source code, resources, and property files here.

Resources

  1. UI Controls
  2. Reading XML Files
  3. Reading .properties Files
  4. BorderPane
  5. VBox
  6. GridPane
  7. FileChooser
  8. Creating XML Files
  9. Opening Multiple Windows
  10. Array of Lists
  11. LinceChart
  12. Creating Hexagons
  13. Using Polygon
  14. Langton Loops
  15. More Langton Loops
  16. Ant Foraging
  17. SugarScape

File to Start

Setup.java

Using the Program

The following table matches simulation to their input files:

Simulation Chart

The following table lays out the sample buggy input files we created:

Sample Buggy Files

Other errors we handle without crashing:

  • any type of invalid input from user while creating either random or probability specific XML files for simulations

Resource Files

Sample Buggy Files

Decisions, Assumption, Simplifications

  • Some simulation specific parameters (probability of a state catching fire when neighbor is on fire) are stated in the CellOccupant subclass for the simulation type. In order for the user to change them, the variable must be changed in these classes, but this only needs to be done once.
  • When a user opens up a new simulation in a new window, the two simulations will be running separately and they do not need to be the same type of simulation or the same simulation.
  • A user can specify whether they want hexagonal or square cells in the XML file.

Bugs,Crashes, Problems

  • The Hexagon display will occasionally be off because of some difficulty coordinating the size of the hexagons and how far they are away from each other. Having odd and even numbers of hexagons in the rows and columns caused part of this difficulty.

Impressions

We really like working on this project and had a great time!

About

This project, completed for my software design/implementation course, runs a variety of different CA simulations that model various situations (i.e. spreading fire, foraging ants, and segregated communities).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages