Title: [C++] Pony Name Generator Author: Anonymous Pastebin link: http://pastebin.com/E3kBhkFf First Edit: Sunday 14th of September 2014 07:57:55 AM CDT Last Edit: Sunday 14th of September 2014 07:57:55 AM CDT /*** NAMES.HPP STARTS HERE **/ /* Name segments blatantly stolen from mlp.wikia.com/wiki/List_of_ponies/  And hand typed because I'm a fool */     const char *ADJECTIVES[] = {         "Blue",         "Brown",         "Burnt",         "Charcoal",         "Cherry",         "Chilly",         "Chocolate",         "Cold",         "Crispy",         "Deep",         "Dizzy",         "Down",         "Fuzzy",         "Ginger",         "Grape",         "Green",         "Hazel",         "Icy",         "Inky",         "Linked",         "Maroon",         "Orange",         "Peachy",         "Purple",         "Quick",         "Red",         "Rosewood",         "Serene",         "Shining",         "Silver",         "Tender",         "Wild",         "EOL" };   const char *FEMALE_ONLY_ADJECTIVES[] = {         "Amber",         "Beauty",         "Cinna",         "Cocoa",         "Cream",         "Dazy",         "Fairy",         "Fuschia",         "Golden",         "Graceful",         "Juicy",         "Lavender",         "Lilac",         "Mango",         "Pastel",         "Pink",         "Precious",         "Prim",         "Purple",         "Quick",         "Red",         "Rosewood",         "Sapphire",         "Serene",         "Shining",         "Shiny",         "Silver",         "Sunny",         "Sweet",         "Sweetie",         "Tropical",         "EOL" };   const char *MALE_ONLY_ADJECTIVES[] = {         "Big",         "Cappuccino",         "Caramel",         "Emerald",         "Fair",         "Grey",         "Shady",         "Tin",         "EOL" };   const char *NOUNS[] = {         "April",         "Arctic",         "Baked",         "Banana",         "Beat",         "Berry",         "Blossom",         "Blueberry",         "Blues",         "Bud",         "Candy",         "Carrot",         "Chant",         "Chaser",         "Cinnamon",         "Cookie",         "Crescent",         "Crisp",         "Dance",         "Day",         "Dew",         "Dreams",         "Drop",         "Dusk",         "Fetlock",         "Fire",         "Floss",         "Fluff",         "Fruit",         "Gazer",         "Gold",         "Hammer",         "Happiness",         "Helia",         "Hoof",         "Icicle",         "Ink",         "Jelly",         "Jewel",         "Kicker",         "Liberty",         "Links",         "Lock",         "Mane",         "Medley",         "Melody",         "Midnight",         "Monochrome",         "Muffin",         "Night",         "Note",         "Prose",         "Puddle",         "Punch",         "Rhythm",         "River",         "Sand",         "Scratch",         "Sea",         "Serenity",         "Shot",         "Shutter",         "Soda",         "Spirits",         "Surprise",         "Swirl",         "Tail",         "Tangerine",         "Thorn",         "Torch",         "Twirl",         "Twist",         "Wave",         "Way",         "Winter",         "EOL" };   const char *FEMALE_ONLY_NOUNS[] = {         "Ambrosia",         "Amethyst",         "Apricot",         "Autumn",         "Belle",         "Bliss",         "Bloom",         "Bow",         "Brioche",         "Clover",         "Crescendo",         "Daisy",         "Dancer",         "Delight",         "Doo",         "Flourish",         "Fruit",         "Glass",         "Glory",         "Grace",         "Heart",         "Hearts",         "Honey",         "Hope",         "Ice",         "Jade",         "June",         "Junebug",         "Lemon",         "Light",         "Locks",         "Marigold",         "May",         "Opal",         "Orchid",         "Paisley",         "Pansy",         "Paradise",         "Peach",         "Perfect",         "Petunia",         "Pie",         "Plum",         "Pop",         "Ribbon",         "Rose",         "Rouge",         "Sassaflash",         "Shores",         "Shy",         "Slipper",         "Song",         "Spring",         "Star",         "Strings",         "Sugar",         "Sugar",         "Sunset",         "Sunshine",         "Surprise",         "Sweet",         "Swirl",         "Symphony",         "Tail",         "Tangerine",         "Thorn",         "Torch",         "Twirl",         "Twist",         "Vision",         "Wave",         "Way",         "Whinny",         "Winnow",         "Winter",         "EOL" };   const char *MALE_ONLY_NOUNS[] = {         "Ace",         "Armor",         "Castle",         "Chip",         "Cobalt",         "Coffee",         "Crush",         "Graphite",         "Hay",         "Hunter",         "Lane",         "Lucky",         "Marble",         "Rivet",         "Smoke",         "Steamer",         "Strike",         "Tart",         "Trail",         "EOL" };   const char *EARTH_PONY_ONLY_ADJECTIVES[] = {         "Cloudy",         "Crumble",         "Dry",         "Igneous",         "Lime",         "Sapphire",         "Silver",         "EOL" };   const char *EARTH_PONY_ONLY_NOUNS[] = {         "Apple",         "Apple",         "Apples",         "Bakes",         "Brook",         "Cake",         "Cider",         "Corn",         "Cotton",         "Diamond",         "Dough",         "Flora",         "Flower",         "Forest",         "Fritter",         "Gala",         "Gem",         "Harvest",         "Jonagold",         "Leaves",         "Lily",         "Limestone",         "Magdalena",         "Marble",         "Melon",         "Pie",         "Pomegranate",         "Pumpkin",         "Quartz",         "Rock",         "Rock",         "Rose",         "Sap",         "Sauce",         "Seed",         "Sew",         "Shamrock",         "Soot",         "Spirit",         "Splash",         "Split",         "Spoon",         "Squash",         "Stone",         "Strawberry",         "Strudel",         "Tiara",         "Toffee",         "Tooth",         "Tooth",         "Tree",         "Truffle",         "Valley",         "Vanilla",         "Waffle",         "Wheat",         "Wood",         "EOL" };   const char *PEGASUS_PONY_ONLY_ADJECTIVES[] = {         "Breezy",         "Cerulean",         "Cloudy",         "Cosmic",         "Cyan",         "Endless",         "High",         "Misty",         "Northern",         "Rainy",         "Rapid",         "Slip",         "EOL" };   const char *PEGASUS_PONY_ONLY_NOUNS[] = {         "Blaze",         "Blaze",         "Bluebird",         "Bolt",         "Breeze",         "Cloud",         "Clouds",         "Dash",         "Descent",         "Draft",         "Drizzle",         "Dust",         "Falls",         "Feather",         "Fleet",         "Flight",         "Flurry",         "Flutter",         "Fly",         "Gale",         "Glider",         "Hurricane",         "Jet",         "Light",         "Lightning",         "Lights",         "Mellow",         "Mist",         "Prism",         "Rain",         "Rainbow",         "Raindrops",         "Rays",         "Shine",         "Showers",         "Showers",         "Skies",         "Sky",         "Snow",         "Soar",         "Spit",         "Sprinkle",         "Stop",         "Storm",         "Stream",         "Streams",         "Sunshower",         "Swoop",         "Tornado",         "Twister",         "Wave",         "Weather",         "Whip",         "Winds",         "Wing",         "Wisp",         "Zip",         "EOL" };   const char *UNICORN_PONY_ONLY_ADJECTIVES[] = {         "Bright",         "Dawn",         "Porcelain",         "Rare",         "Rising",         "Royal",         "Top",         "Twilight",         "Upper",         "Violet",         "EOL" };   const char *UNICORN_PONY_ONLY_NOUNS[] = {         "Aura",         "Charm",         "Comet",         "Crown",         "Crystal",         "Horn",         "Ivory",         "Moon",         "Night",         "Pearl",         "Radiance",         "Spray",         "Stars",         "Sun",         "Swan",         "Twinkle",         "Velvet",         "Wishes",         "EOL" };   /** MAIN.CPP STARTS HERE **/ /* Generate a pony name */ /* Released into Public Domain by Anonymous */   #include #include #include #include   #include "names.hpp"   enum {         ADJECTIVE_NOUN_NAME,         ADJECTIVE_NOUN_NAME2,         NOUN_NOUN_NAME,         NOUN_NOUN_NAME2,         NAME_TYPES };   int main() {         srand(time(NULL));         std::string buffer;         std::vector< std::string> adjectives;         std::vector< std::string> nouns;         size_t index = 0;           bool isAStallion=false, isAPegasus=false, isAUnicorn=false, isAEarth=false;           printf("Generates pony names\n\n");           do         {                 printf("(s)tallion or (m)are: ");                 std::getline(std::cin, buffer);         } while( buffer != "m" && buffer != "s");           if(buffer == "s") isAStallion=true;           do         {                 printf("(e)arth pony, (u)nicorn, or (p)egasus: ");                 std::getline(std::cin, buffer);         } while( buffer != "e" && buffer != "u" && buffer != "p");           if(buffer == "e") isAEarth=true;         else if(buffer == "p") isAPegasus=true;         else if(buffer == "u") isAUnicorn=true;           printf("Generating names for a %s %s pony, press for a new one\n\n",                 isAStallion? "stallion": "mare",                 isAEarth? "earth": isAPegasus? "pegasus": "unicorn");                         //Get full adjective and noun list for pony         buffer.clear();         while(buffer != "EOL")         {                 buffer = ADJECTIVES[index];                 index++;                 if(buffer != "EOL") adjectives.push_back(buffer);         }           buffer.clear();         index=0;         while(buffer != "EOL")         {                 buffer = NOUNS[index];                 index++;                 if(buffer != "EOL") nouns.push_back(buffer);         }           if(isAStallion)         {                 buffer.clear();                 index = 0;                 while(buffer != "EOL")                 {                         buffer = MALE_ONLY_ADJECTIVES[index];                         index++;                         if(buffer != "EOL") adjectives.push_back(buffer);                 }                 buffer.clear();                 index = 0;                 while(buffer != "EOL")                 {                         buffer = MALE_ONLY_NOUNS[index];                         index++;                         if(buffer != "EOL") nouns.push_back(buffer);                 }         }         else         {                 buffer.clear();                 index = 0;                 while(buffer != "EOL")                 {                         buffer = FEMALE_ONLY_ADJECTIVES[index];                         index++;                         if(buffer != "EOL") adjectives.push_back(buffer);                 }                 buffer.clear();                 index = 0;                 while(buffer != "EOL")                 {                         buffer = FEMALE_ONLY_NOUNS[index];                         index++;                         if(buffer != "EOL") nouns.push_back(buffer);                 }         }         if(isAPegasus)         {                 buffer.clear();                 index = 0;                 while(buffer != "EOL")                 {                         buffer = PEGASUS_PONY_ONLY_ADJECTIVES[index];                         index++;                         if(buffer != "EOL") adjectives.push_back(buffer);                 }                 buffer.clear();                 index = 0;                 while(buffer != "EOL")                 {                         buffer = PEGASUS_PONY_ONLY_NOUNS[index];                         index++;                         if(buffer != "EOL") nouns.push_back(buffer);                 }         }         else if(isAUnicorn)         {                 buffer.clear();                 index = 0;                 while(buffer != "EOL")                 {                         buffer = UNICORN_PONY_ONLY_ADJECTIVES[index];                         index++;                         if(buffer != "EOL") adjectives.push_back(buffer);                 }                 buffer.clear();                 index = 0;                 while(buffer != "EOL")                 {                         buffer = UNICORN_PONY_ONLY_NOUNS[index];                         index++;                         if(buffer != "EOL") nouns.push_back(buffer);                 }         }         else         {                 buffer.clear();                 index = 0;                 while(buffer != "EOL")                 {                         buffer = EARTH_PONY_ONLY_ADJECTIVES[index];                         index++;                         if(buffer != "EOL") adjectives.push_back(buffer);                 }                 buffer.clear();                 index = 0;                 while(buffer != "EOL")                 {                         buffer = EARTH_PONY_ONLY_NOUNS[index];                         index++;                         if(buffer != "EOL") nouns.push_back(buffer);                 }         }                 while(true)         {                 buffer.clear();                 int nameType = rand()%NAME_TYPES;                 switch(nameType)                 {                 case ADJECTIVE_NOUN_NAME:                 case ADJECTIVE_NOUN_NAME2:                         {                                 buffer = adjectives[rand()%adjectives.size()];                                 buffer.append( nouns[rand()%nouns.size()] );                         }                         break;                 case NOUN_NOUN_NAME:                 case NOUN_NOUN_NAME2:                         {                                 buffer = nouns[rand()%nouns.size()];                                 buffer.append( nouns[rand()%nouns.size()] );                         }                         break;                 }                   printf("Your pony's name is: %s", buffer.c_str());                 getchar();         }             getchar();         return 0; }