コード例 #1
0
int main(int argc, char** argv) {
    ReferenceCountPtr<Mapa> mapa(new Mapa());

    ReferenceCountPtr<Continente> america(new Continente("AMERICA"));
    ReferenceCountPtr<Continente> asia(new Continente("ASIA"));
    ReferenceCountPtr<Continente> europa(new Continente("EUROPA"));

    ReferenceCountPtr<Pais> argentina(new Pais("ARGENTINA"));
    ReferenceCountPtr<Pais> bolivia(new Pais("BOLIVIA"));

    
    argentina->agregarAdyacente(bolivia);
    
    america->agregarPais(argentina);

    mapa->agregarPais(argentina);
    mapa->agregarPais(bolivia);

    mapa->agregarContinente(america);
    mapa->agregarContinente(asia);
    mapa->agregarContinente(europa);

    MapaParser parser;

    parser.saveMap("mapa.xml", mapa);

    ReferenceCountPtr<Pais> pais = mapa->obtenerPais("ARGENTINA");
    ReferenceCountPtr<Continente> continente =
        mapa->obtenerContinente("EUROPA");
    if (pais != NULL) {
        std::cout << "Contiene Argentina" << std::endl;
    }
    if (continente != NULL) {
        std::cout << "Contiene Europa" << std::endl;
    }

    ReferenceCountPtr<Mapa> otroMapa = parser.loadMap("mapa.xml");

    Mapa::IteradorPais iterPais;

    for (iterPais = otroMapa->primerPais(); iterPais != otroMapa->ultimoPais();
        ++iterPais) {
        ReferenceCountPtr<Pais> actual = *iterPais;
        std::cout << actual->getNombre() << std::endl;
    }

    return 0;
}
コード例 #2
0
ファイル: Earth.cpp プロジェクト: jmeline/risk
void Earth::constructContinentsAndRegions()
{
    // Australia
    Continent australia("Australia",2);
	australia.addRegion(std::make_pair(EasternAustralia, RegionStrings[EasternAustralia]));
    australia.addRegion(std::make_pair(Indonesia, RegionStrings[Indonesia]));
    australia.addRegion(std::make_pair(NewGuinea, RegionStrings[NewGuinea]));
    australia.addRegion(std::make_pair(WesternAustralia, RegionStrings[WesternAustralia]));
	continentList.push_back(australia);

    // North America
    Continent northAmerica("North America", 5);
	northAmerica.addRegion(std::make_pair(Alaska, RegionStrings[Alaska]));
    northAmerica.addRegion(std::make_pair(Alberta, RegionStrings[Alberta]));
    northAmerica.addRegion(std::make_pair(CentralAmerica, RegionStrings[CentralAmerica]));
    northAmerica.addRegion(std::make_pair(EasternUnitedStates, RegionStrings[EasternUnitedStates]));
    northAmerica.addRegion(std::make_pair(Greenland, RegionStrings[Greenland]));
    northAmerica.addRegion(std::make_pair(NorthwestTerritory, RegionStrings[NorthwestTerritory]));
    northAmerica.addRegion(std::make_pair(Ontario, RegionStrings[Ontario]));
    northAmerica.addRegion(std::make_pair(Quebec, RegionStrings[Quebec]));
    northAmerica.addRegion(std::make_pair(WesternUnitedStates, RegionStrings[WesternUnitedStates]));
    continentList.push_back(northAmerica);

    // South America
    Continent southAmerica("South America", 2);
    southAmerica.addRegion(std::make_pair(Argentina, RegionStrings[Argentina]));
    southAmerica.addRegion(std::make_pair(Brazil, RegionStrings[Brazil]));
    southAmerica.addRegion(std::make_pair(Peru, RegionStrings[Peru]));
    southAmerica.addRegion(std::make_pair(Venezuela, RegionStrings[Venezuela]));
    continentList.push_back(southAmerica);

    // Europe
    Continent europe("Europe", 5);
    europe.addRegion(std::make_pair(GreatBritain, RegionStrings[GreatBritain]));
    europe.addRegion(std::make_pair(Iceland, RegionStrings[Iceland]));
    europe.addRegion(std::make_pair(NorthernEurope, RegionStrings[NorthernEurope]));
    europe.addRegion(std::make_pair(Scandinavia, RegionStrings[Scandinavia]));
    europe.addRegion(std::make_pair(SouthernEurope, RegionStrings[SouthernEurope]));
    europe.addRegion(std::make_pair(Ukraine, RegionStrings[Ukraine]));
    europe.addRegion(std::make_pair(WesternEurope, RegionStrings[WesternEurope]));
    continentList.push_back(europe);

    // Asia
    Continent asia("Asia", 7);
    asia.addRegion(std::make_pair(Afghanistan, RegionStrings[Afghanistan]));
    asia.addRegion(std::make_pair(China, RegionStrings[China]));
    asia.addRegion(std::make_pair(India, RegionStrings[India]));
    asia.addRegion(std::make_pair(Irkutsk, RegionStrings[Irkutsk]));
    asia.addRegion(std::make_pair(Japan, RegionStrings[Japan]));
    asia.addRegion(std::make_pair(Kamchatka, RegionStrings[Kamchatka]));
    asia.addRegion(std::make_pair(MiddleEast, RegionStrings[MiddleEast]));
    asia.addRegion(std::make_pair(Mongolia, RegionStrings[Mongolia]));
    asia.addRegion(std::make_pair(Siam, RegionStrings[Siam]));
    asia.addRegion(std::make_pair(Siberia, RegionStrings[Siberia]));
    asia.addRegion(std::make_pair(Ural, RegionStrings[Ural]));
    asia.addRegion(std::make_pair(Yakutsk, RegionStrings[Yakutsk]));
    continentList.push_back(asia);

    // Africa
    Continent africa("Africa", 3);
    africa.addRegion(std::make_pair(Congo, RegionStrings[Congo]));
    africa.addRegion(std::make_pair(EastAfrica, RegionStrings[EastAfrica]));
    africa.addRegion(std::make_pair(Egypt, RegionStrings[Egypt]));
    africa.addRegion(std::make_pair(Madagascar, RegionStrings[Madagascar]));
    africa.addRegion(std::make_pair(NorthAfrica, RegionStrings[NorthAfrica]));
    africa.addRegion(std::make_pair(SouthAfrica, RegionStrings[SouthAfrica]));
    continentList.push_back(africa);
}