[comp.sources.amiga] v91i114: Names 1.1 - generate random names, Part01/01

amiga-request@ab20.larc.nasa.gov (Amiga Sources/Binaries Moderator) (05/18/91)

Submitted-by: RWALLACE%vax1.tcd.ie@CUNYVM.CUNY.EDU
Posting-number: Volume 91, Issue 114
Archive-name: utilities/names-1.1/part01

[ includes uuencoded executable  ...tad ]

Program to generate random names
Useful for generating names for stuff like computer games and so on when you
can't be bothered thinking them up yourself. At the moment it avoids runs of
more than 2 vowels or 2 consonants in a row and generates words of between
3 and 10 letters ... many of the names are unusable, select the usable ones.
I decided this was easier than trying to improve the generation process.

#!/bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 1 (of 1)."
# Contents:  names.c names.uu
# Wrapped by tadguy@ab20 on Fri May 17 22:10:03 1991
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'names.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'names.c'\"
else
echo shar: Extracting \"'names.c'\" \(1536 characters\)
sed "s/^X//" >'names.c' <<'END_OF_FILE'
X/*
XNames v1.1 by Russell Wallace 29 July 1989
XProgram to generate random names
XUseful for generating names for stuff like computer games and so on when you
Xcan't be bothered thinking them up yourself. At the moment it avoids runs of
Xmore than 2 vowels or 2 consonants in a row and generates words of between
X3 and 10 letters ... many of the names are unusable, select the usable ones.
XI decided this was easier than trying to improve the generation process.
X*/
X
X#define videornd  (*((unsigned *)0xdff006))
X
Xlong RangeRand ();
X
Xchar buffer[11];
X
Xmain (argc,argv)
Xchar **argv;
X{
X    int i,j,l,NAMES=50;
X    char c,c1,c2;
X    if (argc>1)
X    {
X	if (!strcmp (argv[1],"?"))
X	{
X	    printf ("Names v1.1 by Russell Wallace 29 July 1989\n\
XGenerates random names for fantasy games etc.\n\
XUsage: NAMES [number of names to generate]\n");
X	    return;
X	}
X	NAMES=atoi (argv[1]);
X    }
X    for (j=0;j<NAMES;j++)
X    {
X	l=rnd (7)+3;
X	for (i=0;i<l;i++)
X	{
X	    if (i<=1)
X		buffer[i]=rnd (26)+'a';
X	    else
X	    {
X		c1=buffer[i-1];
X		c2=buffer[i-2];
X		do
X		{
X		    if (rnd (50)==0)
X		    {
X			if (rnd (2))
X			    c='-';
X			else
X			    c='\'';
X		    }
X		    else
X			c=rnd (26)+'a';
X		}
X		while (
X			(!isvowel (c1) && !isvowel (c2) && !isvowel (c)) ||
X			(isvowel (c1) && isvowel (c2) && isvowel (c))
X		      );
X		buffer[i]=c;
X	    }
X	}
X	buffer[i]=0;
X	printf ("%s\n",buffer);
X    }
X}
X
Xint isvowel (c)
Xchar c;
X{
X    return (c=='a' || c=='e' || c=='i' || c=='o' || c=='u');
X}
X
Xrnd (x)
X{
X    RangeRand ((long)videornd);
X    return RangeRand ((long)x);
X}
X
END_OF_FILE
if test 1536 -ne `wc -c <'names.c'`; then
    echo shar: \"'names.c'\" unpacked with wrong size!
