cleanup: zonePlop: use xpos,ypos properties instead of parameters

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@553 d9718cc8-9f43-0410-858b-315f434eb58c
This commit is contained in:
jason@long.name 2013-02-18 01:57:48 +00:00
parent 8572c30c60
commit 52365e4c35

View file

@ -476,11 +476,18 @@ class MapScanner
} }
/** /**
* Place a 3x3 zone on to the map. * Place a 3x3 zone on to the map, centered on the current location.
* Note: nothing is done if part of this zone is off the edge
* of the map or is being flooded or radioactive.
*
* @param base The first/north-western tile value for this zone. * @param base The first/north-western tile value for this zone.
* @return true iff the zone was actually placed.
*/ */
boolean zonePlop(int xpos, int ypos, int base) boolean zonePlop(int base)
{ {
//FIXME- does this function have a caller that actually
//pays attention to the return value?
if (!city.testBounds(xpos-1, ypos-1)) if (!city.testBounds(xpos-1, ypos-1))
return false; return false;
if (!city.testBounds(xpos+1, ypos+1)) if (!city.testBounds(xpos+1, ypos+1))
@ -491,8 +498,10 @@ class MapScanner
for (int x = xpos-1; x <= xpos+1; x++) for (int x = xpos-1; x <= xpos+1; x++)
{ {
char c = (char)(city.map[y][x] & LOMASK); char c = (char)(city.map[y][x] & LOMASK);
if (c >= FLOOD && c < ROADBASE) if (c >= FLOOD && c < ROADBASE) {
// radioactive, on fire, or flooded
return false; return false;
}
} }
} }
@ -660,13 +669,13 @@ class MapScanner
{ {
if (city.needHospital > 0) if (city.needHospital > 0)
{ {
zonePlop(xpos, ypos, HOSPITAL - 4); zonePlop(HOSPITAL - 4);
city.needHospital = 0; city.needHospital = 0;
} }
if (city.needChurch > 0) if (city.needChurch > 0)
{ {
zonePlop(xpos, ypos, CHURCH - 4); zonePlop(CHURCH - 4);
city.needChurch = 0; city.needChurch = 0;
} }
} }
@ -690,7 +699,7 @@ class MapScanner
{ {
if (PRNG.nextInt(21) == 0) if (PRNG.nextInt(21) == 0)
{ {
zonePlop(xpos, ypos, RESBASE); zonePlop(RESBASE);
} }
} }
} }
@ -706,7 +715,7 @@ class MapScanner
{ {
if (PRNG.nextInt(21) == 0) if (PRNG.nextInt(21) == 0)
{ {
zonePlop(xpos, ypos, RESBASE); zonePlop(RESBASE);
} }
} }
} }
@ -1128,19 +1137,19 @@ class MapScanner
void comPlop(int density, int value) void comPlop(int density, int value)
{ {
int base = (value * 5 + density) * 9 + CZB - 4; int base = (value * 5 + density) * 9 + CZB - 4;
zonePlop(xpos, ypos, base); zonePlop(base);
} }
void indPlop(int density, int value) void indPlop(int density, int value)
{ {
int base = (value * 4 + density) * 9 + (IZB - 4); int base = (value * 4 + density) * 9 + (IZB - 4);
zonePlop(xpos, ypos, base); zonePlop(base);
} }
void residentialPlop(int density, int value) void residentialPlop(int density, int value)
{ {
int base = (value * 4 + density) * 9 + RZB - 4; int base = (value * 4 + density) * 9 + RZB - 4;
zonePlop(xpos, ypos, base); zonePlop(base);
} }
private void doCommercialOut(int pop, int value) private void doCommercialOut(int pop, int value)
@ -1152,7 +1161,7 @@ class MapScanner
} }
else if (pop == 1) else if (pop == 1)
{ {
zonePlop(xpos, ypos, COMBASE); zonePlop(COMBASE);
incrementROG(xpos, ypos, -8); incrementROG(xpos, ypos, -8);
} }
} }
@ -1166,7 +1175,7 @@ class MapScanner
} }
else if (pop == 1) else if (pop == 1)
{ {
zonePlop(xpos, ypos, INDCLR-4); zonePlop(INDCLR-4);
incrementROG(xpos, ypos, -8); incrementROG(xpos, ypos, -8);
} }
} }