|
From: <chr...@ju...> - 2004-02-22 01:20:22
Attachments:
GeoData.h
|
Hello all, I've finished a preliminary GeoData class header file. Give it a look and let me know your comments. -chris |
|
From: <chr...@ju...> - 2004-03-13 05:36:41
Attachments:
GeoData.h
|
Here's a new version of GeoData.h. If this is just used to load data in the start of the game, then I'm not sure if all of the virtual classes are necessary. So.. this is much more basic. After the previous discussion, it seems to me that there is not much to this class. -chrisp |
|
From: <red...@pr...> - 2004-03-13 16:13:13
|
Quoting chr...@ju...:
> Here's a new version of GeoData.h.
>
> If this is just used to load data in the start of the game, then I'm not sure
> if all of the virtual classes are necessary. So.. this is much more basic.
> After the previous discussion, it seems to me that there is not much to this
> class.
>
> -chrisp
>
Minor details:
#include"String.hh"
#include"List.h"
import the xenocide utility pack for it. And use the STL ones for lists and
strings (String in Xenocide).
The enums naming do not conform to the standard
enum terrainType {
GRASSLAND,
FOREST,
TROPICAL_RAINFOREST,
TEMPERATE_RAINFOREST,
PLAINS,
BADLANDS,
DESERT,
SAHARA,
TUNDRA,
ARCTIC,
COAST,
WATER //need to know that we can't go here
};
should be:
enum TERRAINTYPE
{
_TTFOREST,
_TTTROPICALRAINFOREST,
_TTTEMPERATERAINFOREST,
...
_TTWATER
};
Species is not an enum, but for now is ok as the other part is not coded yet.
Some functions do not have return values.
addCountry( Country newCountries );
setDescriptor( String newDescription );
should be:
void addCountry( Country newCountries );
void setDescriptor( String newDescription );
Be careful with this:
static Real id;
That means there is only one instance for all object.... Each continent may have
an ID if it really needed at all.
As you dont use pointers anywhere, there is no way to do defered loading if the
memory requirements of this class gets too big. If you want to be safe, use
counted referenced pointers from the utility package.
Greetings
Red Knight
|
|
From: Federico A. L. <fl...@ma...> - 2004-02-22 23:31:04
|
Cm5hbWVzcGFjZSBYZW5vY2lkZSAKewogICBuYW1lc3BhY2UgRGF0YU1vZGVsCiAgIHsKCmNsYXNz IFRlcnJhaW5EYXRhCnsKcHVibGljOgogICBlbnVtIFRFUlJBSU5UWVBFCiAgIHsKICAgICAgX1RU R1JBU1NMQU5ELCAKICAgICAgX1RURk9SRVNULAogICAgICBfVFRUUk9QSUNBTFJBSU5GT1JFU1Qs CiAgICAgIF9UVFRFTVBFUkFURVJBSU5GT1JFU1QsCiAgICAgIF9UVFBMQUlOUywKICAgICAgX1RU QkFETEFORFMsCiAgICAgIF9UVERFU0VSVCwKICAgICAgX1RUU0FIQVJBLAogICAgICBfVFRUVU5E UkEsCiAgICAgIF9UVEFSQ1RJQywKICAgICAgX1RUQ09BU1QsCiAgICAgIF9UVFdBVEVSIC8vISBX YXRlciBpcyBpbXBvcnRhbnQgYXMgYSB0ZXJyYWluIHR5cGUgY2F1c2UgaXQgd2lsbCBnaXZlIHlv dSBhIHdheSB0byBrbm93IHRoYXQgeW91IGNhbnQgZ28gdGhlcmUuIDpECiAgIH07CgogICBUZXJy YWluRGF0YSAoIENvb3JkaW5hdGU6Ok5vcm1hbGl6ZWRQb3NpdGlvbiBjb29yZGluYXRlLCBURVJS QUlOVFlQRSB0eXBlLCBSZWFsIGVsZXZhdGlvbiApOwogICAKICAgQ29vcmRpbmF0ZTo6Tm9ybWFs aXplZFBvc2l0aW9uIGdldENvb3JkaW5hdGUgKCk7CiAgIFRFUlJBSU5UWVBFIGdldFR5cGUgKCk7 CiAgIFJlYWwgZ2V0RWxldmF0aW9uICgpOwoKcHJpdmF0ZToKCn07CgpjbGFzcyBUZXJyYWluRGF0 YUxvYWRlcgp7CnB1YmxpYzoKICAgdmlydHVhbCBDb3VudGVkUmVmPFRlcnJhaW5EYXRhPiBnZXRU ZXJyYWluRnJvbUNvb3JkaW5hdGUgKCBDb29yZGluYXRlOjpOb3JtYWxpemVkUG9zaXRpb24gY29v cmRpbmF0ZSApID0gMDsKfTsKCgoKLy8hIEEgY29vcmRpbmF0ZSBjYW4gYmUgY29uc3RydWN0ZWQg d2l0aCB3aGF0ZXZlciBjb29yZGluYXRlIHN5c3RlbSB5b3Ugd2FudAovLyEgZXZlbiAzRCwgaG93 ZXZlciB5b3UgYWx3YXlzIHJldHVybiBhIHZhbHVlIGluIG5vcm1hbGl6ZWQgY29vcmRpbmF0ZSBz eXN0ZW0gCi8vISB0byBiZSB1c2VkIGJ5IHRoZSBzaW11bGF0aW9uIGVuZ2luZS4KY2xhc3MgQ29v cmRpbmF0ZQp7CnB1YmxpYzoKCiAgIHR5cGVkZWYgVHVwbGUyPFJlYWwsUmVhbD4gTm9ybWFsaXpl ZFBvc2l0aW9uOwogICB2aXJ0dWFsIE5vcm1hbGl6ZWRQb3NpdGlvbiBnZXRDb29yZGluYXRlICgp ID0gMDsKfTsKCi8vISBFeGFtcGxlIHdpdGggTm9ybWFsaXplZCBDb29yZGluYXRlcwpjbGFzcyBO b3JtYWxpemVkQ29vcmRpbmF0ZQp7CnB1YmxpYzoKICAgTm9ybWFsaXplZENvb3JkaW5hdGUgKCBO b3JtYWxpemVkUG9zaXRpb24gY29vcmRpbmF0ZSApCiAgIHsgdGhpcy0+Y29vcmRpbmF0ZSA9IGNv b3JkaW5hdGU7IH07CiAgIAogICB2aXJ0dWFsIE5vcm1hbGl6ZWRQb3NpdGlvbiBnZXRDb29yZGlu YXRlICgpCiAgIHsgcmV0dXJuIGNvb3JkaW5hdGU7IH0KCnByb3RlY3RlZDoKICAgTm9ybWFsaXpl ZFBvc2l0aW9uIGNvb3JkaW5hdGU7Cn07CgoKCi8vISBBIHJlZ2lvbiBjYW4gYmUgZGVmaW5lZCBh cyBhIGNvbnZleCBwb2xpZ29uIHNwZWNpZmllZCBieSBOb3JtYWxpemVkQ29vcmRpbmF0ZXMuCi8v ISBAcmVtYXJrIFRoaXMgaW50ZXJmYWNlIGlzIGFuIG92ZXIgc2ltcGxpZmljYXRpb24sIGp1c3Qg dG8gc2hvdyB0aGUgZXNlbnRpYWxzCmNsYXNzIFJlZ2lvbgp7CnB1YmxpYzoKCiAgIC8vISBUaGlz IGhhdmUgdG8gYmUgdGhlIGdlbmVyYWwgcHVycG9zZSBhbGdvcml0aG0sIHlvdSBjYW4gbWFrZSBp dCBldmVuIG1vcmUgZWZmaWNpZW50CiAgIC8vISBpbiBzdWJjbGFzZXMgbGlrZSBTcXVhcmVSZWdp b24uCiAgIHZpcnR1YWwgQm9vbCBpc0luc2lkZSAoIENvb3JkaW5hdGU6Ok5vcm1hbGl6ZWRQb3Np dGlvbiBwb3NpdGlvbiApOwogICAgIAp9OwoKY2xhc3MgQ2l0eQp7CnB1YmxpYzoKCiAgIENJVFlU WVBFCiAgIHsKICAgICAgX0NUTUVHQUxPUE9MSVMsCiAgICAgIF9DVE1FVFJPUE9MSVMsCiAgICAg IF9DVENJVFksCiAgICAgIF9DVFNNQUxMQ0lUWSwKICAgICAgX0NUVE9XTiwKICAgICAgX0NUVklM TEFHRSwKICAgICAgX0NUUlVSQUwgCiAgIH07CgogICBDaXR5ICggU3RyaW5nIG5hbWUsIENvb3Jk aW5hdGU6Ok5vcm1hbGl6ZWRQb3NpdGlvbiBwb3NpdGlvbiwgQ0lUWVRZUEUgdHlwZSApOyAvLyBl eHRyYSBpbmZvICkKICAgCiAgIC8vIEdldHRlcnMsIFNldHRlcnMsIERlc3RydWN0b3IsIGV0Yy4K CiAgIFJlYWwgZ2V0RGlzdGFuY2UgKCBDb29yZGluYXRlOjpOb3JtYWxpemVkUG9zaXRpb24gcG9z aXRpb24gKTsKICAgLy8hIFJldHVybnMgdGhlIGluZmx1ZW5jZSBhcmVhIHJhZGlvIG9mIHRoZSBj aXR5LgogICBSZWFsIGdldEluZmx1ZW5jZUFyZWEgKCk7Cgp9OwoKY2xhc3MgQ291bnRyeQp7CnB1 YmxpYzoKICAgQ291bnRyeSAoU3RyaW5nIG5hbWUsIFJlZ2lvbiByZWdpb24pOwoKICAgdmlydHVh bCBCb29sIGlzSW5zaWRlICggQ29vcmRpbmF0ZTo6Tm9ybWFsaXplZFBvc2l0aW9uIHBvc2l0aW9u ICk7CiAgIHZpcnR1YWwgQm9vbCBpc0luc2lkZUFyZWFPZkluZmx1ZW5jZSAoIENvb3JkaW5hdGU6 Ok5vcm1hbGl6ZWRQb3NpdGlvbiBwb3NpdGlvbiApOwoKICAgc3RkOjp2ZWN0b3I8Q2l0eT4gZ2V0 TmVhckNpdGllcyAoIENvb3JkaW5hdGU6Ok5vcm1hbGl6ZWRQb3NpdGlvbiBwb3NpdGlvbiwgUmVh bCBkaXN0YW5jZSApOwoKcHJvdGVjdGVkOgoKICAgdmlydHVhbCB2b2lkIGxvYWRDaXRpZXMgKCk7 CgogICBzdGQ6OnZlY3RvcjxDaXR5PiBjaXRpZXM7CiAgCiAgIFN0cmluZyBuYW1lOwogICBSZWdp b24gcmVnaW9uOwoKfTsKCmNsYXNzIENvbnRpbmVudAp7CnB1YmxpYzoKICAgQ29udGluZW50ICgg U3RyaW5nIG5hbWUsIFJlZ2lvbiByZWdpb24gKTsgICAKCiAgIHZpcnR1YWwgQm9vbCBpc0luc2lk ZSAoIENvb3JkaW5hdGU6Ok5vcm1hbGl6ZWRQb3NpdGlvbiBwb3NpdGlvbiApOwogICAKICAgQ291 bnRyeSBnZXROZWFyQ291bnRyaWVzICggQ29vcmRpbmF0ZTo6Tm9ybWFsaXplZFBvc2l0aW9uIHBv c2l0aW9uLCBSZWFsIGRpc3RhbmNlICk7CiAgIHN0ZDo6dmVjdG9yPENpdHk+IGdldE5lYXJDaXRp ZXMgKCBDb29yZGluYXRlOjpOb3JtYWxpemVkUG9zaXRpb24gcG9zaXRpb24sIFJlYWwgZGlzdGFu Y2UgKTsKCnByb3RlY3RlZDoKCiAgIHZpcnR1YWwgdm9pZCBsb2FkQ291bnRyaWVzICgpOwoKICAg UmVnaW9uIHJlZ2lvbjsKICAgU3RyaW5nIG5hbWU7Cgp9OwoKCgpjbGFzcyBHZW9EYXRhCnsKcHVi bGljOgoKICAgR2VvRGF0YSAoQ291bnRlZFJlZjxUZXJyYWluRGF0YUxvYWRlcj4gdGVycmFpbkRh dGFMb2FkZXIpOwogICAKICAgQm9vbCBpc0NvbnRpbmVudCAoIENvb3JkaW5hdGU6Ok5vcm1hbGl6 ZWRQb3NpdGlvbiBwb3NpdGlvbiApOwogICBCb29sIGlzQ29udGluZW50ICggQ29vcmRpbmF0ZTo6 Tm9ybWFsaXplZFBvc2l0aW9uIHBvc2l0aW9uLCBTdHJpbmcgbmFtZSk7CiAgIENvbnRpbmVudCBn ZXRDb250aW5lbnQgKCBDb29yZGluYXRlOjpOb3JtYWxpemVkUG9zaXRpb24gcG9zaXRpb24gKTsK ICAgCiAgIHN0ZDo6dmVjdG9yPENvbnRpbmVudD4gZ2V0Q29udGluZW50cyAoIFJlZ2lvbiByZWdp b24gKTsKCiAgIHN0ZDo6dmVjdG9yPENpdHk+IGdldENpdGllcyAoIFJlZ2lvbiByZWdpb24gKTsK ICAgc3RkOjp2ZWN0b3I8Q2l0eT4gZ2V0TmVhckNpdGllcyAoIENvb3JkaW5hdGU6Ok5vcm1hbGl6 ZWRQb3NpdGlvbiBwb3NpdGlvbiApOwogICAKICAgQm9vbCBpc0NvdW50cnkgKCBDb29yZGluYXRl OjpOb3JtYWxpemVkUG9zaXRpb24gcG9zaXRpb24gKTsKICAgQm9vbCBpc0NvdW50cnkgKCBDb29y ZGluYXRlOjpOb3JtYWxpemVkUG9zaXRpb24gcG9zaXRpb24sIFN0cmluZyBuYW1lICk7CiAgIENv dW50cnkgZ2V0Q291bnRyeSAoIENvb3JkaW5hdGU6Ok5vcm1hbGl6ZWRQb3NpdGlvbiBwb3NpdGlv biApOwogICAKICAgc3RkOjp2ZWN0b3I8Q2l0eT4gZ2V0Q291bnRyaWVzICggUmVnaW9uIHJlZ2lv biApOwoKcHJvdGVjdGVkOgoKICAgc3RkOjp2ZWN0b3I8Q29udGluZW50PiBjb250aW5lbnRzOwoK ICAgQ291bnRlZFJlZjxUZXJyYWluRGF0YUxvYWRlcj4gdGVycmFpbkRhdGFMb2FkZXI7Cgp9OwoK fTsKCn07ICAvLyBYZW5vY2lkZSBuYW1lc3BhY2UK |