1010//
1111//////////////////////////////////////////////////////////////////////////
1212
13- package bwem .area ;
14-
15- import static bwem .area .typedef .AreaId .UNINITIALIZED ;
13+ package bwem ;
1614
1715import bwapi .Pair ;
1816import bwapi .TilePosition ;
1917import bwapi .UnitType ;
2018import bwapi .WalkPosition ;
21- import bwem .Base ;
22- import bwem .CheckMode ;
23- import bwem .ChokePoint ;
19+ import bwem .util .BwemExt ;
20+ import bwem .util .CheckMode ;
2421import bwem .util .Markable ;
2522import bwem .util .StaticMarkable ;
26- import bwem .area .typedef .AreaId ;
27- import bwem .map .Map ;
28- import bwem .map .TerrainData ;
29- import bwem .tile .MiniTile ;
30- import bwem .tile .Tile ;
31- import bwem .tile .TileImpl ;
32- import bwem .unit .Geyser ;
33- import bwem .unit .Mineral ;
34- import bwem .unit .Neutral ;
35- import bwem .unit .Resource ;
36- import bwem .unit .StaticBuilding ;
37- import bwem .util .BwemExt ;
38- import java .util .ArrayList ;
39- import java .util .Comparator ;
40- import java .util .List ;
41- import java .util .PriorityQueue ;
42- import java .util .Queue ;
4323
44- public class AreaInitializer extends Area {
24+ import java .util .*;
25+
26+ import static bwem .AreaId .UNINITIALIZED ;
27+
28+ class AreaInitializer extends Area {
4529
4630 private static final StaticMarkable staticMarkable = new StaticMarkable ();
4731 private final Markable markable ;
4832
4933 private final Map map ;
5034
51- public AreaInitializer (
35+ AreaInitializer (
5236 final Map map , final AreaId areaId , final WalkPosition top , final int miniTileCount ) {
5337 super (areaId , top , miniTileCount );
5438
@@ -72,15 +56,15 @@ public AreaInitializer(
7256 super .highestAltitude = topMiniTile .getAltitude ();
7357 }
7458
75- public static StaticMarkable getStaticMarkable () {
59+ static StaticMarkable getStaticMarkable () {
7660 return staticMarkable ;
7761 }
7862
79- public Markable getMarkable () {
63+ Markable getMarkable () {
8064 return this .markable ;
8165 }
8266
83- public void addChokePoints (final Area area , final List <ChokePoint > chokePoints ) {
67+ void addChokePoints (final Area area , final List <ChokePoint > chokePoints ) {
8468 if (!(super .chokePointsByArea .get (area ) == null && chokePoints != null )) {
8569 throw new IllegalArgumentException ();
8670 }
@@ -90,21 +74,21 @@ public void addChokePoints(final Area area, final List<ChokePoint> chokePoints)
9074 super .chokePoints .addAll (chokePoints );
9175 }
9276
93- public void addMineral (final Mineral mineral ) {
77+ void addMineral (final Mineral mineral ) {
9478 if (!(mineral != null && !super .minerals .contains (mineral ))) {
9579 throw new IllegalStateException ();
9680 }
9781 super .minerals .add (mineral );
9882 }
9983
100- public void addGeyser (final Geyser geyser ) {
84+ void addGeyser (final Geyser geyser ) {
10185 if (!(geyser != null && !super .geysers .contains (geyser ))) {
10286 throw new IllegalStateException ();
10387 }
10488 super .geysers .add (geyser );
10589 }
10690
107- public void addTileInformation (final TilePosition tilePosition , final Tile tile ) {
91+ void addTileInformation (final TilePosition tilePosition , final Tile tile ) {
10892 ++super .tileCount ;
10993
11094 if (tile .isBuildable ()) {
@@ -131,11 +115,11 @@ public void addTileInformation(final TilePosition tilePosition, final Tile tile)
131115 }
132116 }
133117
134- public void setGroupId (int gid ) {
118+ void setGroupId (int gid ) {
135119 super .groupId = gid ;
136120 }
137121
138- public int [] computeDistances (final ChokePoint startCP , final List <ChokePoint > targetCPs ) {
122+ int [] computeDistances (final ChokePoint startCP , final List <ChokePoint > targetCPs ) {
139123 if (targetCPs .contains (startCP )) {
140124 throw new IllegalStateException ();
141125 }
@@ -168,7 +152,7 @@ public int[] computeDistances(final ChokePoint startCP, final List<ChokePoint> t
168152 private int [] computeDistances (final TilePosition start , final List <TilePosition > targets ) {
169153 final int [] distances = new int [targets .size ()];
170154
171- TileImpl .getStaticMarkable ().unmarkAll ();
155+ Tile .getStaticMarkable ().unmarkAll ();
172156
173157 final Queue <Pair <Integer , TilePosition >> toVisit =
174158 new PriorityQueue <>(
@@ -183,16 +167,16 @@ private int[] computeDistances(final TilePosition start, final List<TilePosition
183167 final int currentDist = distanceAndTilePosition .getLeft ();
184168 final TilePosition current = distanceAndTilePosition .getRight ();
185169 final Tile currentTile = this .map .getData ().getTile (current , CheckMode .NO_CHECK );
186- if (!((( TileImpl ) currentTile ) .getInternalData () == currentDist )) {
170+ if (!(currentTile .getInternalData () == currentDist )) {
187171 throw new IllegalStateException (
188172 "currentTile.InternalData().intValue()="
189- + (( TileImpl ) currentTile ) .getInternalData ()
173+ + currentTile .getInternalData ()
190174 + ", currentDist="
191175 + currentDist );
192176 }
193- (( TileImpl ) currentTile )
177+ currentTile
194178 .setInternalData (0 ); // resets Tile::m_internalData for future usage
195- (( TileImpl ) currentTile ) .getMarkable ().setMarked ();
179+ currentTile .getMarkable ().setMarked ();
196180
197181 for (int i = 0 ; i < targets .size (); ++i ) {
198182 if (current .equals (targets .get (i ))) {
@@ -221,25 +205,25 @@ private int[] computeDistances(final TilePosition start, final List<TilePosition
221205 final TilePosition next = current .add (delta );
222206 if (this .map .getData ().getMapData ().isValid (next )) {
223207 final Tile nextTile = this .map .getData ().getTile (next , CheckMode .NO_CHECK );
224- if ((( TileImpl ) nextTile ) .getMarkable ().isUnmarked ()) {
225- if ((( TileImpl ) nextTile ) .getInternalData ()
208+ if (nextTile .getMarkable ().isUnmarked ()) {
209+ if (nextTile .getInternalData ()
226210 != 0 ) { // next already in toVisit
227211 if (newNextDist
228- < (( TileImpl ) nextTile )
212+ < nextTile
229213 .getInternalData ()) { // nextNewDist < nextOldDist
230214 // To update next's distance, we need to remove-insert it from toVisit:
231215 final boolean removed =
232216 toVisit .remove (
233- new Pair <>((( TileImpl ) nextTile ) .getInternalData (), next ));
217+ new Pair <>(nextTile .getInternalData (), next ));
234218 if (!removed ) {
235219 throw new IllegalStateException ();
236220 }
237- (( TileImpl ) nextTile ) .setInternalData (newNextDist );
221+ nextTile .setInternalData (newNextDist );
238222 toVisit .offer (new Pair <>(newNextDist , next ));
239223 }
240224 } else if ((nextTile .getAreaId ().equals (getId ()))
241225 || (nextTile .getAreaId ().equals (UNINITIALIZED ))) {
242- (( TileImpl ) nextTile ) .setInternalData (newNextDist );
226+ nextTile .setInternalData (newNextDist );
243227 toVisit .offer (new Pair <>(newNextDist , next ));
244228 }
245229 }
@@ -252,17 +236,16 @@ private int[] computeDistances(final TilePosition start, final List<TilePosition
252236 }
253237
254238 for (final Pair <Integer , TilePosition > distanceAndTilePosition : toVisit ) {
255- final TileImpl tileToUpdate =
256- ((TileImpl )
239+ final Tile tileToUpdate =
257240 this .map .getData ()
258- .getTile (distanceAndTilePosition .getRight (), CheckMode .NO_CHECK )) ;
241+ .getTile (distanceAndTilePosition .getRight (), CheckMode .NO_CHECK );
259242 tileToUpdate .setInternalData (0 );
260243 }
261244
262245 return distances ;
263246 }
264247
265- public void updateAccessibleNeighbors () {
248+ void updateAccessibleNeighbors () {
266249 super .accessibleNeighbors .clear ();
267250 for (final Area area : getChokePointsByArea ().keySet ()) {
268251 for (final ChokePoint cp : getChokePointsByArea ().get (area )) {
@@ -274,7 +257,7 @@ public void updateAccessibleNeighbors() {
274257 }
275258 }
276259
277- public void createBases (final TerrainData terrainData ) {
260+ void createBases (final TerrainData terrainData ) {
278261 final TilePosition resourceDepotDimensions = UnitType .Terran_Command_Center .tileSize ();
279262
280263 final List <Resource > remainingResources = new ArrayList <>();
@@ -373,8 +356,8 @@ public void createBases(final TerrainData terrainData) {
373356 }
374357 if (tile .getAreaId ().equals (getId ())) {
375358 // note the additive effect (assume tile.InternalData() is 0 at the beginning)
376- (( TileImpl ) tile )
377- .setInternalData ((( TileImpl ) tile ) .getInternalData () + score );
359+ tile
360+ .setInternalData (tile .getInternalData () + score );
378361 }
379362 }
380363 }
@@ -390,7 +373,7 @@ public void createBases(final TerrainData terrainData) {
390373 if (terrainData .getMapData ().isValid (deltaTilePosition )) {
391374 final Tile tileToUpdate = terrainData
392375 .getTile (deltaTilePosition , CheckMode .NO_CHECK );
393- (( TileImpl ) tileToUpdate ) .setInternalData (-1 );
376+ tileToUpdate .setInternalData (-1 );
394377 }
395378 }
396379 }
@@ -440,7 +423,7 @@ public void createBases(final TerrainData terrainData) {
440423 if (terrainData .getMapData ().isValid (deltaTilePosition )) {
441424 final Tile tileToUpdate = terrainData
442425 .getTile (deltaTilePosition , CheckMode .NO_CHECK );
443- (( TileImpl ) tileToUpdate ) .setInternalData (0 );
426+ tileToUpdate .setInternalData (0 );
444427 }
445428 }
446429 }
@@ -485,7 +468,7 @@ private int computeBaseLocationScore(final TerrainData terrainData,
485468 if (!tile .isBuildable ()) {
486469 return -1 ;
487470 }
488- if ((( TileImpl ) tile ) .getInternalData () == -1 ) {
471+ if (tile .getInternalData () == -1 ) {
489472 // The special value InternalData() == -1 means there is some resource at maximum 3 tiles,
490473 // which Starcraft rules forbid.
491474 // Unfortunately, this is guaranteed only for the resources in this Area, which is the
@@ -499,7 +482,7 @@ private int computeBaseLocationScore(final TerrainData terrainData,
499482 return -1 ;
500483 }
501484
502- sumScore += (( TileImpl ) tile ) .getInternalData ();
485+ sumScore += tile .getInternalData ();
503486 }
504487 }
505488
0 commit comments