/** * Refreshes the terrain list to match the current hex */ private void refreshTerrainList() { ((DefaultListModel<String>) lisTerrain.getModel()).removeAllElements(); int terrainTypes[] = curHex.getTerrainTypes(); for (int i = 0; i < terrainTypes.length; i++) { ITerrain terrain = curHex.getTerrain(terrainTypes[i]); if (terrain != null) { ((DefaultListModel<String>) lisTerrain.getModel()).addElement(terrain .toString()); } } }
hexBuff.append(hex.getLevel()); hexBuff.append(" \""); int terrainTypes[] = hex.getTerrainTypes(); for (int j = 0; j < terrainTypes.length; j++) { int terrType = terrainTypes[j];
Terrains.BRIDGE)); int[] terrainTypes = hex.getTerrainTypes(); Set<Integer> hazards = new HashSet<>(); for (int type : terrainTypes) {
/** * Returns a list of orthographic images to be tiled above the hex. As noted * above, all matches must be 1.0, and if such a match is achieved, all terrain * elements from the tileset hex are removed from the hex. Thus you want to pass * a copy of the original to this function. */ private List<Image> orthoFor(IHex hex, Component comp) { ArrayList<Image> matches = new ArrayList<Image>(); // find orthographic image matches for (HexEntry entry : orthos) { if (orthoMatch(hex, entry.getHex()) >= 1.0) { Image img = entry.getImage(comp, hex.getCoords().hashCode()); if (img != null) { matches.add(img); } else { matches.add(ImageUtil.createAcceleratedImage(HEX_W, HEX_H)); } // remove involved terrain from consideration for (int terr : entry.getHex().getTerrainTypes()) { if (entry.getHex().containsTerrain(terr)) { hex.removeTerrain(terr); } } } } return matches; }
/** * Returns a list of images to be superimposed on the hex. As noted above, all * matches must be 1.0, and if such a match is achieved, all terrain elements * from the tileset hex are removed from the hex. Thus you want to pass a copy * of the original to this function. */ private List<Image> supersFor(IHex hex, Component comp) { ArrayList<Image> matches = new ArrayList<Image>(); // find superimposed image matches for (HexEntry entry : supers) { if (superMatch(hex, entry.getHex()) >= 1.0) { Image img = entry.getImage(comp, hex.getCoords().hashCode()); if (img != null) { matches.add(img); } else { matches.add(ImageUtil.createAcceleratedImage(HEX_W, HEX_H)); } // remove involved terrain from consideration for (int terr : entry.getHex().getTerrainTypes()) { if (entry.getHex().containsTerrain(terr)) { hex.removeTerrain(terr); } } } } return matches; }
final IHex mockHexThree = Mockito.mock(IHex.class); final IHex mockFinalHex = Mockito.mock(IHex.class); Mockito.when(mockHexOne.getTerrainTypes()).thenReturn(new int[0]); Mockito.when(mockHexTwo.getTerrainTypes()).thenReturn(new int[0]); Mockito.when(mockHexThree.getTerrainTypes()).thenReturn(new int[0]); Mockito.when(mockFinalHex.getTerrainTypes()).thenReturn(new int[0]); Mockito.when(mockHexOne.getCoords()).thenReturn(testCoordsOne); Mockito.when(mockHexTwo.getCoords()).thenReturn(testCoordsTwo); Mockito.when(mockBA.getHeatCapacity()).thenReturn(999); Mockito.when(mockBA.isFireResistant()).thenReturn(true); Mockito.when(mockHexThree.getTerrainTypes()).thenReturn(new int[]{Terrains.BUILDING, Terrains.FIRE}); Assert.assertEquals(0, testRanker.checkPathForHazards(mockPath, mockBA, mockGame), TOLERANCE); Mockito.when(mockHexThree.getTerrainTypes()).thenReturn(new int[0]); Mockito.when(mockProto.getHeatCapacity()).thenReturn(999); Mockito.when(mockPath.isJumping()).thenReturn(false); Mockito.when(mockHexThree.getTerrainTypes()).thenReturn(new int[]{Terrains.MAGMA}); Mockito.when(mockHexThree.terrainLevel(Terrains.MAGMA)).thenReturn(1); Assert.assertEquals(166.7, testRanker.checkPathForHazards(mockPath, mockProto, mockGame), TOLERANCE); Mockito.when(mockHexThree.getTerrainTypes()).thenReturn(new int[0]); Mockito.when(mockHexThree.terrainLevel(Terrains.MAGMA)).thenReturn(0); Mockito.when(mockHexThree.getTerrainTypes()).thenReturn(new int[]{Terrains.FIRE, Terrains.WOODS}); Assert.assertEquals(50.0, testRanker.checkPathForHazards(mockPath, mockProto, mockGame), TOLERANCE); Mockito.when(mockHexThree.getTerrainTypes()).thenReturn(new int[0]); Mockito.when(mockInfantry.getCrew()).thenReturn(mockCrew); Mockito.when(mockPath.isJumping()).thenReturn(false);
int terrainTypes[] = mhex.getTerrainTypes(); for (int i = 0; i < terrainTypes.length; i++) { int terType = terrainTypes[i];
double matches = 0.0; int[] orgTerrains = org.getTerrainTypes();
/** * 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); } }
int cTerrainTypes[] = com.getTerrainTypes(); for (int i = 0; i < cTerrainTypes.length; i++) { int cTerrType = cTerrainTypes[i];
int cTerrainTypes[] = com.getTerrainTypes(); for (int i = 0; i < cTerrainTypes.length; i++) { int cTerrType = cTerrainTypes[i];
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; }