You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

108 lines
4.6 KiB
JavaScript

var nm1 = ["", "", "", "b", "br", "d", "f", "g", "gh", "gr", "h", "j", "k", "l", "m", "n", "r", "t", "th", "tr", "x"];
var nm2 = ["ei", "a", "a", "e", "e", "i", "o", "o", "u", "a", "a", "e", "e", "i", "o", "o", "u", "a", "a", "e", "e", "i", "o", "o", "u", "a", "a", "e", "e", "i", "o", "o", "u", "a", "a", "e", "e", "i", "o", "o", "u"];
var nm3 = ["b", "br", "d", "g", "gr", "lb", "lbr", "ld", "ldr", "lg", "lgr", "m", "mb", "mbr", "mr", "nd", "ndr", "ngr", "r", "rb", "rc", "rd", "rg", "rgr", "rs", "rt", "rw", "sb", "sd", "sdr"];
var nm4 = ["a", "e", "o", "u"];
var nm5 = ["b", "d", "g", "l", "m", "n", "r"];
var nm6 = ["a", "a", "e", "i", "i", "o", "o", "u"];
var nm7 = ["", "", "k", "l", "lf", "lm", "m", "mm", "n", "r", "s", "sh", "x"];
var nm8 = ["", "", "", "b", "br", "d", "g", "gr", "h", "j", "n", "r", "s", "t", "th", "x"];
var nm9 = ["a", "e", "i", "o", "u"];
var nm10 = ["b", "br", "d", "g", "gh", "gl", "gr", "ld", "lg", "lgr", "m", "mb", "mbr", "nbr", "nd", "ndl", "ndr", "ng", "ngr", "r", "rb", "rd", "rg", "rgl", "rm", "rn", "rs", "rsh", "rtr", "rx", "s", "sh", "shk", "t", "tr"];
var nm11 = ["au", "a", "a", "e", "e", "i", "o", "o", "u", "a", "a", "e", "e", "i", "o", "o", "u", "a", "a", "e", "e", "i", "o", "o", "u", "a", "a", "e", "e", "i", "o", "o", "u", "a", "a", "e", "e", "i", "o", "o", "u", "a", "a", "e", "e", "i", "o", "o", "u"];
var nm12 = ["k", "l", "ll", "ln", "m", "r", "sh", "x"];
var nm13 = ["a", "a", "a", "a", "e", "e", "i"];
var br = "";
function nameGen(type) {
var tp = type;
var element = document.createElement("div");
element.setAttribute("id", "result");
for (i = 0; i < 10; i++) {
if (tp === 1) {
nameFem();
while (nMs === "") {
nameFem();
}
names = nMs.charAt(0).toUpperCase() + nMs.slice(1);
nameFem();
while (nMs === "") {
nameFem();
}
names = names + " daughter of " + nMs.charAt(0).toUpperCase() + nMs.slice(1);
} else {
nameMas();
while (nMs === "") {
nameMas();
}
names = nMs.charAt(0).toUpperCase() + nMs.slice(1);
nameMas();
while (nMs === "") {
nameMas();
}
names = names + " son of " + nMs.charAt(0).toUpperCase() + nMs.slice(1);
}
br = document.createElement('br');
element.appendChild(document.createTextNode(names));
element.appendChild(br);
}
if (document.getElementById("result")) {
document.getElementById("placeholder").removeChild(document.getElementById("result"));
}
document.getElementById("placeholder").appendChild(element);
}
function nameFem() {
nTp = Math.random() * 3 | 0;
rnd = Math.random() * nm8.length | 0;
rnd2 = Math.random() * nm9.length | 0;
rnd3 = Math.random() * nm10.length | 0;
rnd4 = Math.random() * nm13.length | 0;
if (nTp < 2) {
while (nm10[rnd3] === nm8[rnd]) {
rnd3 = Math.random() * nm10.length | 0;
}
nMs = nm8[rnd] + nm9[rnd2] + nm10[rnd3] + nm13[rnd4];
} else {
rnd5 = Math.random() * nm11.length | 0;
rnd6 = Math.random() * nm12.length | 0;
while (nm12[rnd6] === nm10[rnd3] || nm10[rnd3] === nm8[rnd]) {
rnd3 = Math.random() * nm10.length | 0;
}
nMs = nm8[rnd] + nm9[rnd2] + nm10[rnd3] + nm11[rnd5] + nm12[rnd6] + nm13[rnd4];
}
testSwear(nMs);
}
function nameMas() {
nTp = Math.random() * 5 | 0;
rnd = Math.random() * nm1.length | 0;
rnd2 = Math.random() * nm2.length | 0;
rnd3 = Math.random() * nm7.length | 0;
if (nTp === 0) {
while (nm1[rnd] === "") {
rnd = Math.random() * nm1.length | 0;
}
while (nm1[rnd] === nm7[rnd3] || nm7[rnd3] === "") {
rnd3 = Math.random() * nm7.length | 0;
}
nMs = nm1[rnd] + nm2[rnd2] + nm7[rnd3];
} else {
rnd4 = Math.random() * nm3.length | 0;
rnd5 = Math.random() * nm4.length | 0;
if (nTp < 4) {
while (nm3[rnd4] === nm1[rnd] || nm3[rnd4] === nm7[rnd3]) {
rnd4 = Math.random() * nm3.length | 0;
}
nMs = nm1[rnd] + nm2[rnd2] + nm3[rnd4] + nm4[rnd5] + nm7[rnd3];
} else {
rnd6 = Math.random() * nm5.length | 0;
rnd7 = Math.random() * nm6.length | 0;
while (nm3[rnd4] === nm5[rnd6] || nm5[rnd6] === nm7[rnd3]) {
rnd6 = Math.random() * nm5.length | 0;
}
nMs = nm1[rnd] + nm2[rnd2] + nm3[rnd4] + nm4[rnd5] + nm5[rnd6] + nm6[rnd7] + nm7[rnd3];
}
}
testSwear(nMs);
}