-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmap-generator.js
More file actions
98 lines (94 loc) · 1.98 KB
/
map-generator.js
File metadata and controls
98 lines (94 loc) · 1.98 KB
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
function ReplacementGenerator() {
let replacementChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01236456789".split('');
let currIs = [0];
this.next = () => {
const r = currIs.map((x) => replacementChars[x]).reverse().join('');
for (let i = 0; i < currIs.length; i++) {
currIs[i] ++;
if (currIs[i] >= replacementChars.length) {
currIs[i] = 0;
if (i === currIs.length - 1) {
currIs = currIs.map(() => 0);
currIs.push(0);
break;
} else {
currIs[i + 1] ++;
}
} else {
break;
}
}
return r;
};
}
const mapped = [
'function',
'var',
'return',
'body',
'appendChild(',
'document.createElement(',
'height',
'width',
'Math.max(',
'Math.min(',
'Math.',
'this.',
'.className',
'.classList',
'.classList.add',
'.classList.contains',
'.classList.remove',
'for',
'while',
'.forEach',
'.map',
'.filter',
'color',
'background',
'background-color',
'game-content',
'new',
'.onclick',
'window.onload',
'.get',
'setTimeout(',
'setInterval(',
'clearTimeout',
'clearInterval(',
'else',
'.getBoundingClientRect(',
'display',
'===',
'length',
'padding',
'margin',
'border',
'<meta content="width=device-width,initial-scale=1"name=viewport>',
'<!DOCTYPE html>',
'<meta',
'content',
'name',
'font-size',
'font-weight',
'text',
'transparent',
'top',
'left',
'right',
'bottom',
'direction',
'speed',
'then',
'await',
'async',
'center',
'position',
'<script'
].sort((a, b) => (b.length - a.length));
const map = {};
const gen = new ReplacementGenerator();
for (let item of mapped) {
map[gen.next()] = item;
}
console.log(map);