sas

1429 ワード

package com.jleo.pickitup;

class CityResourceManager {
  def cityName
  
  BlocklizedPoint[] points = new BlocklizedPoint[0];

  Map<String, List<BlocklizedPoint>> blockMap = new HashMap<String, List<BlocklizedPoint>>();

  public CityResourceManager(City city){
       this.cityName = city.name
       BlocklizedPoint[] points = toBlocklizedPoints(city.resources)
       preProcessResourcePoint(points);
  }

  public void toBlocklizedPoints(resources){
    return resources.collectAll(){Resource it->
        new BlocklizedPoint(it.x,it.y,0,0,it)
    }
  }

  public void preProcessResourcePoint(BlocklizedPoint[] points){
      this.points = points;
      blockMap = new HashMap<String, List<BlocklizedPoint>>();
        for(int i=0; i<points.length; i++){
            BlocklizedPoint p = points[i];
            String zoneId = p.zonex+","+p.zoney;

            if(!blockMap.containsKey(zoneId)){
                List<BlocklizedPoint> ps = new ArrayList<BlocklizedPoint>();
                ps.add(p);
                blockMap.put(zoneId,ps);
            } else{
                blockMap.get(zoneId).add(p);
            }
        }
  }
}