anchor.diff:    void operator []=(Coordinate pos, T value) {
       _elements[_index(pos)] = value;
     }
  -  /// 指定値で埋める
  -  void fill(T value) => _elements.fillRange(0, _elements.length, value);
     /// indexから座標を返す
     Coordinate _coordinate(int index) => new Coordinate(index % size.width, index ~/ size.width);
     /// 座標から、実際のindexを返す
  
positive.code:   }
  
    void setTerrain(String symbol, Coordinate coordinate) {
      _terrain[coordinate] = TerrainDB.get(symbol);
    }
  }
  
  
negative.code:   bool get movable => _flags & MOVABLE != 0;
  }
  
  /// 地形テーブル
  class TerrainTable {
    static final Map<String, Terrain> _tabel = <String, Terrain> {
      '#': const Terrain.Block('#', 'Silver'),
      '.': const Terrain('.', 'Silver'),
    };
    static Terrain get(String symbol) {
      return _tabel[symbol];
    }
  }
  
  