int main(int argc, char **argv) { XMLData* xml = XMLData::getInstance(); string file; if(argc < 2) { file = "sim/codes.xml"; } else { file = argv[1]; } xml->parseXML(file); cout << "Hairiness : "; cout << "types=" << xml->HAIR_TYPE_LENGTH() << " ("; for(auto const& value : xml->getHairTypes()) { cout << value << ";"; } cout << ")" << endl; cout << endl << "Limbs : "; cout << "nb=" << xml->LIMB_NB_LENGTH() << " - size=" << xml->LIMB_SIZE_LENGTH() << " - types=" << xml->LIMB_TYPE_LENGTH() << " ("; for(auto const& value : xml->getLimbTypes()) { cout << value << ";"; } cout << ")" << endl; cout << endl << "Ears : "; cout << "nb=" << xml->EAR_NB_LENGTH() << endl; cout << endl << "Eyes : "; cout << "nb=" << xml->EYE_NB_LENGTH() << endl; cout << endl << "Nostrils : "; cout << "nb=" << xml->NOSTRIL_NB_LENGTH() << endl; cout << endl << "Mouth : "; cout << "types=" << xml->MOUTH_WIDTH_LENGTH() << " ("; for(auto const& value : xml->getMouthWidthTypes()) { cout << value << ";"; } cout << ")" << endl; cout << "Teeth : "; cout << "nb=" << xml->TEETH_NB_LENGTH() << " - types=" << xml->TEETH_TYPE_LENGTH() << " ("; for(auto const& value : xml->getTeethTypes()) { cout << value << ";"; } cout << ")" << endl; return 0; }
int main() { XMLData* xml = XMLData::getInstance(); xml->parseXML("sim/codes.xml"); srand(time(0)); vector<bool> location = decToBinary(3, xml->LIMB_NB_LENGTH()); vector<bool> location2 = decToBinary(1, xml->LIMB_NB_LENGTH()); location.insert(location.end(), location2.begin(), location2.end()); /* Ear Strand */ cout << "First Ear" << endl; EarStrand first_earStrand(2, location); cout << "First Ear Sequence : " << binaryToString(first_earStrand.getSequence()) << endl; cout << "First Ear getNumber() : " << first_earStrand.getNumber() << endl; cout << "First Ear getNumberBin() : " << binaryToString(first_earStrand.getNumberBin()) << endl; cout << "First Ear getLocations() : " << binaryToString(first_earStrand.getLocations()) << endl; cout << "First Ear getLocationOf(0) :" << binaryToString(first_earStrand.getLocationOf(0)) << endl; cout << "First Ear getLocationOf(1) :" << binaryToString(first_earStrand.getLocationOf(1)) << endl; cout << "___________________________________" << endl; /* Eye Strand */ vector<bool> eyeColour = hexToBinary("FFFFFF"); location = decToBinary(2, xml->LIMB_NB_LENGTH()); location2 = decToBinary(14, xml->LIMB_NB_LENGTH()); vector<bool> location3 = decToBinary(1, xml->LIMB_NB_LENGTH()); location.insert(location.end(), location2.begin(), location2.end()); location.insert(location.end(), location3.begin(), location3.end()); cout << "First Eye" << endl; EyeStrand first_eyeStrand(eyeColour, 3, location); cout << "First Eye Sequence : " << binaryToString(first_eyeStrand.getSequence()) << endl; cout << "First Eye getNumber() : " << first_eyeStrand.getNumber() << endl; cout << "First Eye getNumberBin() : " << binaryToString(first_eyeStrand.getNumberBin()) << endl; cout << "First Eye getLocations() : " << binaryToString(first_eyeStrand.getLocations()) << endl; cout << "First Eye getLocationOf(0) :" << binaryToString(first_eyeStrand.getLocationOf(0)) << endl; cout << "First Eye getLocationOf(1) :" << binaryToString(first_eyeStrand.getLocationOf(1)) << endl; cout << "First Eye getLocationOf(2) :" << binaryToString(first_eyeStrand.getLocationOf(2)) << endl; cout << "First Eye getColor() :" << first_eyeStrand.getColor() << endl; cout << "First Eye getColorBin() :" << binaryToString(first_eyeStrand.getColorBin()) << endl; cout << "___________________________________" << endl; /* Creature */ DNA dna1; dna1.addStrand(&first_earStrand); dna1.addStrand(&first_eyeStrand); Creature creature1(0, dna1); DNA dna12 = creature1.getDNA(); vector<Strand*> vectorStrand1 = dna12.getDNAStrand(); EarStrand* first_creature_earStrand = (EarStrand*) vectorStrand1[0]; EyeStrand* first_creature_eyeStrand = (EyeStrand*) vectorStrand1[1]; cout << "First Creature ID : " << creature1.getID() << endl; cout << "First Creature First Sequence Type : " << vectorStrand1[0]->getStrandType() << endl; cout << "First Creature Second Sequence Type : " << vectorStrand1[1]->getStrandType() << endl; cout << "-------------------------" << endl; cout << "First Creature Ear Sequence : " << binaryToString(first_creature_earStrand->getSequence()) << endl; cout << "First Creature Ear getNumber() : " << first_creature_earStrand->getNumber() << endl; cout << "First Creature Ear getNumberBin() : " << binaryToString(first_creature_earStrand->getNumberBin()) << endl; cout << "First Creature Ear getLocations() : " << binaryToString(first_creature_earStrand->getLocations()) << endl; cout << "First Creature Ear getLocationOf(0) :" << binaryToString(first_creature_earStrand->getLocationOf(0)) << endl; cout << "First Creature Ear getLocationOf(1) :" << binaryToString(first_creature_earStrand->getLocationOf(1)) << endl; cout << "----------------------------" << endl; cout << "First Creature Eye Sequence : " << binaryToString(first_creature_eyeStrand->getSequence()) << endl; cout << "First Creature Eye getNumber() : " << first_creature_eyeStrand->getNumber() << endl; cout << "First Creature Eye getNumberBin() : " << binaryToString(first_creature_eyeStrand->getNumberBin()) << endl; cout << "First Creature Eye getLocations() : " << binaryToString(first_creature_eyeStrand->getLocations()) << endl; cout << "First Creature Eye getLocationOf(0) :" << binaryToString(first_creature_eyeStrand->getLocationOf(0)) << endl; cout << "First Creature Eye getLocationOf(1) :" << binaryToString(first_creature_eyeStrand->getLocationOf(1)) << endl; cout << "First Creature Eye getLocationOf(2) :" << binaryToString(first_creature_eyeStrand->getLocationOf(2)) << endl; cout << "First Creature Eye getColor() :" << first_creature_eyeStrand->getColor() << endl; cout << "First Creature Eye getColorBin() :" << binaryToString(first_creature_eyeStrand->getColorBin()) << endl; cout << "----------------------------" << endl; return 0; }