13-10-2004, Wednesday-12:53:16
Anderer Vorschlag:
Jedes Tile bekommt ein Flag, ob es in einer Stadt liegt, oder nicht. Wenn das Flag gesetzt ist, ist vmax immer 50 km/h. Das setzten des Flags stelle ich mir so vor:
Beim bau eines Hauses an einem Straßentile läuft folgendes ab:
void checkNSetInCity()
{
if ( Straßentile && (!(inCity)))
{
nachbartileO = tileverwaltung.getTile(x+1, y);
nachbartileN = tileverwaltung.getTile(x, y+1);
nachbartileS = tileverwaltung.getTile(x-1, y);
nachbartileW = tileverwaltung.getTile(x, y-1);
if ( nachbarteilO->isInCity || nachbarteilN->isInCity || nachbarteilS->isInCity || nachbarteilW.isinCity )
{
inCity = true;
vmax = 50;
nachbartileO->checkNSetInCity();
nachbartileN->checkNSetInCity();
nachbartileS->checkNSetInCity();
nachbartileW->checkNSetInCity();
}
}
}
void checkNSetInCityMapGen()
{
nachbartileO = tileverwaltung.getTile(x+1, y);
nachbartileN = tileverwaltung.getTile(x, y+1);
nachbartileS = tileverwaltung.getTile(x-1, y);
nachbartileW = tileverwaltung.getTile(x, y-1);
if ( nachbarteilO->isInCity || nachbarteilN->isInCity || nachbarteilS->isInCity || nachbarteilW.isinCity )
{
inCity = true;
vmax = 50;
nachbartileO->checkNSetInCity();
nachbartileN->checkNSetInCity();
nachbartileS->checkNSetInCity();
nachbartileW->checkNSetInCity();
}
}
Und beim Straßenbau wird aufs inCity geprüft und entsprechend gehandelt.
Beim Karte generieren wird 1 (!) an das Rathausangrenzendes (oder das nächst liegende) Straßentile inCity gesetzt und die checkNSetInCityMapGen() auf das Tile aufgerufen. Ich hab jetzt momentan noch ned die Geistige frische, ob mit der Methode sichergestellt is, daß auch wirklich alle Innenstadttiles beim generieren überprüft werden, denke aber schon, daß dem so ist.
Sollte auch ned so furchtbar lange dauern, vorrausgesetzt, ihr habt das Spiel so aufgebaut, wies ich mir denke
Kritik und "hau-auf-den-Neuling-mit-seinen-dummen-Ideen" erwünscht.
Jedes Tile bekommt ein Flag, ob es in einer Stadt liegt, oder nicht. Wenn das Flag gesetzt ist, ist vmax immer 50 km/h. Das setzten des Flags stelle ich mir so vor:
Beim bau eines Hauses an einem Straßentile läuft folgendes ab:
void checkNSetInCity()
{
if ( Straßentile && (!(inCity)))
{
nachbartileO = tileverwaltung.getTile(x+1, y);
nachbartileN = tileverwaltung.getTile(x, y+1);
nachbartileS = tileverwaltung.getTile(x-1, y);
nachbartileW = tileverwaltung.getTile(x, y-1);
if ( nachbarteilO->isInCity || nachbarteilN->isInCity || nachbarteilS->isInCity || nachbarteilW.isinCity )
{
inCity = true;
vmax = 50;
nachbartileO->checkNSetInCity();
nachbartileN->checkNSetInCity();
nachbartileS->checkNSetInCity();
nachbartileW->checkNSetInCity();
}
}
}
void checkNSetInCityMapGen()
{
nachbartileO = tileverwaltung.getTile(x+1, y);
nachbartileN = tileverwaltung.getTile(x, y+1);
nachbartileS = tileverwaltung.getTile(x-1, y);
nachbartileW = tileverwaltung.getTile(x, y-1);
if ( nachbarteilO->isInCity || nachbarteilN->isInCity || nachbarteilS->isInCity || nachbarteilW.isinCity )
{
inCity = true;
vmax = 50;
nachbartileO->checkNSetInCity();
nachbartileN->checkNSetInCity();
nachbartileS->checkNSetInCity();
nachbartileW->checkNSetInCity();
}
}
Und beim Straßenbau wird aufs inCity geprüft und entsprechend gehandelt.
Beim Karte generieren wird 1 (!) an das Rathausangrenzendes (oder das nächst liegende) Straßentile inCity gesetzt und die checkNSetInCityMapGen() auf das Tile aufgerufen. Ich hab jetzt momentan noch ned die Geistige frische, ob mit der Methode sichergestellt is, daß auch wirklich alle Innenstadttiles beim generieren überprüft werden, denke aber schon, daß dem so ist.
Sollte auch ned so furchtbar lange dauern, vorrausgesetzt, ihr habt das Spiel so aufgebaut, wies ich mir denke
Kritik und "hau-auf-den-Neuling-mit-seinen-dummen-Ideen" erwünscht.