Number Lines: 1399 total Classes: 19 Abstract: 1 Subclasses: 16 Interfaces: 0 Interfaces Used: 0 Use of static Global instance variables Non-private instance variables ./src/cellsociety_team13/Cell.java: protected String currentType, nextType; ./src/cellsociety_team13/Cell.java: protected Map currentState, nextState; ./src/cellsociety_team13/Cell.java: protected int myRow, myCol; ./src/rule/Rule.java: protected Map parameterMap; ./src/rule/Rule.java: protected List nonDiagNeighbours; ./src/rule/Rule.java: protected List myNeighbours; Magic values ./src/cellsociety_team13/Cell.java: if (nextState.containsKey(stateName)) { ./src/cellsociety_team13/CellGrid.java: if (cell.getCurrentType().equals(cellType)) { ./src/cellsociety_team13/CellGrid.java: if ((col >= gridWidth || (col < 0)) || (row >= gridHeight) || (row < 0)) { ./src/cellsociety_team13/CellGrid.java: if (getCell(myCell.getMyRow() + 1, myCell.getMyCol()) != null) { ./src/cellsociety_team13/CellGrid.java: if (getCell(myCell.getMyRow() - 1, myCell.getMyCol()) != null) { ./src/cellsociety_team13/CellGrid.java: if (getCell(myCell.getMyRow(), myCell.getMyCol() + 1) != null) { ./src/cellsociety_team13/CellGrid.java: if (getCell(myCell.getMyRow(), myCell.getMyCol() - 1) != null) { ./src/cellsociety_team13/CellGrid.java: if (getCell(myCell.getMyRow() + 1, myCell.getMyCol() + 1) != null) { ./src/cellsociety_team13/CellGrid.java: if (getCell(myCell.getMyRow() + 1, myCell.getMyCol() - 1) != null) { ./src/cellsociety_team13/CellGrid.java: if (getCell(myCell.getMyRow() - 1, myCell.getMyCol() - 1) != null) { ./src/cellsociety_team13/CellGrid.java: if (getCell(myCell.getMyRow() - 1, myCell.getMyCol() + 1) != null) { ./src/cellsociety_team13/GameParameter.java: if (val < minVal || val > maxVal) { ./src/gui/CellSocietyGUI.java: if (ruleName.equals("GameOfLife")) { ./src/gui/CellSocietyGUI.java: } else if (ruleName.equals("SchellingModel")) { ./src/gui/CellSocietyGUI.java: } else if (ruleName.equals("WatorWorld")) { ./src/gui/CellSocietyGUI.java: } else if (ruleName.equals("SpreadingOfFire")) { ./src/gui/XMLFileControl.java: if(!filename.substring(filename.length()-4, filename.length()).equals(".xml")){ ./src/rule/GameOfLife.java: if (myCell.getCurrentType().equals("LIVE")) { ./src/rule/GameOfLife.java: if(countNeigboursOfType("DEAD") == 3){ ./src/rule/GameOfLife.java: if(countNeigboursOfType("LIVE") < 2 || countNeigboursOfType("LIVE") > 3){ ./src/rule/GameOfLife.java: if (myCell.getCurrentType().equals("DEAD")) { ./src/rule/GameOfLife.java: } else if (myCell.getCurrentType().equals("LIVE")) { ./src/rule/SchellingModel.java: if (myCell.getCurrentType().equals("EMPTY")) { ./src/rule/SchellingModel.java: } else if (myCell.getCurrentType().equals("X")) { ./src/rule/SchellingModel.java: } else if (myCell.getCurrentType().equals("O")) { ./src/rule/SchellingModel.java: if (myCell.getCurrentType().equals("EMPTY")){ ./src/rule/SchellingModel.java: if ((cellCurrentType == null || cellCurrentType.equals("EMPTY")) && ./src/rule/SpreadingOfFire.java: if (myCell.getCurrentType().equals("TREE") && hasFire ) { ./src/rule/SpreadingOfFire.java: if (myRandomValue < getParameter("probCatch")) { ./src/rule/SpreadingOfFire.java: } else if (myCell.getCurrentType().equals("FIRE")) { ./src/rule/SpreadingOfFire.java: if(myNeigh.getCurrentType().equals("FIRE")){ ./src/rule/SpreadingOfFire.java: if (myCell.getCurrentType().equals("FIRE")) { ./src/rule/SpreadingOfFire.java: } else if (myCell.getCurrentType().equals("TREE")) { ./src/rule/SpreadingOfFire.java: } else if (myCell.getCurrentType().equals("EMPTY")) { ./src/rule/WatorWorld.java: if (myCell.getCurrentType().equals("FISH")) { ./src/rule/WatorWorld.java: } else if (myCell.getCurrentType().equals("SHARK")) { ./src/rule/WatorWorld.java: if (attacker.equals("SHARK") && target.equals("FISH")) { ./src/rule/WatorWorld.java: if (myCell.getCurrentState("lifetime") < 4) { // parameterMap.get("lifetime") ./src/rule/WatorWorld.java: if (myCell.getCurrentType().equals("FISH")) { ./src/rule/WatorWorld.java: } else if (myCell.getCurrentType().equals("KELP")) { ./src/rule/WatorWorld.java: } else if (myCell.getCurrentType().equals("SHARK")) { ./src/rule/WatorWorld.java: if (myRandomValue < 0.25 && nonDiagNeighbours.get(0).getCurrentType().equals(type)) { ./src/rule/WatorWorld.java: } else if (myRandomValue > 0.25 && myRandomValue < 0.5 && nonDiagNeighbours.size() > 1 ./src/rule/WatorWorld.java: } else if (myRandomValue > 0.5 && myRandomValue < 0.75 && nonDiagNeighbours.size() > 2 ./src/rule/WatorWorld.java: } else if (myRandomValue > 0.75 && nonDiagNeighbours.size() > 3 ./src/xmlparser/GameInfoHandler.java: if (qName.equalsIgnoreCase("PARAMETER")) { ./src/xmlparser/GameInfoHandler.java: } else if (qName.equalsIgnoreCase("CELLTYPE")) { ./src/xmlparser/GameInfoHandler.java: if (qName.equalsIgnoreCase("PARAMETER")) { ./src/xmlparser/GameInfoHandler.java: } else if (qName.equalsIgnoreCase("CELLTYPE")) { ./src/xmlparser/GameInfoHandler.java: if (elementStack.contains("MAIN")) { ./src/xmlparser/GameInfoHandler.java: } else if (elementStack.contains("PARAMETER")) { ./src/xmlparser/GameInfoHandler.java: } else if (elementStack.contains("CELLTYPE")) { ./src/xmlparser/GameInfoHandler.java: } else if (elementStack.contains("GRID")) { ./src/xmlparser/GameInfoHandler.java: if (elementStack.peek().equals("NAME")) { ./src/xmlparser/GameInfoHandler.java: } else if (elementStack.peek().equals("MIN")) { ./src/xmlparser/GameInfoHandler.java: } else if (elementStack.peek().equals("MAX")) { ./src/xmlparser/GameInfoHandler.java: } else if (elementStack.peek().equals("CURRENT")) { ./src/xmlparser/GameInfoHandler.java: if (elementStack.peek().equals("ID")) { ./src/xmlparser/GameInfoHandler.java: } else if (elementStack.peek().equals("NAME")) { ./src/xmlparser/GameInfoHandler.java: if (elementStack.peek().equals("WIDTH")) { ./src/xmlparser/GameInfoHandler.java: } else if (elementStack.peek().equals("HEIGHT")) { ./src/xmlparser/GameInfoHandler.java: } else if (elementStack.peek().equals("DEFAULTID")) { ./src/xmlparser/GameInfoHandler.java: } else if (elementStack.peek().equals("FILLMETHOD")) { ./src/xmlparser/GameInfoHandler.java: } else if (elementStack.contains("CELL")) { ./src/xmlparser/GameInfoHandler.java: if (elementStack.peek().equals("ID")) { ./src/xmlparser/GameInfoHandler.java: } else if (elementStack.peek().equals("ROW")) { ./src/xmlparser/GameInfoHandler.java: } else if (elementStack.peek().equals("COL")) { Use of Concrete List Use of Concrete Map Use of Concrete Set Longest Methods 23 AnimationControl.AnimationControl 21 CellGrid.removeAllNextStates 17 WatorWorld.chooseRandomNeighbourCell 17 SpreadingOfFire.evaluateCell 17 SchellingModel.findAnEmptyValidCell 15 GameInfoHandler.addParameter 15 CellSocietyGUI.createInputPanel 14 GameInfoHandler.parseGrid 14 CellGrid.stepToNextStatesAndTypes 13 GameInfoHandler.parseCell Bad Exception Handling ./src/xmlparser/GameInfoReader.java: e.printStackTrace();