public void changedUpdate(DocumentEvent te) { if (te.getDocument().equals(texElev.getDocument())) { int value; try { value = Integer.parseInt(texElev.getText()); } catch (NumberFormatException ex) { return; } if (value != curHex.getLevel()) { curHex.setLevel(value); repaintWorkingHex(); } } else if (te.getDocument().equals(texTheme.getDocument())) { curHex.setTheme(texTheme.getText()); repaintWorkingHex(); } }
c = e.next(); IHex hex = board.getHex(c); hex.setLevel(elevation);
} else if (ae.getSource().equals(butElevUp) && (curHex.getLevel() < 9)) { curHex.setLevel(curHex.getLevel() + 1); texElev.setText(Integer.toString(curHex.getLevel())); repaintWorkingHex(); } else if (ae.getSource().equals(butElevDown) && (curHex.getLevel() > -5)) { curHex.setLevel(curHex.getLevel() - 1); texElev.setText(Integer.toString(curHex.getLevel())); repaintWorkingHex();
/** * Apply the current Hex to the Board at the specified location. */ public void resurfaceHex(Coords c) { if (board.contains(c)) { IHex newHex = curHex.duplicate(); newHex.setLevel(board.getHex(c).getLevel()); board.resetStoredElevation(); board.setHex(c, newHex); } }
while (iter.hasNext()) { field = iter.next(); field.setLevel(min);
hexes.get(j).setLevel(level / hexes.size());
hex.setLevel(terr.getLevel()); hex.removeTerrain(Terrains.ELEVATOR); hex.addTerrain(tf.createTerrain(Terrains.ELEVATOR, elevation, true,
while (iter.hasNext()) { field = iter.next(); field.setLevel(minElevation);
field.setLevel(Math.min(newElevation, field.getLevel()));
/** * Flood negative hex levels Shoreline / salt marshes effect Works best with * more elevation */ protected static void postProcessFlood(IHex[] hexSet, int modifier) { int n; IHex field; ITerrainFactory f = Terrains.getTerrainFactory(); for (n = 0; n < hexSet.length; n++) { field = hexSet[n]; int elev = field.getLevel() - modifier; if ((elev == 0) && !(field.containsTerrain(Terrains.WATER)) && !(field.containsTerrain(Terrains.PAVEMENT))) { field.addTerrain(f.createTerrain(Terrains.SWAMP, 1)); } else if (elev < 0) { if (elev < -4) { elev = -4; } field.removeAllTerrains(); field.addTerrain(f.createTerrain(Terrains.WATER, -elev)); field.setLevel(modifier); } } }
/** * Apply the current Hex to the Board at the specified location. */ public void addToHex(Coords c) { if (board.contains(c)) { IHex newHex = curHex.duplicate(); IHex oldHex = board.getHex(c); newHex.setLevel(oldHex.getLevel()); int terrainTypes[] = oldHex.getTerrainTypes(); for (int i = 0; i < terrainTypes.length; i++) { int terrainID = terrainTypes[i]; if (!newHex.containsTerrain(terrainID) && oldHex.containsTerrain(terrainID)) { newHex.addTerrain(oldHex.getTerrain(terrainID)); } } board.resetStoredElevation(); board.setHex(c, newHex); } }
hex.setLevel(elev);
public IBoard implantOldBoard(IGame game, int west, int north, int east, int south) { IBoard oldBoard = game.getBoard(); for (int x = 0; x < oldBoard.getWidth(); x++) { for (int y = 0; y < oldBoard.getHeight(); y++) { int newX = x+west; int newY = y+north; if (oldBoard.contains(x, y) && board.contains(newX, newY)) { IHex oldHex = oldBoard.getHex(x, y); IHex hex = board.getHex(newX, newY); hex.removeAllTerrains(); hex.setLevel(oldHex.getLevel()); int terrainTypes[] = oldHex.getTerrainTypes(); for (int i = 0; i < terrainTypes.length; i++) { int terrainID = terrainTypes[i]; if (!hex.containsTerrain(terrainID) && oldHex.containsTerrain(terrainID)) { hex.addTerrain(oldHex.getTerrain(terrainID)); } } hex.setTheme(oldHex.getTheme()); board.setHex(newX, newY, hex); board.resetStoredElevation(); } } } return board; }
field.setLevel(field.getLevel() - newlevel);