fi
# end of 'names.c'
fi
if test -f 'names.uu' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'names.uu'\"
else
echo shar: Extracting \"'names.uu'\" \(8167 characters\)
sed "s/^X//" >'names.uu' <<'END_OF_FILE'
Xbegin 644 names
XM```#\P`````````#``````````(```3_````K@````$```/I```$_T[Z`S).G
XM5?_T.WP`,O_X#&T``0`(;S9(>@&2(&T`"B\H``1.N@+@4$]*0&8.2'H!?DZZF
XM!WQ83TY=3G4@;0`*+R@`!$ZZ`DY83SM`__A";?_\8``!2#\\``=.N@(25$]6E
XM0#M`__I";?_^8``!!@QM``'__FX>/SP`&DZZ`?)43]!\`&$R+?_^0>R"8A&`H
XM$`!@``#<,"W__E-`0>R"8AMP``#_]C`M__Y50$'L@F(;<```__4_/``R3KH!_
XMM%1/2D!F'C\\``).N@&F5$]*0&<(&WP`+?_W8`8;?``G__=@$C\\`!I.N@&(9
XM5$_0?`!A&T#_]Q`M__9(@#\`3KH!/%1/2D!F)!`M__5(@#\`3KH!*E1/2D!F4
XM$A`M__=(@#\`3KH!&%1/2D!GC!`M__9(@#\`3KH!!E1/2D!G)A`M__5(@#\`'
XM3KH`]%1/2D!G%!`M__=(@#\`3KH`XE1/2D!F`/]6,"W__D'L@F(1K?_W``!2A
XM;?_^,"W__K!M__IM`/[R,"W__D'L@F)",```2&R"8DAZ`*-.N@8<4$]2;?_\4
XM,"W__+!M__AM`/ZP8`#^CC\`3F%M97,@=C$N,2!B>2!2=7-S96QL(%=A;&QAB
XM8V4@,CD@2G5L>2`Q.3@Y"D=E;F5R871E<R!R86YD;VT@;F%M97,@9F]R(&9A=
XM;G1A<WD@9V%M97,@971C+@I5<V%G93H@3D%-15,@6VYU;6)E<B!O9B!N86UEM
XM<R!T;R!G96YE<F%T95T*`"5S"@``3E4```PM`&$`"6<@#"T`90`)9Q@,+0!I_
XM``EG$`PM`&\`"6<(#"T`=0`)9@1P`6`"<`!.74YU3E4``'``,#D`W_`&+P!.`
XMNA$Z6$\P+0`(2,`O`$ZZ$2Q83TY=3G5.50``2.<,("1M``@,$@`@9P8,$@`)+
XM9@12BF#P>@`,$@`M9@9Z`5**8`@,$@`K9@)2BG@`8!8@2E**$!!(@#($POP`C
XM"M!!.`"8?``P$!)(@%)`0>R`%`@P``(``&;82D5G!C`$1$!@`C`$3-\$,$Y=@
XM3G4P/'__8`0P+P`,4T!K%"!O``0B;P`(L0EF#%-(2AA7R/_V<`!.=6,$<`%.0
XM=7#_3G5A<$/L@EY%[()>M<EF#C(\`!9K"'0`(L)1R?_\*4^";BQX``0I3H)RI
XM2.>`@`@N``0!*6<02_H`"$ZN_^)@!D*G\U].<T/Z`"!.KOYH*4""=F8,+CP`2
XM`X`'3J[_E&`$3KH`&E!/3G5D;W,N;&EB<F%R>0!)^0``?_Y.=4Y5```O"DAY)
XM``$``#`L@D[!_``&+P!.N@]6*4"">E!/9A1"ITAY``$``$ZZ#QI03RYL@FY.=
XM=2!L@GI":``$(&R">C%\``$`$"!L@GHQ?``!``H@;()N("R";I"H``10@"E`>
XM@GX@;()^(+Q-04Y80J=.N@\*)$!*J@"L6$]G+B\M``PO+0`(+PI.N@"N.7P`6
XM`8*"(&R">@!H@```!"!L@GH`:(````I/[P`,8$)(:@!<3KH/)$AJ`%Q.N@[FR
XM*4""A"!L@H1*J``D4$]G$"!L@H0B:``D+Q%.N@X&6$\O+(*$+PI.N@)H*6R"3
XMA(*(4$].N@X&(&R">B"`3KH.)B!L@GHA0``&9Q9(>`/M2'H`*DZZ#@(@;()Z5
XM(4``#%!/+RR"B#\L@HQ.NOLP0F=.N@P@4$\D7TY=3G4J`$Y5``!(YPPP)&T`3
XM$"!M``A*J`"L9Q@@;0`(("@`K.6`*``@1"`H`!#E@"9`8`0F;()0$!-(@$C`:
XMT*T`#%2`.4""CD*G,"R"CDC`+P!.N@WH*4""D%!/9@A,WPPP3EU.=1`32(`ZQ
XM`#\%($M2B"\(+RR"D$ZZ`7XP!4C`($#1[(*00_H!1!#99OP_+0`.+PHO+(*0-
XM3KH!.B!L@I!",%``.7P``8*,,`5(P-"L@I`F0%*+)$M/[P`4$!-(@#H`L'P`'
XM(&<8NGP`"6<2NGP`#&<,NGP`#6<&NGP`"F8$4HM@V`P3`"!M>@P3`")F+E*+3
XM($M2BQ`02(`Z`&<>($I2BA"%NGP`(F80#!,`(F8$4HM@!D(J__]@`F#68#@@`
XM2U*+$!!(@#H`9R:Z?``@9R"Z?``)9QJZ?``,9Q2Z?``-9PZZ?``*9P@@2E**>
XM$(5@SB!*4HI"$$I%9@)3BU)L@HQ@`/]:0A)"IS`L@HQ20$C`Y8`O`$ZZ#,8I-
XM0(*(4$]F"$)L@HQ@`/[8>@`F;(*08"0P!4C`Y8`@;(*((8L(`"!+(`A*&&;\N
XMD<!3B#`(4D!(P-?`4D6Z;(*,;=8P!4C`Y8`@;(*(0K`(`&``_I0@`#`\?_]@Q
XM!#`O``P@;P`$2AAF_%-((F\`"%-`$-E7R/_\9P)"$"`O``1.=4SO`P``!"`(+
XM,B\`#&`"$-E7R?_\9P9206`"0AA1R?_\3G5.50``2.<.,"1M``A"ITAZ`(Y.7
XMN@Q,*4""E%!/9@A,WPQP3EU.=2!M``PB:``D+RD`!$ZZ#'PH`%A/9U)(>@!M=
XM($0O*``V3KH,3B9`2H!03V<T2'@#[2\+3KH+;"P`4$]G)"`&Y8`J`"!%)6@`C
XM"`"D)48`G$AX`^U(>@`X3KH+2"5``*!03R\$3KH,&EA/+RR"E$ZZ"WY"K(*4J
XM6$]@@&EC;VXN;&EB<F%R>0!724Y$3U<`*@!.50``2&T`#"\M``A(>@1@3KH`+
XMF$_O``Q.74YU3E4``$CG""`D;0`.#&T`!``29@@@;0`(*!!@'$IM``QO#"!MZ
XM``AP`#`0*`!@"B!M``@P$$C`*`!";0`22FT`#&P01&T`#$J$;`A$A#M\``$`.
XM$C(M``Q(P2`$3KH#D$'L@`)3BA2P```R+0`,2,$@!$ZZ`X8H`&;:2FT`$F<&<
XM4XH4O``M(`I,WP003EU.=4Y5_R)(YP@P)&T`""9M``Q";?_Z*VT`$/_\($M2<
XMBQ`02(`X`&<``NZX?``E9@`"S$(M_S`[?``!__@[?``@__8[?"<0__0@2U*+1
XM$!!(@#@`L'P`+68.0FW_^"!+4HL0$$B`.`"X?``P9A`[?``P__8@2U*+$!!(A
XM@#@`N'P`*F88(&W__%2M__P[4/_R($M2BQ`02(`X`&`R0FW_\F`<,"W_\L'\U
XM``K01)!\`#`[0/_R($M2BQ`02(`X`#`$4D!![(`4"#```@``9M2X?``N9EH@K
XM2U*+$!!(@#@`L'P`*F88(&W__%2M__P[4/_T($M2BQ`02(`X`&`R0FW_]&`<V
XM,"W_],'\``K01)!\`#`[0/_T($M2BQ`02(`X`#`$4D!![(`4"#```@``9M0[S
XM?``"__"X?`!L9A(@2U*+$!!(@#@`.WP`!/_P8!"X?`!H9@H@2U*+$!!(@#@`[
XM,`1(P&!Z.WP`"/_N8!8[?``*_^Y@#CM\`!#_[F`&.WS_]O_N/RW_\$AM_S`_%
XM+?_N+RW__$ZZ_>0K0/_J,"W_\$C`T:W__$_O``Q@7"!M__Q8K?_\(E`K2?_J8
XM(`E*&6;\D\!3B3M)__!@2B!M__Q4K?_\.!!![?\O*TC_ZA"$8"B0O````&-GP
XMXE.`9Y*0O`````MG`/]R68!GLE6`9P#_<%>`9P#_<F#,0>W_,)'M_^H[2/_P+
XM,"W_\+!M__1O!CMM__3_\$IM__AG:"!M_^H,$``M9PH@;?_J#!``*V8N#&T`2
XM,/_V9B93;?_R(&W_ZE*M_^H0$$B`/P!.DK!\__]43V8*</],WPP03EU.=6`6>
XM/RW_]DZ2L'S__U1/9@1P_V#D4FW_^C`M__)3;?_RL&W_\&[<0FW_[F`@(&W_@
XMZE*M_^H0$$B`/P!.DK!\__]43V8$</]@L%)M_^X@;?_J2A!G"C`M_^ZP;?_T6
XM;<XP+?_NT6W_^DIM__AF*&`8/SP`($Z2L'S__U1/9@9P_V``_WA2;?_Z,"W_^
XM\E-M__*P;?_P;MI@%C\$3I*P?/__5$]F!G#_8`#_4E)M__I@`/T(,"W_^F``\
XM_T)(YT@`0H1*@&H$1(!21$J!:@9$@0I$``%A/DI$9P)$@$S?`!)*@$YU2.=(Z
XM`$*$2H!J!$2`4D1*@6H"1(%A&B`!8-@O`6$2(`$B'TJ`3G4O`6$&(A]*@$YU?
XM2.<P`$A!2D%F($A!-@$T`$)`2$"`PR(`2$`R`H+#,`%"04A!3-\`#$YU2$$F#
XM`2(`0D%(04A`0D!T#]"`TX&V@6($DH-20%'*__),WP`,3G5.50``2&R`K#\M9
XM``A.N@`(7$].74YU3E4``"\$."T`""\M``H_!$ZZ`#"X?``*7$]F)"!M``H0O
XM*``,2(`(```'9Q0_//__+RT`"DZZ`/1<3R@?3EU.=6#X3E4``"\*)&T`"B!2"
XML>H`!&48,"T`",!\`/\_`"\*3KH`R%Q/)%].74YU(%)2DA`M``D0@$B`P'P`0
XM_V#H3E4``"\*0>R`EB1(($K5_````!8O"&$06$]![().M<AEZB1?3EU.=4Y5/
XM``!(YP@@)&T`"'@`(`IF"G#_3-\$$$Y=3G5**@`,9U`(*@`"``QG##\\__\OP
XM"F%2.`!<3Q`J``U(@#\`3KH%'(A`""H``0`,5$]G"B\J``A.N@(N6$\(*@`%I
XM``QG$B\J`!).N@+`+RH`$DZZ`A103T*20JH`!$*J``A"*@`,,`1@D$Y5__Y(>
XMYP@@)&T`"$'Z_T8I2(*8""H`!``,9PIP_TS?!!!.74YU""H``@`,9S`@4I'J&
XM``@X"#\$+RH`"!`J``U(@#\`3KH"@+!$4$]G$`CJ``0`#$*20JH`!'#_8,`,O
XM;?__``QF$`BJ``(`#$*20JH`!'``8*A*J@`(9@@O"DZZ`)I83PQJ``$`$&8JL
XM&VT`#?__/SP``4AM__\0*@`-2(`_`$ZZ`B*P?``!4$]FH#`M``Q@`/]J)*H`.
XM"#`J`!!(P-"J``@E0``$".H``@`,(%)2DA`M``T0@$B`P'P`_V``_SY.50``8
XM+PI![("6)$A**@`,9QC5_````!9![().M<AE"'``)%].74YU8.)"DD*J``1">
XMJ@`((`I@ZDY5__PO"B1M``@_/`0`3KH`P"M`__Q43V88-7P``0`0($K1_```=
XM``XE2``()%].74YU-7P$```0".H``0`,)6W__``($"H`#4B`/P!.N@#B2D!4C
XM3V<&`"H`@``,8,Y.50``2.<`,"1L@EY@%"92("H`!%"`+P`O"DZZ!$Y03R1+L
XM(`IFZ$*L@EY,WPP`3EU.=4Y5```O"D'Z_\8I2(*<0J<@+0`(4(`O`$ZZ`_PD^
XM0$J`4$]F"'``)%].74YU)*R"7B5M``@`!"E*@EX@"E"`8.9.50``<``P+0`(1
XM+P!ALEA/3EU.=4Y5``!(YP`PE\LD;()>8`X@;0`(48BQRF<2)DHD4B`*9NYP/
XM_TS?#`!.74YU(`MG!":28`0I4H)>("H`!%"`+P`O"DZZ`Z!P`%!/8-A.50``,
XM+PHP+0`(P?P`!B1`U>R">DIM``AM#C`M``BP;().;`1*DF8..7P``H*@</\DY
XM7TY=3G4P+0`(P?P`!B!L@GHO,`@`3KH"QDJ`6$]G!'`!8`)P`&#83E4``"\M*
XM``A.N@*02H!83V8.3KH"FCE`@J!P_TY=3G5P`&#X3E4``$CG#"`X+0`(3KH`>
XM<#`$P?P`!B1`U>R">DI$;0JX;().;`1*DF80.7P``H*@</],WP0P3EU.=3`JR
XM``3`?``#9@HY?``%@J!P_V#D<``P+0`.+P`O+0`*+Q).N@)F*@"PO/____]/$
XM[P`,9@Q.N@(:.4""H'#_8+@@!6"T3E7__$AX$`!"ITZZ`LHK0/_\"```#%!/P
XM9Q)*;(*"9@@@+?_\3EU.=4ZZ``9P`&#T3E4``$AX``1(>@`<3KH!\"\`3KH"@
XM`C\\``%.N@`.3^\`#DY=3G5>0PH`3E4``$JL@IAG!B!L@IA.D#\M``A.N@`(A
XM5$].74YU3E7__"\$,"T`"$C`*T#__$JL@GIG*'@`8`H_!$ZZ`/Y43U)$N&R"`
XM3FWP,"R"3L'\``8O`"\L@GI.N@'L4$]*K(*<9P8@;(*<3I!*K()49PHO+()4K
XM3KH!:%A/2JR"HF<((&R"HB"L@J9*K(*J9PHO+(*J3KH!A%A/2JR"KF<*+RR"'
XMKDZZ`7183TJL@K)G"B\L@K).N@%D6$]*K(*V9PHO+(*V3KH!5%A/+'@`!`@ND
XM``0!*6<4+PU+^@`*3J[_XBI?8`9"I_-?3G-*K(*$9C!*K(*09R@P+(*.2,`O(
XM`"\L@I!.N@%$,"R"C%)`2,#E@"\`+RR"B$ZZ`3!/[P`08`Y.N@$>+RR"A$ZZ\
XM`4I83R`M__PN;()N3G4H'TY=3G5.50``2.<.(#@M``@P!,'\``8D0-7L@GI*+
XM1&T*N&R"3FP$2I)F$#E\``*"H'#_3-\$<$Y=3G4(*@`'``1F""\23KH`"EA/K
XM0I)P`&#B(B\`!"QL@G9.[O_<(B\`!"QL@G9.[O^"(B\`!"QL@G9.[O^X+&R"6
XM=D[N_\HL;()V3N[_?"(O``0L;()V3N[_*$SO``8`!"QL@G9.[O_B+&R"=D[N(
XM_\1.^@`"(B\`!"QL@G9.[O^F3.\`#@`$+&R"=D[N_]!(YP$$3.\@@``,+&R"P
XM<DZN_Y1,WR"`3G5.^@`"(F\`!"QL@G).[OYB3.\``P`$+&R"<D[N_SHB;P`$N
XM+&R"<D[N_MHL;()R3N[_?")O``0@+P`(+&R"<D[N_RX@;P`$+&R"<D[N_HPL5
XM;()R(F\`!"`O``A.[OW8(F\`!"QL@G).[OZ&3.\``P`$+&R"<D[N_LX@;P`$G
XM+&R"<D[N_H!,[P,```0L;(*43N[_H"!O``0L;(*43N[_IB!O``0L;(*43N[_O
XMLDCG#``Z+P`..`531"`L@EC0@&(&"H`=ARM!XDQF\BE`@EA*168$2$!@`L#%A
XM0D!(0$S?`#!.=2`O``30@&(&"H`=ARM!3G4```/L`````0````$```.H````L
XM`````_(```/J````ES`Q,C,T-38W.#EA8F-D968````@("`@("`@("`P,#`P[
XM,"`@("`@("`@("`@("`@("`@()!`0$!`0$!`0$!`0$!`0$`,#`P,#`P,#`P,X
XM0$!`0$!`0`D)"0D)"0$!`0$!`0$!`0$!`0$!`0$!`0$!0$!`0$!`"@H*"@H*&
XM`@("`@("`@("`@("`@("`@("`@)`0$!`(``````````````````!``````$`*
XM`````````````````````0$````!``````````````````````$"`````0``'
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM```````````````````````4``````````````````````/R```#ZP````$`X
X#``/RU
X``
Xend
Xsize 5808
END_OF_FILE
if test 8167 -ne `wc -c <'names.uu'`; then
    echo shar: \"'names.uu'\" unpacked with wrong size!
fi
# end of 'names.uu'
fi
echo shar: End of archive 1 \(of 1\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have the archive.
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0
-- 
Mail submissions (sources or binaries) to <amiga@uunet.uu.net>.
Mail comments to the moderator at <amiga-request@uunet.uu.net>.
Post requests for sources, and general discussion to comp.sys.amiga.misc.