Skip to content

Instantly share code, notes, and snippets.

@Sobsz
Created December 10, 2020 09:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Sobsz/9d3bdb678da7f1844ba87256dab68848 to your computer and use it in GitHub Desktop.
Save Sobsz/9d3bdb678da7f1844ba87256dab68848 to your computer and use it in GitHub Desktop.
ilo pi nimi sin
<h1>ilo pi nimi sin</h1>
<p id="nimi"></p>
<table><tbody>
<tr>
<td><label for="open">open pi mute mu lon nimi</label></td>
<td><input type="number" id="open" name="open" size="3" min="1" value="2"></td>
</tr><tr>
<td><label for="pini">pini pi mute mu lon nimi</label></td>
<td><input type="number" id="pini" name="pini" size="3" min="1" value="3"></td>
</tr><tr>
<td><label for="mute">mute nimi</label></td>
<td><input type="number" id="mute" name="mute" size="3" min="1" value="10"></td>
</tr><tr>
<td><label for="kenN">ken pi sitelen pini N</label></td>
<td><input type="number" id="kenN" name="kenN" size="3" min="0" max="100" value="20"></td>
</tr>
</tbody></table>
<br>
<button onclick="panaNimi()">o pana sin</button>
/* probably uncopyrightable but cc0/unlicense/bsd0/wtfpl just in case */
let pokiPiKalamaLili = ["j", "k", "l", "m", "n", "p", "s", "t", "w"];
let pokiPiKalamaAwen = ["a", "e", "i", "o", "u"];
let kalamaN = "n";
let pokiPiMuIke = ["ji", "ti", "wo", "wu"];
let pokiMu = [];
for(var i = 0; i < pokiPiKalamaLili.length; i++) {
for(var j = 0; j < pokiPiKalamaAwen.length; j++) {
mu = pokiPiKalamaLili[i] + pokiPiKalamaAwen[j];
if (!(pokiPiMuIke.includes(mu))) {pokiMu.push(mu)};
}
}
let pokiPiMuNanpaWan = pokiMu.concat(pokiPiKalamaAwen);
function panaNimi() {
let open = parseInt(document.getElementById("open").value);
let pini = parseInt(document.getElementById("pini").value);
let mute = parseInt(document.getElementById("mute").value);
let kenN = parseInt(document.getElementById("kenN").value) / 100;
let pokiNimi = [];
for(var i = 0; i < mute; i++) {
let nimi = "";
muteMu = Math.floor(Math.random() * (pini - open + 1) + open);
for(var j = 0; j < muteMu; j++) {
if (j == 0) {
nimi = nimi.concat(pokiPiMuNanpaWan[Math.floor(Math.random() * pokiPiMuNanpaWan.length)]);
} else {
muSin = pokiMu[Math.floor(Math.random() * pokiMu.length)];
if (muSin[0] == kalamaN && nimi[nimi.length - 1] == kalamaN) {
nimi = nimi.concat(muSin.substring(1))
} else {
nimi = nimi.concat(muSin)
}
}
if (Math.random() < kenN) {
nimi = nimi.concat(kalamaN)
}
}
pokiNimi.push(nimi)
}
document.getElementById("nimi").innerHTML = pokiNimi.join("<br>");
}
panaNimi();
body {
background-color: #36393f;
color: #fff;
font-family: Comic Sans MS, sans-serif;
text-align: center;
font-size: 120%;
}
table {
text-align: right;
margin: 0 auto;
}
input, button {
margin: 0 3px;
background-color: #23272a;
color: #fff;
border: 3px #23272a solid;
font-size: inherit;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment