1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
export const generative_ascii_pattern = (async () => {
// a - pattern character 1, b - pattern character 2, n = horizontal char,
// m = vertical char, mod - initial modulus, patt_freq - pattern frequency change
const char_feat = ["|", "-", "*", "~", "#", ">", "_"];
const clen = char_feat.length;
const R = () => Math.random();
const F = (x) => Math.floor(x);
let param = {
a: char_feat[F(R() * clen)],
b: char_feat[F(R() * clen)],
n: 100,
m: 20,
mod: 2,
patt_freq: 0.001,
};
let fin = "";
for (let i = 0; i < param.m; i++) {
for (let k = 0; k < param.n; k++) {
fin += k % param.mod == 0 ? param.a : param.b;
if (R() < param.patt_freq) {
param.mod = 1 + F(R() * 10);
}
}
fin += "\n";
}
fin += "\n\ngenerative.substack.com";
return fin;
})();