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


Java Tile.setRegion方法代码示例

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


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

示例1: build

import net.sf.freecol.common.model.Tile; //导入方法依赖的package包/类
public Map build(){
    completeWorkingGrid();
    Map map = new Map(game, width, height);
    Region region = new Region(game);

    for (int x = 0; x < width; x++) {
        for (int y = 0; y < height; y++) {
            TileType tileType = tiles[x][y];
            Tile t = new Tile(game, tileType, x, y);
            t.setRegion(region);
            map.setTile(t, x, y);
        }
    }

    map.resetContiguity();
    map.resetHighSeasCount();
    if (exploredByAll) {
        map.forEachTile(t -> {
                for (Player p : game.getLiveEuropeanPlayerList()) {
                    t.setExplored(p, true);
                }
            });
    }
    return map;
}
 
开发者ID:FreeCol,项目名称:freecol,代码行数:26,代码来源:FreeColTestCase.java

示例2: 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

示例3: addTile

import net.sf.freecol.common.model.Tile; //导入方法依赖的package包/类
/**
 * Add the given tile to this region.
 *
 * @param tile A {@code Tile} to add.
 */
public void addTile(Tile tile) {
    tile.setRegion(this);
    size++;
    if (bounds.x == 0 && bounds.width == 0
        || bounds.y == 0 && bounds.height == 0) {
        bounds.setBounds(tile.getX(), tile.getY(), 0, 0);
    } else {
        bounds.add(tile.getX(), tile.getY());
    }
}
 
开发者ID:FreeCol,项目名称:freecol,代码行数:16,代码来源:ServerRegion.java


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