Skip to content

Instantly share code, notes, and snippets.

@Helios-vmg
Created February 12, 2022 17:30
Show Gist options
  • Save Helios-vmg/617c3e7b94fc713bb6eace630009faf7 to your computer and use it in GitHub Desktop.
Save Helios-vmg/617c3e7b94fc713bb6eace630009faf7 to your computer and use it in GitHub Desktop.
#include <vector>
#include <string>
#include <random>
#include <iostream>
#include <ctime>
const char *first_names = "AMBER.ARMORED.ASHEN.ASSASSIN.BASTARD.BITING.BITTER.B"
"LACK.BLAZING.BLOODY.BLUE.BRASS.BRUTAL.BULLET.CANNIBAL.CHARGING.CODE.COPPER.CRA"
"WLING.CREEPING.CRIMSON.CRYING.CRYSTAL.CUNNING.DANCING.DARK.DEATH.DEVIL.DIRE.DI"
"ZZY.DOOM.EMERALD.FIRE.FLAMING.FRANTIC.FRIGID.GARNET.GLACIER.GOBLIN.GOLDEN.GRAY"
".GREEDY.GREEN.GRIZZLY.GROWLING.HINTING.HISSING.HOWLING.HULKING.HUNGRY.HUNTING."
"ICE.IRON.IVORY.JADE.JUMPING.KILLER.LAUGHING.LONELY.MAD.MIDNIGHT.NIGHT.OBSIDIAN"
".OCHRE.ONYX.PANZER.PIRATE.POISON.POUNCING.PROWLING.PUNCHING.RABID.RAGING.RAMPA"
"NT.RANCID.RAVING.RAZOR.ROARING.ROGUE.RUMBLE.RUNNING.SADISTIC.SCOWLING.SEETHING"
".SHINING.SILENT.SINISTER.SKY.SLY.SMILING.SMOKING.SPITTING.SPUNKY.SPYING.STALKI"
"NG.STEEL.STIKER.STONE.STRIKER.STUBBORN.SUNNY.THUNDER.TITANIUM.TREE.TWILIGHT.VA"
"MPIRE.VENGEFUL.VILE.VIRIDIAN.WHITE.WILD.ZIANG";
const char *last_names = "ADDER.AGAMA.ARMADILLO.BADGER.BARRACUDA.BASILISK.BAT.B"
"EAR.BEETLE.BIDON.BISON.BOA.BOAR.BUFFALO.BULL.BUZZARD.CANINE.CAPYBARA.CAT.CENTI"
"PEDE.CHAMELEON.CHEETAH.COBRA.COYOTE.CRAB.CROCODILE.CROW.DHOLE.DINGO.DRAGON.EAG"
"LE.ECHIDNA.EEL.ELEPHANT.ELK.FALCON.FROG.GATOR.GECKO.GIBBON.GOAT.GOPHER.GRIFFON"
".HARRIER.HAWK.HEDGEHOG.HERON.HIPPO.HOG.HORNET.HOUND.HUSKY.HYENA.IGUANA.JACKAL."
"JAGUAR.KANGAROO.KOALA.KOMODO.LEOPARD.LION.LIZARD.LLAMA.LYNX.MACAW.MALAK.MAMMOT"
"H.MANTIS.MARLIN.MARMOT.MASTIFF.MASTODON.MOLE.MONGOOSE.MOOSE.MOSQUITO.MOTH.MOUS"
"E.MUSTANG.OCTOPUS.ORCA.OSPREY.OSTRICH.OTTER.OWL.OX.PANDA.PANTHER.PARROT.PHOENI"
"X.PIRANHA.PLATYPUS.PYTHON.RACCOON.RAM.RAPTOR.RAT.RAVEN.RAY.RHINO.ROACH.ROOSTER"
".SALAMANDER.SALAMANDER.SERPENT.SHARK.SLOTH.SLUG.SPARROW.SPIDER.SQUIRREL.STALLI"
"ON.STURGEON.SWAN.TALKER.TAN.TARANTULA.TIGER.TIGRESS.TREE FROG.TURKEY.VIPER.VUL"
"TURE.WALLABY.WASP.WEASEL.WEEVIL.WHALE.WOLF.WOMBAT.WORM.ZEBRA";
std::vector<std::string> split_string(const char *s){
std::string accum;
std::vector<std::string> ret;
for (;*s; s++){
if (*s == '.'){
if (accum.size())
ret.emplace_back(std::move(accum));
continue;
}
accum += *s;
}
if (accum.size())
ret.emplace_back(std::move(accum));
return ret;
}
int main(){
auto first_names = split_string(::first_names);
auto last_names = split_string(::last_names);
std::cout << first_names.size() << "x" << last_names.size() << std::endl;
if (!first_names.size() || !last_names.size())
return -1;
std::random_device dev;
auto seed = dev() + time(nullptr);
std::cout << seed << "\n\n";
std::mt19937 rng(seed);
std::uniform_int_distribution<int> first(0, first_names.size() - 1);
std::uniform_int_distribution<int> last(0, last_names.size() - 1);
for (int i = 10; i--;){
auto a = first_names[first(rng)];
auto b = last_names[last(rng)];
std::cout << a << " " << b << std::endl;
}
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment