package cellsociety; public class TitleScreen { public TitleScreen(Scene scene) } package cellsociety.shape; public class Hexagon extends Polygon { public Hexagon(double sideLength) public void setX(double x) public void setY(double y) } package cellsociety.shape; public class Triangle extends Polygon { public Triangle(double sideLength) public void setX(double x) public void setY(double y) } package cellsociety; public class Simulation { public Simulation(String config, Scene scene) throws SimulationException public void play() } package cellsociety; public class SimulationException extends RuntimeException { public SimulationException(String message) public SimulationException(String message, Throwable cause) } package cellsociety.cell; public class ForagingCell extends Cell { public ForagingCell(Map parameters, int s) public void markChange(Set neighbors) public static String[] availableDirections(String direction) public void antReturnToNest(Enum antState, Set neighbors) public void antFindFoodSource(Enum antState, Set neighbors) protected ForagingCell.State intToState(int state) throws SimulationException } package cellsociety.cell; public class LangtonCell { } package cellsociety.cell; public class PercolationCell extends Cell { public PercolationCell(Map params, int s) public void markChange(Set neighbors) protected State intToState(int state) throws SimulationException } package cellsociety.cell; public class SegregationCell extends Cell { public SegregationCell(Map params, int s) throws SimulationException public void markChange(Set neighbors) public boolean isHappy() protected State intToState(int state) throws SimulationException } package cellsociety.cell; public class AntCell extends Cell { public AntCell(Map parameters, int s) public void markChange(Set neighbors) protected State intToState(int state) throws SimulationException protected void changeAntDirection(Enum state) } package cellsociety.cell; public class FallingCell extends Cell { public FallingCell(int s) public void markChange(Set neighbors) protected State intToState(int state) throws SimulationException } package cellsociety.cell; public class SugarCell extends Cell { public SugarCell(Map params, int s) public void markChange(Agent agent) public void update() public int compareTo(SugarCell o) public void markChange(Set neighbors) protected State intToState(int s) throws SimulationException public int getMySugar() } package cellsociety.cell; public interface ImmutableCell { S getState(); } package cellsociety.cell; public class FireCell extends Cell { public FireCell(Map parameters, int s) throws SimulationException public void markChange(Set neighbors) protected State intToState(int state) throws SimulationException } package cellsociety.cell; public class LifeCell extends Cell { public LifeCell(Map params, int state) public void markChange(Set neighbors) protected State intToState(int state) throws SimulationException } package cellsociety.cell; public abstract class Cell implements ImmutableCell { protected ResourceBundle myResources public Cell(int s) public abstract void markChange(Set neighbors); public S getState() public void setState(S s) public void update() protected abstract S intToState(int s); } package cellsociety; public class Agent { public Agent(Map params) public int getMetabolism() public void move() } package cellsociety; public class Main extends Application { public static final ResourceBundle MODEL_RESOURCES public static final ResourceBundle VIEW_RESOURCES public void start(Stage primaryStage) } package cellsociety.model; public class FallingModel extends Model { public FallingModel(Map parameters, Class cellClass) public void updateCells() public Set getNeighbors(Cell cell) public Cell getDownNeighbor(Cell c) } package cellsociety.model; public class SegregationModel extends Model { public SegregationModel(Map parameters) public void updateCells() } package cellsociety.model; public class PercolationModel extends Model { public PercolationModel(Map parameters) public Set getNeighbors(Cell cell) } package cellsociety.model; public class AntModel extends Model { public AntModel(Map parameters) public Set getNeighbors(Cell cell) } package cellsociety.model; public class SugarModel extends Model { public SugarModel(Map parameters) public void updateCells() } package cellsociety.model; public class LangtonModel { } package cellsociety.model; public class FireModel extends Model { public FireModel(Map parameters) } package cellsociety.model; public class LifeModel extends Model { public LifeModel(Map parameters) public Set getNeighbors(Cell cell) } package cellsociety.model; public abstract class Model { public Model(Map params, Class cellClass) public Set getNeighbors(Cell cell) public void updateCells() public ImmutableModelGrid getImmutableGrid() } package cellsociety.model; public class ForagingModel extends Model { public ForagingModel(Map parameters) } package cellsociety.view; public class AntView extends View { public AntView(Map params, ImmutableModelGrid grid, Scene scene) public void updateColors(ImmutableModelGrid grid) } package cellsociety.view; public class FallingView extends View { public FallingView(Map params, ImmutableModelGrid grid, Scene scene) public void updateColors(ImmutableModelGrid grid) } package cellsociety.view; public class LangstonView extends View { public LangstonView(Map params, ImmutableModelGrid grid, Scene scene) public void updateColors(ImmutableModelGrid grid) } package cellsociety.view; public class SugarView extends View { public SugarView(Map params, ImmutableModelGrid grid, Scene scene) public void updateColors(ImmutableModelGrid grid) } package cellsociety.view; public class ForagingView extends View { public ForagingView(Map params, ImmutableModelGrid grid, Scene scene) public void updateColors(ImmutableModelGrid grid) } package cellsociety.view; public class SegregationView extends View { public SegregationView(Map params, ImmutableModelGrid grid, public void updateColors(ImmutableModelGrid grid) } package cellsociety.view; public class PercolationView extends View { public PercolationView(Map params, ImmutableModelGrid grid, public void updateColors(ImmutableModelGrid grid) } package cellsociety.view; public abstract class View { public View(Map params, ImmutableModelGrid grid, public void reset() public abstract void updateColors(ImmutableModelGrid grid); public boolean getPlay() public boolean getStepping() public boolean getFaster() public boolean getSlower() } package cellsociety.view; public class FireView extends View { public FireView(Map params, ImmutableModelGrid grid, public void updateColors(ImmutableModelGrid grid) } package cellsociety.view; public class LifeView extends View { public LifeView(Map params, ImmutableModelGrid grid, Scene scene) public void updateColors(ImmutableModelGrid grid) } package cellsociety.grid; public abstract class Grid implements Iterable { public record Point(int x, int y) {} public Grid(Map params) public Point getLocation(Cell c) public E getCell(Point r) public Set getAllCells() public int getRows() public int getCols() public void set(E c, Point r) public void swap(E cell1, E cell2) public Iterator iterator() public GridIterator() public boolean hasNext() public E next() } package cellsociety.grid.model; public class RectModelGrid extends ModelGrid { public RectModelGrid(Map parameters, Class cellClass) public Set getNeighbors(C cell) public Set getAllNeighbors(C cell) public Set get4Neighbors(C cell) public C getUpNeighbor(C c) public C getDownNeighbor(C c) public C getLeftNeighbor(C c) public C getRightNeighbor(C c) public C getUpLeftNeighbor(C c) public C getDownLeftNeighbor(C c) public C getDownRightNeighbor(C c) public C getUpRightNeighbor(C c) } package cellsociety.grid.model; public class HexModelGrid extends ModelGrid { public HexModelGrid(Map params, Class cellClass) public Set getNeighbors(C cell) public C getUpNeighbor(Cell c) public C getDownNeighbor(C c) public C getUpLeftNeighbor(C c) public C getUpRightNeighbor(C c) public C getDownLeftNeighbor(C c) public C getDownRightNeighbor(C c) } package cellsociety.grid.model; public interface ImmutableModelGrid extends Iterable { ImmutableCell getCell(Point p); Point getLocation(C c); } package cellsociety.grid.model; public abstract class ModelGrid extends Grid implements ImmutableModelGrid { public ModelGrid(Map params, Class cellClass) public Set getCellsByState(Enum state) protected void fill(Map parameters) public abstract Set getNeighbors(C cell); } package cellsociety.grid.view; public class HexViewGrid extends ViewGrid { public HexViewGrid(Map params) public void initializeShapes() } package cellsociety.grid.view; public abstract class ViewGrid extends Grid { protected abstract void initializeShapes(); public ViewGrid(Map params) public Shape getShape(Point p) } package cellsociety.grid.view; public class RectViewGrid extends ViewGrid { public RectViewGrid(Map params) protected void initializeShapes() } package cellsociety.grid.view; public class TriViewGrid extends ViewGrid { public TriViewGrid(Map params) public void initializeShapes() }