当前位置: 首页>>代码示例>>Java>>正文


Java Tile.setType方法代码示例

本文整理汇总了Java中net.sf.freecol.common.model.Tile.setType方法的典型用法代码示例。如果您正苦于以下问题:Java Tile.setType方法的具体用法?Java Tile.setType怎么用?Java Tile.setType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在net.sf.freecol.common.model.Tile的用法示例。


在下文中一共展示了Tile.setType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: makeLakes

import net.sf.freecol.common.model.Tile; //导入方法依赖的package包/类
/**
 * Make lake regions from unassigned lake tiles.
 *
 * @param map The {@code Map} to add to.
 * @param lakes A list of lake {@code Tile}s.
 * @return A list of new {@code ServerRegion}s.
 */
private List<ServerRegion> makeLakes(Map map, List<Tile> lakes) {
    Game game = map.getGame();
    final TileType lakeType = map.getSpecification()
        .getTileType("model.tile.lake");
    List<Tile> todo = new ArrayList<>();
    List<ServerRegion> result = new ArrayList<>();
    int lakeCount = 0;
    while (!lakes.isEmpty()) {
        Tile tile = first(lakes);
        if (tile.getRegion() != null) continue;

        ServerRegion lakeRegion = new ServerRegion(game, RegionType.LAKE);
        // Pretend lakes are discovered with the surrounding terrain?
        todo.clear();
        todo.add(tile);
        while (!todo.isEmpty()) {
            Tile t = todo.remove(0);
            if (lakes.contains(t)) {
                t.setRegion(lakeRegion);
                t.setType(lakeType);
                lakes.remove(t);
                // It would be better to do:
                //   todo.addAll(t.getSurroundingTiles(1, 1));
                // but this routine can be called from Map.readChildren
                // before game.getMap() works.  When that use goes away,
                // use the above code.
                for (Direction d : Direction.allDirections) {
                    Tile t0 = map.getAdjacentTile(t, d);
                    if (t0 != null) todo.add(t0);
                }
            }
        }
        result.add(lakeRegion);
    }
    return result;
}
 
开发者ID:FreeCol,项目名称:freecol,代码行数:44,代码来源:TerrainGenerator.java

示例2: testBestImprovements

import net.sf.freecol.common.model.Tile; //导入方法依赖的package包/类
public void testBestImprovements() throws Exception {
    Game game = getStandardGame();
    Map map = getTestMap(plains);
    game.setMap(map);

    Tile tile1 = map.getTile(5, 8);
    tile1.setType(savannah);
    assertEquals(plow, TileImprovementPlan.getBestTileImprovementType(tile1, grainType));
    assertEquals(plow, TileImprovementPlan.getBestTileImprovementType(tile1, sugarType));
    assertEquals(null, TileImprovementPlan.getBestTileImprovementType(tile1, tobaccoType));
    assertEquals(null, TileImprovementPlan.getBestTileImprovementType(tile1, lumberType));
    assertEquals(null, TileImprovementPlan.getBestTileImprovementType(tile1, oreType));

    tile1.setType(marsh);
    assertEquals(plow, TileImprovementPlan.getBestTileImprovementType(tile1, grainType));
    assertEquals(null, TileImprovementPlan.getBestTileImprovementType(tile1, sugarType));
    assertEquals(plow, TileImprovementPlan.getBestTileImprovementType(tile1, tobaccoType));
    assertEquals(null, TileImprovementPlan.getBestTileImprovementType(tile1, lumberType));
    assertEquals(road, TileImprovementPlan.getBestTileImprovementType(tile1, oreType));

    tile1.setType(savannahForest);
    assertEquals(clearForest, TileImprovementPlan.getBestTileImprovementType(tile1, grainType));
    assertEquals(clearForest, TileImprovementPlan.getBestTileImprovementType(tile1, sugarType));
    assertEquals(null, TileImprovementPlan.getBestTileImprovementType(tile1, tobaccoType));
    assertEquals(road, TileImprovementPlan.getBestTileImprovementType(tile1, lumberType));
    assertEquals(null, TileImprovementPlan.getBestTileImprovementType(tile1, oreType));

    tile1.setType(hills);
    assertEquals(null, TileImprovementPlan.getBestTileImprovementType(tile1, grainType));
    assertEquals(null, TileImprovementPlan.getBestTileImprovementType(tile1, sugarType));
    assertEquals(null, TileImprovementPlan.getBestTileImprovementType(tile1, tobaccoType));
    assertEquals(null, TileImprovementPlan.getBestTileImprovementType(tile1, lumberType));
    assertEquals(road, TileImprovementPlan.getBestTileImprovementType(tile1, oreType));

    tile1.setType(arctic);
    assertEquals(null, TileImprovementPlan.getBestTileImprovementType(tile1, grainType));
    assertEquals(null, TileImprovementPlan.getBestTileImprovementType(tile1, sugarType));
    assertEquals(null, TileImprovementPlan.getBestTileImprovementType(tile1, tobaccoType));
    assertEquals(null, TileImprovementPlan.getBestTileImprovementType(tile1, lumberType));
    assertEquals(null, TileImprovementPlan.getBestTileImprovementType(tile1, oreType));
}
 
开发者ID:FreeCol,项目名称:freecol,代码行数:42,代码来源:ColonyPlanTest.java


注:本文中的net.sf.freecol.common.model.Tile.setType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。