diff options
author | rodri <rgl@antares-labs.eu> | 2020-02-22 09:56:09 +0000 |
---|---|---|
committer | rodri <rgl@antares-labs.eu> | 2020-02-22 09:56:09 +0000 |
commit | a39951d8f69209cfea2b7051832b851914e662ef (patch) | |
tree | e4cd1c32e5d6f531b523f6fda558cc3a5f603547 /genrandname.c | |
download | brokentoys-a39951d8f69209cfea2b7051832b851914e662ef.tar.gz brokentoys-a39951d8f69209cfea2b7051832b851914e662ef.tar.bz2 brokentoys-a39951d8f69209cfea2b7051832b851914e662ef.zip |
now version controlled.
Diffstat (limited to 'genrandname.c')
-rw-r--r-- | genrandname.c | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/genrandname.c b/genrandname.c new file mode 100644 index 0000000..39ce199 --- /dev/null +++ b/genrandname.c @@ -0,0 +1,57 @@ +#include <u.h> +#include <libc.h> + +enum { + NF, + NM +}; + +typedef struct Name Name; +struct Name +{ + char *name; + int sex; +}; + +void +genrandname(char *d, ulong len) +{ + Name names[] = { + "mariana", NF, + "jerca", NF, + "repa", NF, + "jaca", NF, + "pinta", NF, + "manolo", NM, + "eustaquio", NM, + "aberroncho", NM, + "merovingio", NM, + "trudi", NM + }; + char *adjectives[] = { + "atropelladX", + "bacaladX", + "acojonadX", + "estrictX", + "diarreas", + "gordacX" + }, buf[256], *p; + int i; + + i = ntruerand(nelem(adjectives)); + snprint(buf, sizeof buf, "%s", adjectives[i]); + i = ntruerand(nelem(names)); + if((p = strchr(buf, 'X')) != nil) + *p = names[i].sex == NF ? 'a' : 'o'; + snprint(d, len, "%s%s", names[i].name, buf); +} + +void +main() +{ + char buf[256]; + + genrandname(buf, sizeof buf); + print("%s\n", buf); + exits(0); +} |