Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <cfscript>
- // Gender: only two in Ray's world
- function gender(){
- var g = "m,f";
- return ListToArray(g,",");
- }
- // First Names
- function firstnames(g){
- var m = "John,Paul,George,Ringo,Don,Preston,Larry,Moe,Curly,Gene,Hub,Buzz,Dave,Harlan,Jack,Bill,Tommy,Jerry,Mack,Rick,Steve,Wayne,Bo";
- var f = "Sharon,Debra,Florence,Patty,Selma,Jennifer,Martha,Janice,Emma,Clarice,Jan,Linda,Brailen,Melissa,Becky,Amy,Lou-Lou,Janey";
- if(g == "m"){
- return listtoarray(m,",");
- }else{
- return listtoarray(f,",");
- }
- }
- // Surnames
- function surnames(){
- var n = "Miller,King,Nutter,Camp,Russell,Powers,Pennington,Mellert,Smith,Jones,Muntz,Simpson,Swanson,Toothman,Killington,Quagmire";
- return ListToArray(n,",");
- }
- // Let's make some people!
- function person(i,g,f,t){
- var p = StructNew();
- p.origin = arguments.i;
- if(isdefined("arguments.g") && arguments.g != ""){
- p.gender = arguments.g;
- }else{
- p.gender = gender()[randrange(1,2)];
- }
- p.firstname = firstnames(p.gender)[randrange(1,arraylen(firstnames(p.gender)))];
- if(isdefined("arguments.f") && arguments.f != ""){
- p.lastname = arguments.f;
- }else{
- p.lastname = surnames()[randrange(1,arraylen(surnames()))];
- }
- variables.i++;
- if(isdefined("arguments.t") && arguments.t == "Spouse"){
- writeoutput("<li class='spouse'>Married: #p.firstname# #p.lastname# - #p.gender#</li>");
- }else{
- writeoutput("<li class='person'>#p.firstname# #p.lastname# - #p.gender#</li>");
- }
- return p;
- }
- // Procreation boiled down to script; maybe my wife is right ...
- function procreate(u){
- var k = ArrayNew(1);
- var s = StructNew();
- // "Practical" limit of 19 kids ...
- for(var c=0;c<RandRange(0,19);c++){
- var p = person(u.husband.origin,"",u.husband.lastname,"child");
- ArrayAppend(k,p);
- ArrayAppend(variables.humans,p);
- // Did they get married?
- if(RandRange(0,1) == 1){
- // If they're going to marry, we need a non-related spouse
- s = person(RandRange(ArrayLen(variables.humans)+1,2147483647),IIF(p.gender == "m",DE('f'),DE('m')),"","Spouse");
- // In Ray's world, a marriage is only between a man and a woman ...
- if(p.gender == "m"){
- marriage(p,s);
- }else{
- marriage(s,p);
- }
- }
- }
- return k;
- }
- // This is the act of marriage ... not much to defend, huh?
- function marriage(m,f){
- var u = StructNew();
- u.husband = m;
- u.wife = f;
- u.familyname = m.lastname;
- writeoutput("<li class='marriage'>#u.husband.firstname# #u.husband.lastname# and #u.wife.firstname# #u.wife.lastname# (The #u.husband.lastname#'s)<ul>");
- // Let's get it on ...
- u.zchildren = procreate(u);
- writeoutput("</ul></li>");
- return u;
- }
- </cfscript>
- <style>
- body{
- font-family:Arial;
- }
- .person{
- font-weight:normal;
- color:black;
- }
- .spouse{
- color:lightgrey;
- font-style:italic;
- font-weight:normal;
- }
- .marriage{
- font-weight:bold;
- color:red;
- }
- </style>
- <ul>
- <cfscript>
- //Spawn Humanity
- variables.i=1;
- // Array of Mankind
- variables.humans = ArrayNew(1);
- // Array of Families
- variables.families = ArrayNew(1);
- // And in the beginning ...
- ArrayAppend(variables.humans,person(variables.i,"m"));
- ArrayAppend(variables.humans,person(variables.i,"f"));
- // I now pronounce you husband and wife ...
- ArrayAppend(variables.families,marriage(variables.humans[1],variables.humans[2]));
- </cfscript>
- </ul>
- <cfabort>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement