Region calculation.

This commit is contained in:
marcins78@gmail.com
2012-03-06 22:36:02 +00:00
parent 18e2f8160f
commit 01534906bd
2 changed files with 7 additions and 15 deletions

View File

@@ -595,14 +595,7 @@ public class Filters {
@Override @Override
public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) { public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) {
int siteNumber = physicalCard.getSiteNumber(); int siteNumber = physicalCard.getSiteNumber();
int region; return GameUtils.getRegion(gameState) == GameUtils.getRegion(siteNumber);
if (siteNumber <= 3)
region = 1;
else if (siteNumber > 3 && siteNumber <= 6)
region = 2;
else
region = 3;
return GameUtils.getRegion(gameState) == region;
} }
}); });
@@ -611,12 +604,7 @@ public class Filters {
@Override @Override
public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) { public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) {
int siteNumber = physicalCard.getSiteNumber(); int siteNumber = physicalCard.getSiteNumber();
if (region == 1) return GameUtils.getRegion(siteNumber) == region;
return siteNumber <= 3;
else if (region == 2)
return siteNumber > 3 && siteNumber <= 6;
else
return siteNumber > 6;
} }
}; };
} }

View File

@@ -93,6 +93,10 @@ public class GameUtils {
} }
public static int getRegion(GameState gameState) { public static int getRegion(GameState gameState) {
return 1 + ((gameState.getCurrentSiteNumber() - 1) / 3); return getRegion(gameState.getCurrentSiteNumber());
}
public static int getRegion(int siteNumber) {
return 1 + ((siteNumber - 1) / 3);
} }
} }