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


Java Tile.addRiver方法代码示例

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


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

示例1: transform

import net.sf.freecol.common.model.Tile; //导入方法依赖的package包/类
@Override
public void transform(Tile tile) {
    TileImprovementType riverType =
        tile.getSpecification().getTileImprovementType("model.improvement.river");

    if (riverType.isTileTypeAllowed(tile.getType())) {
        if (!tile.hasRiver()) {
            StringBuilder sb = new StringBuilder(64);
            for (Direction direction : Direction.longSides) {
                Tile t = tile.getNeighbourOrNull(direction);
                TileImprovement otherRiver = (t == null) ? null
                    : t.getRiver();
                if (t == null || (t.isLand() && otherRiver == null)) {
                    sb.append('0');
                } else {
                    sb.append(magnitude);
                }
            }
            tile.addRiver(magnitude, sb.toString());
        } else {
            tile.removeRiver();
        }
    }
}
 
开发者ID:FreeCol,项目名称:freecol,代码行数:25,代码来源:MapEditorTransformPanel.java

示例2: drawToMap

import net.sf.freecol.common.model.Tile; //导入方法依赖的package包/类
/**
 * Draws the completed river to the map.
 *
 * @param sections A list of {@code RiverSection}s to draw.
 */
private void drawToMap(List<RiverSection> sections) {
    RiverSection oldSection = null;

    for (RiverSection section : sections) {
        riverMap.put(section.getTile(), this);
        if (oldSection != null) {
            section.setBranch(oldSection.direction.getReverseDirection(),
                              oldSection.getSize());
        }
        Tile tile = section.getTile();
        if (tile.isLand()) {
            if (section.getSize() >= TileImprovement.FJORD_RIVER) {
                TileType greatRiver = map.getSpecification().getTileType("model.tile.greatRiver");
                tile.changeType(greatRiver);
                // changing the type resets the improvements
                //container.addRiver(section.getSize(), section.encodeStyle());
                logger.fine("Added fjord (magnitude: " + section.getSize() +
                            ") to tile: " + section.getTile());
            } else if (section.getSize() > TileImprovement.NO_RIVER) {
                String style = section.encodeStyle();
                tile.addRiver(section.getSize(), style);
                logger.fine("Added river"
                    + "(magnitude: " + section.getSize()
                    + " style: " + style);
            }
            region.addTile(tile);
            oldSection = section;
        }
    }
}
 
开发者ID:FreeCol,项目名称:freecol,代码行数:36,代码来源:River.java


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